精簡linux


用一塊新硬盤,掛載到宿主計算機上。格式化,按照一般規則分爲boot分區和/分區、交換分區如下圖:

/dev/sdb1 掛載到 /mnt/boot 下面/dev/sdb2 掛載到 /mnt/sysroot 下面。


執行命令grub-install --root-directory=/mnt/  /dev/sdb 創建開機啓動的第二階段,能看到下圖結果說明創建成功:

拷備內核驅動

[root@localhost ~]# cp/boot/vmlinuz-2.6.18-164.el5  /mnt/boot/

[root@localhost ~]# cp/boot/initrd-2.6.18-164.el5.img /mnt/boot/

修改initrd-2.6.18-164.el5.img驅動

initrd-2.6.18-164.el5.img 拷到一個目錄例如qq

展開initrd-2.6.18-164.el5.img 命令如下

[root@localhost qq]# zcatinitrd-2.6.18-164.el5.img |cpio –id

編輯 init文件命令如下

[root@localhost qq]# vim init

89 mkrootdev -t ext3 -o defaults,ro sda2 查看89 是否和自己建的分區一致

[root@localhostqq]# rm  –rf  initrd-2.6.18-164.el5.img   //刪除init 文件

[root@localhost qq]# find . |cpio -o -Hnewc --quiet |gzip -9 >initrd.gz   //輸出文件

[root@localhost qq]#cp initrd.gz /mnt/boot             //拷到boot目錄

[root@localhost sysroot]# mkdir bin bootdev etc home lib misc mnt net opt proc root sbin selinux sev sys tftpboot tmpusr var         //創建目錄

[root@localhost sysroot]# mkdir usr/lib

[root@localhost sysroot]# mkdir etc/rc.d


創建 init進程

用腳本拷貝腳本如下:

#!/bin/bash

while [ true ]; do

read -p "a command " com

comstr=`which $com`

cp -f $comstr /mnt/sysroot$comstr

/usr/bin/ldd $comstr >/root/1.txt

while read line ;do

      if  echo $line | grep /lib &>/dev/null ;then

libstr=`echo $line |awk '{print$((NF-1))}'`

#libstr=${libstr##*/}

#libstr=${libstr%#/*}

/bin/cp -f $libstr /mnt/sysroot$libstr

      fi

done </root/1.txt

done

bash f1.sh 拷貝init進程

創建 inittab

si::sysinit:/etc/rc.d/rc.sysinit

創建 rc.sysinit

echo -e "\033[31M XIEHOU0LINUX\033[0M"

/bin/bash

給可執行權限

[root@localhost rc.d]# chmod a+x rc.sysinit

創建bash  用上面的腳本創建

[root@localhost rc.d]# bash /root/f1.sh

a command bash

a command

添加ls指令

[root@localhost rc.d]# bash /root/f1.sh

a command ls

a command

添加關機指令

編寫關機文件

[root@localhost etc]# cat ./rc.d/rc.sysdown

#!bin/bash

exec /sbin/halt –p

添加 halt指令

[root@localhost etc]# bash /root/f1.sh

a command halt

a command

添加主機名:

編輯rc.sysinit文件如下

#!bin/bash

echo -e "\033[31M XIEHOU0LINUX\033[0M"

#set hostname

if [ -f /etc/sysconfig/network ];then

./etc/sysconfig/network

fi

if [ -z $HOSTNAME  ];then

/bin/hostname localhost

else

/bin/hostname $HOSTNAME

fi


/bin/bash

創建目錄

[root@localhost etc]# mkdir sysconfig

在目錄裏創建文件

[root@localhost sysconfig]# cat network


NETWORKING=yes

HOSTNAME=xiehou0.a.com

添加 hostname  指令

[root@localhost etc]# bash /root/f1.sh

a command hostname

a command

添加 cat指令

[root@localhost etc]# bash /root/f1.sh

a command cat

a command


圖像處理工具製作個性開機背景

gimp

圖片大小  w640  h 480  14 xpm格式

gzip壓縮  gzip 1.xpm

splashimage=(hd0,0)/grub/splash.xpm.gz               //etc/grub.conf中關於背景圖片的信息


添加網絡功能

lsmod //查看模塊信息

dmesg |grep eth0

modinfo  //查看模塊信息


rmmod               //卸載模塊

modprobe pcnet32  //加載模塊

insmod //需要詳細路徑加載模塊


mkdir -pv /mnt/sysroot/lib/modules //創建目錄

cp/lib/modules/2.6.18-164.el5/kernel/drivers/net/mii.ko /mnt/sysroot/lib/modules/


lib/modules/2.6.18-164.el5/kernel/drivers/net/pcnet32.ko

網絡部分

拷貝指令

[root@localhost sysroot]# bash /root/f1.sh

a command ping

a command insmod

a command sysctl

a command ifconfig

a command


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章