当前位置 : 主页 > 操作系统 > centos >

运用内核创建一个小的linux【贰】

来源:互联网 收集:自由互联 发布时间:2022-06-20
之前第一篇文章中,我们使用linux内核,驱动文件,init文件,grub相关文件创建了专属于自己的一个精简的linux系统,但是创建一个系统,是来供我们使用的,所以我们就需要向里面添加

       之前第一篇文章中,我们使用linux内核,驱动文件,init文件,grub相关文件创建了专属于自己的一个精简的linux系统,但是创建一个系统,是来供我们使用的,所以我们就需要向里面添加一些功能来方便我们使用。每当我们需要一些什么功能我们就向里面添加,日积月累,只属于自己的linux操作系统就会诞生了。。。。。现在就开始!!


1.首先我们向里面添加关机  和  重启的功能

关于重启关机的内容/etc/rc.d/rc0.d/S01halt 文件中有所记录我们开始查看一下。

222 exec$command $HALTARGS   ///在其文件的最后一行,说明了他要执行这两个变量。

运用内核创建一个小的linux【贰】_启动流程

这样我们就可以类比添加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

测试:成功运用内核创建一个小的linux【贰】_linux_02


添加自己的主机名称: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

测试:成功

运用内核创建一个小的linux【贰】_linux_03


添加网络功能,模块的添加,想要配置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 都复制到精简的linuxsbin目录下


测试:

运用内核创建一个小的linux【贰】_启动流程_04

运用内核创建一个小的linux【贰】_启动流程_05


给启动的grub菜单添加一个背景图片

运用内核创建一个小的linux【贰】_自制linux_06

由于开机时的grub菜单背景图片要求的色深和大小有要求,色深要小,大小要是640*480,所以需要一个图片处理工具,gimp ,使用yum安装!!

然后图形界面内,启动gimp工具

1.将要的图片传入 linux系统

运用内核创建一个小的linux【贰】_自制linux_07

1.gimp打开这个图片

2.调他的大小640*480

运用内核创建一个小的linux【贰】_启动流程_08

   3.更改他的色深为14

运用内核创建一个小的linux【贰】_linux_09

   4.保存为xpm格式,注意这里必须是这种格式

运用内核创建一个小的linux【贰】_自制linux_10


5.引用,将处理好的图片放到引导分区,并修改、/boot/grub/grub.conf文件

[root@localhost ~]# mv psbe_\(5\).xpm/mnt/boot/grub/

运用内核创建一个小的linux【贰】_自制linux_06


测试:重启计算机

运用内核创建一个小的linux【贰】_linux_12

   






上一篇:使用BackTrack来增强电脑的安全
下一篇:没有了
网友评论