(1)编译linux系统内核
由于是做在dom上(32M),所以可以直接使用系统当中的内核(1.2M)。
/boot/bzLinuz
如果重新编译,过程如下:
进入/usr/src/linux...目录
# cd /usr/src/linux...
运行配置程序:
#make xconfig
按照需要进行各项的配置,详细情况请查阅相关资料。
检查各模块的相关性
#make dep
清除不必要的文件
#make clean
编译内核
#make bzImage
编译好的内核放在/usr/src/linux...下.
(2)编译busybox文件系统
将下载的busybox包解压缩放到指定目录,例如:/home/busybox。
#cd /home/busybox
运行配置程序:
#make menuconfig
按照需要进行各项的配置,详细情况请查阅busybox的文档说明。
其中Build BusyBox as a static binary (no shared libs) 一项一定要选择。
编译busybox:
#make
安装
#make install
编译好后在busybox目录下生成子目录_install,里面就是所有编译成功的命令。
(3)制作DOM盘嵌入系统
#mount /dev/hda1 /mnt
#cd /mnt
#mkdir boot root lib bin sbin usr tmp var home dev proc
将内核bzImage拷贝到DOM:
#cp /usr/src/.../bzImage /mnt/boot
将lilo引导文件boot.b 拷贝到DOM
#cp /boot/boot.b /mnt/boot
新建一个mylilo.conf 配置文件:
#vi mylilo.conf
内容如下:
prompt
timeout=50
default=linux
boot=/dev/hda
map=/mnt/boot/map
install=/mnt/boot/boot.b
image=/mnt/boot/bzImage
label=linux
read-only
root=/dev/hda
装lilo引导程序:
#lilo -C mylilo.conf
制作文件系统:
#cp -dpR /dev/console /mnt/dev
#cp -dpR /dev/null /mnt/dev
#cp -dpR /dev/zero /mnt/dev
#cp -dpR /dev/initrd /mnt/dev
#cp -dpR /dev/tty* /mnt/dev
#cp -dpR /dev/ram* /mnt/dev
#cp -dpR /etc/rc* /mnt/etc
#cp -dpR /etc/rc.d/* /mnt/etc/rc.d
#cp -dpR /etc/fstab /mnt/etc
#cp -dpR /etc/inittab /mnt/etc
拷贝必要的核心库:
#cp /lib/ld-linux.so /mnt/lib
#cp /lib/libc* /mnt/lib
#cp /lib/libp* /mnt/lib
#cp /lib/i686/* /mnt/lib/i686
#cp /lib/moduels/* /mnt/lib/moduels
根据实际需要做必要的删减或增加。
修改etc目录下的配置文件
inittab 内容如下:
::sysinit:/etc/rc
::askfirst:/bin/sh
::restart:/bin/init
::ctrlaltdel:/bin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/bin/swapoff -a
fstab 内容如下:
/dev/hda1 / ext3 defaults 0 0
none /proc proc defaults 0 0
rc的内容:
#! /bin/sh
mount -o remount,rw /
/bin/mount -a
hostname lli
制作完成,卸掉DOM:
#umount /mnt
#reboot
过程大致如此,根据您的选择,可能稍有不同。OK!祝您好运。
更多内容: