一个自编内核的LINUX
立rootfs: # mkdir -pv proc sys etc/init.d tmp dev boot var/log lib 2、创建两个必要的设备文件: # mknod dev/console c 5 1 # mknod dev/null c 1 3 3、建立系统初始化脚本文件 # vim etc/init.d/rcS 添加如下内容: #!/bin/sh echo -e " Welcome to \033[31mToyLinux\033[0m\n " echo -e "Mounting the filesystem .................[ \033[32mOK\033[0m ]" mount -t proc proc /proc mount -t sysfs sysfs /sys echo -e "Creating the files of device ............[ \033[32mOK\033[0m ]" mdev -s echo -e "Mounting the filesystem .................[ \033[32mOK\033[0m ]" mount -a echo -e "Remounting the root filesystem ..........[ \033[32mOK\033[0m ]" mount -o remount,rw / echo -e "Starting the log daemon .................[ \033[32mOK\033[0m ]" syslogd klogd echo -e "Configuring loopback interface ..........[ \033[32mOK\033[0m ]" ifconfig lo 127.0.0.1/24 # END 而后让此脚本具有执行权限: chmod x etc/init.d/rcS 4、配置init及其所需要inittab文件 # cd /mnt/sysroot # mv linuxrc init # vim etc/inittab 添加如下内容: ::sysinit:/etc/init.d/rcS console::respawn:-/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r 5、为系统准备一个“文件系统表”配置文件/etc/fstab # vim etc/fstab 添加如下内容: /dev/hda2 / ext3 defaults 1 1 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/hda1 /boot ext3 defaults 0 0 6、在rcS文件中启动了日志进程,因此系统在运行中会产生大量日志并将其显示于控制台;这将会经常性的打断正在进行的工作,为了避免这种情况,我们这里为日志进程建立配置文件,为其指定将日志发送至/var/log/messages文件; 拥有帝国一切,皆有可能。欢迎访问phome.net # vim etc/syslog.conf 添加如下一行: *.info /var/log/messages 六、好了,至此一个简易的基于内存运行的小系统已经构建出来了,我们接下来为此系统创建所需的引导程序 # grub-install --root-directory=/mnt /dev/hda 说明:此处的/dev/hda为目标系统所在的那块新磁盘; 接下来为grub建立配置文件: # vim /mnt/boot/grub/grub.conf 添加类似如下内容: default 0 timeout 3 color light-green/black light-magenta/black title ToyLinux (2.6.34.1) root (hd0,0) kernel /bzImage ro root=/dev/hda2 quiet initrd /initrd.gz 接下来将此块硬盘接入一个新的主机(这里使用的是虚拟机),启动一下并测试使用. 七、为新构建的ToyLinux启用虚拟控制台 这个可以通过宿主机来实现,也可以直接启动刚构建成功的小Linux进行配置.我们这里采用通过宿主机的方式(重新启动宿主机): # cd /mnt/sysroot 将 etc/inittab文件改为如下内容: ::sysinit:/etc/init.d/rcS tty1::askfirst:/bin/sh tty2::askfirst:/bin/sh tty3::askfirst:/bin/sh tty4::askfirst:/bin/sh tty5::askfirst:/bin/sh tty6::askfirst:/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a -r 好了,接下来就可以测试验正六个虚拟控制台的使用了. 八、尽管上述第七步已经实现了虚拟控制台,但其仍是直接进入系统,且系统没有用户帐号等安全设施,这将不利于系统的安全性.因此,接下来的这步实现为系统添加用户帐号(这里仍然基于宿主机实现). 1、为目标主机建立passwd帐号文件 # cd /mnt/sysroot # vim etc/passwd 添加如下内容: roo |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |