2、如果你的busybox编译得没什么问题不需要再调整接下来的工作你可以在_install目录里面做,否则我觉得最好还是挂载好你将要使用的设备,将_install下的所有文件和目录复制到设备上去。mkdir -p boot/grub root dev etc/init.d lib proc tmp var/lib/misc var/lock var/log var/tmp usr/bin usr/lib && chmod 1777 tmp var/tmp。
3、裁减kernel,通常裁减主要用于一个特定的应用,设备都是指定的,可以针对相应的硬件配置只选择自己需要的驱动,裁减的linux应用通常也比较单一,因此很多功能都可以不选择。复制kernel文件vmlinuz到boot目录,如果用grub的话可将grub的stage1和stage2两个文件复制boot/grub中,编辑好grub.conf安装grub即可。
4、要复制的/dev下的一些设备文件:console、core、fd0、null、ptmx、pts、ram*、random、stderr、stdin、stdout、rd、fd、tty、tty0~tty9、urandom、vcs、zero、hda*(如果用的是ide接口硬盘)、pty*,如果要使用X还要复制agppart、misc、log、mem、input。复制方法用cp -avp /dev/xxx
5、复制母系统的/etc/group、passwd、shadow到etc目录,删除掉不需要的组和用户即可。
6、配置/etc/fstab,至少有类似以下这样的项:
/dev/hda11 / reiserfs defaults 0 0
proc /proc proc defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
7、配置/etc/inittab:
::sysinit:/etc/init.d/rcS
::respawn:/sbin/getty 38400 tty1
tty2::respawn:/sbin/getty 38400 tty2
tty3::respawn:/sbin/getty 38400 tty3
tty4::respawn:/sbin/getty 38400 tty4
::restart:/sbin/init
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a
8、编辑/etc/issue,如Welcome to MyLinux release 0.1 on \l
9、编辑/etc/init.d/rcS:
#!/bin/sh
/bin/mount -a
/bin/mount -o remount,rw /
echo
echo
echo
echo -en "\t\t\tWelcome to \\033[0;32mMyLinux\\033[0;39m release 0.1\n"
hostname MyLinux
ifconfig lo up
ifconfig eth0 192.168.4.240 netmask 255.255.255.0 up
route add default gw 192.168.4.1
syslogd
10、复制必要的库文件,当然在这儿busybox也可以静态编译链接,但你的应用应该也要用到库文件的,都静态编译链接还是挺浪费空间的,所以我一般并不使用静态编译链接。现在复制必要的库文件到lib目录,可以使用ldd查看某个elf文件需要使用哪些共享库。
基本上就这些步骤,X的配置也很简单,推荐使用gentoo,用gentoo裁减linux非常方便,可以简单地用quickpkg打包你想要的,然后解压到目标设备上,然后删掉不需要的东西即可。现在可以启动一下试试了。。。
没有评论:
发表评论