From 1d8ccb8276d860a7470943b063533503da72a2a6 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 17 Jul 2007 23:39:10 +0000 Subject: initramfs-nfsboot: Add parsing of kernel commandline params, bump version to 0.2 * Untested. --- packages/initrdscripts/files/nfsboot.sh | 44 +++++++++++++++++++++++-- packages/initrdscripts/initramfs-nfsboot_0.1.bb | 8 ----- packages/initrdscripts/initramfs-nfsboot_0.2.bb | 8 +++++ 3 files changed, 50 insertions(+), 10 deletions(-) delete mode 100644 packages/initrdscripts/initramfs-nfsboot_0.1.bb create mode 100644 packages/initrdscripts/initramfs-nfsboot_0.2.bb (limited to 'packages') diff --git a/packages/initrdscripts/files/nfsboot.sh b/packages/initrdscripts/files/nfsboot.sh index bb689fa3b8..b536c4042b 100644 --- a/packages/initrdscripts/files/nfsboot.sh +++ b/packages/initrdscripts/files/nfsboot.sh @@ -3,8 +3,48 @@ echo "Starting initramfs boot..." mkdir /proc mount -t proc proc /proc -ifconfig eth0 192.168.20.230 + +for arg in `cat /proc/cmdline`; do + echo $arg + optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'` + echo $optarg + case $arg in + root=*) + root=$optarg ;; + nfsroot=*) + nfsroot=$optarg ;; + ip=*) + ip=$optarg ;; + esac +done + +echo $ip | (IFS=: read client_ip server_ip gw_ip netmask hostname device autoconf; \ +echo client_ip=$client_ip; +echo server_ip=$server_ip; +echo gw_ip=$gw_ip; +echo netmask=$netmask; +echo hostname=$hostname; +echo device=$device; +echo autoconf=$autoconf; + +case "x$device" in + usb*) + echo "USB" + modprobe g_ether + ;; +esac + +ifconfig $device $client_ip +) + mkdir /mnt -mount -t nfs 192.168.20.210:/home/nfs/Angstrom-opie-image-test-h4000 /mnt +if [ "x$root" = "x/dev/nfs" ]; then + echo "booting from NFS: $nfsroot" + mount -t nfs $nfsroot /mnt +else + echo "booting from: $root" + mount $root /mnt +fi + cd /mnt exec switch_root -c /dev/console /mnt /sbin/init diff --git a/packages/initrdscripts/initramfs-nfsboot_0.1.bb b/packages/initrdscripts/initramfs-nfsboot_0.1.bb deleted file mode 100644 index 1a4d48813b..0000000000 --- a/packages/initrdscripts/initramfs-nfsboot_0.1.bb +++ /dev/null @@ -1,8 +0,0 @@ -SRC_URI = "file://nfsboot.sh" -PR = "r0" - -do_install() { - install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/init -} - -FILES_${PN} += " /init " diff --git a/packages/initrdscripts/initramfs-nfsboot_0.2.bb b/packages/initrdscripts/initramfs-nfsboot_0.2.bb new file mode 100644 index 0000000000..1a4d48813b --- /dev/null +++ b/packages/initrdscripts/initramfs-nfsboot_0.2.bb @@ -0,0 +1,8 @@ +SRC_URI = "file://nfsboot.sh" +PR = "r0" + +do_install() { + install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/init +} + +FILES_${PN} += " /init " -- cgit v1.2.3