之前第一篇文章中,我们使用linux内核,驱动文件,init文件,grub相关文件创建了专属于自己的一个精简的linux系统,但是创建一个系统,是来供我们使用的,所以我们就需要向里面添加一些功能来方便我们使用。每当我们需要一些什么功能我们就向里面添加,日积月累,只属于自己的linux操作系统就会诞生了。。。。。现在就开始!!
1.首先我们向里面添加关机 和 重启的功能
关于重启和关机的内容在/etc/rc.d/rc0.d/S01halt 文件中有所记录我们开始查看一下。
222 exec$command $HALTARGS ///在其文件的最后一行,说明了他要执行这两个变量。
这样我们就可以类比添加ls等命令的方法来添加 init 0 , init 6 的命令。
编辑两个执行脚本,在需要执行init 0 6的时候,通过这两个脚本来执行关机 重启。
[root@localhost ~]# vim syshalt
#!/bin/bash
exec /sbin/halt -p
[root@localhost ~]# vim sysreboot
#!/bin/bash
exec /sbin/reboot -f
[root@localhost ~]# cp /sbin/halt /mnt/root/sbin/
[root@localhost ~]# cp /sbin/reboot /mnt/root/sbin/
[root@localhost etc]# cp /root/sys* /mnt/root/etc/rc.d/
[root@localhost etc]# sync
测试:成功
添加自己的主机名称:hostname 指令
[root@localhost ~]# cp /bin/hostname /mnt/root/bin/
查看/etc/rc.d/sysinit里面关于hostname 的说明。
14 if [ -f/etc/sysconfig/network ]; then
15 . /etc/sysconfig/network
16 fi
17 if [ -z"$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
18 HOSTNAME=localhost
19 fi
将这段内容写入到我们精简的linux中的/etc/rc.d/rc.sysinit中
然后在自制linux中创建 /etc/sysconfig目录,将原系统的/etc/sysconfig/network文件拷贝过来
最后在自制的linux.rc.sysinit 中添加,执行hostname的命令
#!/bin/bash
if [ -f /etc/sysconfig/network ]; then
./etc/sysconfig/network
fi
if [ -z "$HOSTNAME" -o"$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
fi
/bin/hostname $HOSTNAME
/bin/bash
测试:成功
添加网络功能,模块的添加,想要配置ip,查看ip。
想要实现网络功能,单单的指令就有点无能为力了,这就牵扯到模块的添加,与网络功能相关的模块有pcnet32.ko mii.ko。
同时与模块相关的命令也要添加idconfig【查看系统ip设置】ping【测试网络功能】
首先 复制模块到我们的小的linux系统中
[root@localhost ~]# cp/lib/modules/2.6.18-164.el5/kernel/drivers/net/pcnet32.ko/mnt/root/lib/modules/
[root@localhost ~]# cp/lib/modules/2.6.18-164.el5/kernel/drivers/net/mii.ko /mnt/root/lib/modules/
然后我们将模块的加载放在系统的初始化阶段,那就需要编辑rc.sysinit文件,将他们写入。
/sbin/insmod /lib/modules/mii.ko
/sbin/insmod /lib/modules/pcnet32.ko
/sbin/ifconfig eth0 192.168.1.44/24 //设置一个静态的ip
/sbin/ifconfig lo 127.0.0.1/8 //设置一个本地回环地址
然后添加相应的文件,以及链接库文件
/sbin/ifconfig /sbin/insmod 都复制到精简的linux的sbin目录下
测试:
给启动的grub菜单添加一个背景图片
由于开机时的grub菜单背景图片要求的色深和大小有要求,色深要小,大小要是640*480,所以需要一个图片处理工具,gimp ,使用yum安装!!
然后图形界面内,启动gimp工具
1.将要的图片传入 linux系统
1.用gimp打开这个图片
2.调他的大小为640*480
3.更改他的色深为14
4.保存为xpm格式,注意这里必须是这种格式
5.引用,将处理好的图片放到引导分区,并修改、/boot/grub/grub.conf文件
[root@localhost ~]# mv psbe_\(5\).xpm/mnt/boot/grub/
测试:重启计算机