我的主要目的是為了debug linux kernel. 完全裝一個UBUNTU或其它系統不值。於是就想自己編譯一個最小系統。
下載busybox後,做一些基本配置後,就可以make install. 預設產生的_install目錄在busybox的根目錄下,接下來的動作我已寫生指令碼,參考如下:
#!/bin/bash#create directory for linux kernel treeDIR="proc sys etc dev"for directory in "$DIR"do if [ ! -d "$directory" ] then mkdir $directory fidone#create control char devicecd devmknod console c 5 1 mknod null c 1 3cd ..cd etc#create fstab fileif [ ! -e "fstab" ]then touch fstab echo "#device mount-point type options dump fsck">fstab echo "proc /proc proc defaults 0 0">>fstab echo "sysfs /sys sysfs defaults 0 0">>fstabfi#create init scriptmkdir init.dif [ ! -e "init.d/rcS" ]then touch init.d/rcS echo "#!/bin/sh">init.d/rcS echo "mount -a">>init.d/rcSfichmod +x init.d/rcS#create inittabif [ ! -e "inittab" ]then touch inittab echo "#/etc/inittab">inittab echo "::sysinit:/etc/init.d/rcS">>inittab echo "console::respawn:-/bin/sh">>inittab echo "::ctrlaltdel:/sbin/reboot">>inittab echo "::shutdown:/bin/unmount -a -r">>inittabfi#check if we are in _install directorycd ..if [ -e "linuxrc" ]then rm linuxrcfiln -sv bin/busybox initfind . | cpio --quiet -H newc -o | gzip -9 -n > ./initrd.gz
接下來的工作就是要虛擬機器中進行類比測試了,太晚上,已經淩晨1:00了,明天再補充。