#!/bin/bash set -e set -x VER=$(uname -r) NAME=$(basename $0) rm -fr root mkdir root cp -a $0 root/ cd root mkdir -p dev bin etc/udhcpc etc/init.d lib/modules mknod dev/console c 5 1 mknod dev/tty2 c 4 2 mknod dev/tty3 c 4 3 mknod dev/tty4 c 4 4 wget http://www.busybox.net/downloads/binaries/latest/busybox-i686 -O bin/busybox chmod +x bin/busybox ln -s bin/busybox init ln -s busybox bin/sh wget -q http://git.busybox.net/busybox/plain/examples/udhcp/simple.script -O etc/udhcpc/default.script chmod +x etc/udhcpc/default.script cat > etc/init.d/rcS << EOF #!/bin/sh /bin/busybox mkdir -p root dev bin sbin usr/bin usr/sbin proc sys dev/pts /bin/busybox --install -s mount -t proc proc /proc mount -t sysfs sysfs /sys mount -t devpts devpts /dev/pts mdev -s echo /sbin/mdev >/proc/sys/kernel/hotplug find /sys -name 'modalias' -type f -exec sort -u {} \; | sort | uniq | grep -v ^acpi | xargs -n 1 /sbin/modprobe echo root::0:0:root:/root:/bin/sh > /etc/passwd ifconfig lo up ifconfig eth0 up udhcpc -i eth0 -R -b -s /etc/udhcpc/default.script hostname ${NAME} EOF chmod +x etc/init.d/rcS cat > etc/inittab << EOF ::sysinit:/etc/init.d/rcS #::askfirst:/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/sbin/swapoff -a ::shutdown:/bin/umount -a -r ::restart:/sbin/init ::respawn:/usr/sbin/telnetd -F tty1::respawn:/sbin/getty 115200 tty1 tty2::respawn:/sbin/getty 115200 tty2 tty3::respawn:/sbin/getty 115200 tty3 tty4::respawn:/sbin/getty 115200 tty4 EOF cp -a /lib/modules/${VER} lib/modules/ find . | cpio -o -H newc | gzip > ../initrd.cpio.gz