高手进阶 学会做嵌入式Linux操作系统# /sbin/mke2fs -F -v -m0 images/initrd.img
新建一个临时文件夹做mount之用: # mkdir tmp/initrd 把建好的文件系统mount上来: #mount -o loop images/initrd.img tmp/initrd 把根文件系统拷贝过来: #cp -av rootfs/* tmp/initrd # umount tmp/initrd
压缩: # gzip -9
这样,就得到了images/initrd.bin
把目标盘mount上来:
#mount -t ext2 /dev/hda1 /mnt/cf
新建一个/boot
#mkdir /mnt/cf/boot
把刚才建立的ramdisk镜像拷过来。然后把内核文件bzImage-2.4.27-rmk5也拷进去。
这样,boot文件夹里边有两个文件
initrd.bin
bzImage-2.4.27-rmk5
这个时候还不能安装lilo,因为lilo的配置文件中有/dev/hda……这样的东东,而目标盘上还没有……所以,临时建一个:
#mkdir /mnt/cf/dev
#cp -rf ${PRJROOT}/rootfs/dev/hda* /mnt/cf/dev
修改${PRJROOT}/rootfs/etc/target.lilo.conf,我的配置文件如下:
boot=/dev/hda
disk=/dev/hda
bios=0x80
image=/boot/bzImage-2.4.27-rmk5
initrd=/boot/initrd.bin
root=/dev/hda1
append="root=/dev/hda1"
# label=MyLinux
read-only
相比以前的,只是加了一句:initrd=/boot/initrd.bin,另外把label去掉了,因为否则lilo会报怨说语法错误。
好了,可以安装lilo了。以前我们的语句是:
lilo -r /mnt/cf -C etc/target.lilo.conf
现在我们的目标盘上没有etc这个目录了,更不用说target.lilo.conf,可以借助于工程目录中的了原文件,当然,我在目标硬盘上新建了/dev,然后把target.lilo.conf拷过去,还是用这句命令安装lilo。
这样,整个系统就完成了。
(责任编辑:凌云通)
更多相关文章
|
推荐文章
精彩文章
|