高手进阶 学会做嵌入式Linux操作系统#cd ${PRJROOT}/rootfs/etc #vi inittab 我的inittal文件如下: #指定初始化文件 ::sysinit:/etc/init.d/rcS #打开一个串口,波特率为9600 ::respawn:/sbin/getty 9600 ttyS0 #启动时执行的shell ::respawn:/bin/sh #重启时动作 ::restart:/sbin/init #关机时动作,卸载所有文件系统 ::shutdown:/bin/umount -a –r
保存退出;
再来编写rcS脚本: #mkdir ${PRJROOT}/rootfs/etc/init.d #cd ${PRJROOT}/rootfs/etc/init.d #vi rcS 我的脚本如下: #!/bin/sh
#Set Path PATH=/sbin:/bin export PATH
syslogd -m 60 klogd
#install /proc mount -n -t proc none /proc
#reinstall root file system by read/write mode(need: /etc/fstab) mount -n -o remount,rw /
#reinstall /proc mount -n -o remount,rw -t proc none /proc
#set lo ip address ifconfig lo 127.0.0.1
#set eth0 ip address #当然,这样子做只是权宜之计,最后做的应该是在这一步引导网络启动脚本,像RedHat #那样,自动读取所有指定的配置文件来启动 ifconfig eth0 192.168.0.68 netmask 255.255.255.0
#set route #同样的,最终这里应该是运行启动路由的脚本,读取路由配置文件 route add default gw 192.168.0.1
#还差一个运行服务程序的脚本,哪位有现成的么? #网卡/路由/服务这三步,事实上可以合在一步,在rcS这一步中,做一个循环,运行指定启动目录下的所有脚,先将就着这么做吧,确保系统能够正常启动了,再来写这个脚本。
#set hostname hostname MyLinux
保存退出。
编写fstab文件 #vi fstab 我的fstab很简单: /dev/hda1 / ext2 defaults 1 1 none /proc proc defaults 0 0
第五章 让MyLinux能够启动 前一章,我们把编译好的内核、应用程序、配置文件都拷贝至rootfs目录对应的子目录中去了,这一步,就是把这些文件移植至目标机的存储器。这里,我是先另外拿一块硬盘,挂在我的开发机上做的测试,因为我的本本用来写文档,PC机用来做开发机,已经没有另外的机器了……但是本章只是讲述一个一般性的过程,并不影响你直接在目标主机上的工作。 因为以后目标机识别硬盘序号都是hda,而我现在直接挂上去,则会是hdb、hdc……这样,安装lilo时有点麻烦(虽然也可以实现)。所以我想了另一个办法: 把新硬盘挂在IDE0的primary上,进入linux后,会被认为是had; 原来主机的装Redhat的硬盘,我将它从IDE0的primary上变到了IDE1 的primary,因为它的lilo早已装好,基本上不影响系统的使用;
分区和格式化 BIOS中改为从第二个硬盘启动;也就是从我原来开发机启动,新的硬盘被识别成了had。 #fdisk /dev/hda 用d参数删除已存在的所有分区 用n参数新建一个分区,也是就/dev/hda1 格式化 #mkfs.ext2 /dev/hda1
安装bootloader 因为我是X86平台,所以直接用了lilo,如果你是其这平台,当然,有许多优秀的bootloader供你选择,你只需查看其相应的说明就可以了。 编译lilo配置文件,我的配置文件名为target.lilo.conf,置于${PRJROOT}/rootfs/etc目录。内容如下所示: boot=/dev/hda disk=/dev/hda bios=0x80 image=/boot/bzImage-2.4.18-rmk5 label=Linux root=/dev/hda1 append="root=/dev/hda1" read-only
//新建文件夹,为mount做新准备
上一篇:修正Linux下丑陋的FireFox表单控件问题 下一篇:实用技巧两则 主机名修改与Cat命令退出 更多相关文章
|
推荐文章
精彩文章
|