From 87430e7e8acbaac6495c2ff0a2747d7341ef443a Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 10 Jun 2007 22:56:21 +0000 Subject: initrdscripts: New package dir for initrd, initramfs, etc. recipes. --- packages/initrdscripts/.mtn2git_empty | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/initrdscripts/.mtn2git_empty (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/.mtn2git_empty b/packages/initrdscripts/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 -- cgit v1.2.3 From 5d068b368f9b6858395ca99067d9d3aa64734c65 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 10 Jun 2007 22:59:35 +0000 Subject: initramfs-nfsboot 0.1: Sample initramfs script to boot from NFS. * Need too add parsing of kernel cmdline instead of hardcoded params. --- packages/initrdscripts/files/.mtn2git_empty | 0 packages/initrdscripts/files/nfsboot.sh | 10 ++++++++++ packages/initrdscripts/initramfs-nfsboot_0.1.bb | 8 ++++++++ 3 files changed, 18 insertions(+) create mode 100644 packages/initrdscripts/files/.mtn2git_empty create mode 100644 packages/initrdscripts/files/nfsboot.sh create mode 100644 packages/initrdscripts/initramfs-nfsboot_0.1.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/files/.mtn2git_empty b/packages/initrdscripts/files/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/initrdscripts/files/nfsboot.sh b/packages/initrdscripts/files/nfsboot.sh new file mode 100644 index 0000000000..bb689fa3b8 --- /dev/null +++ b/packages/initrdscripts/files/nfsboot.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +echo "Starting initramfs boot..." +mkdir /proc +mount -t proc proc /proc +ifconfig eth0 192.168.20.230 +mkdir /mnt +mount -t nfs 192.168.20.210:/home/nfs/Angstrom-opie-image-test-h4000 /mnt +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 new file mode 100644 index 0000000000..1a4d48813b --- /dev/null +++ b/packages/initrdscripts/initramfs-nfsboot_0.1.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 From 5aa68e560748a64329dbb180bbb03ab0d05cc71e Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 12 Jul 2007 23:38:04 +0000 Subject: devimage-image, devimage_0.1: Finally, an initrd for kernel testing (minimal userspace involvment). * Details: # Image for kernel debugging and development testing # Contains minimal userspace shim (no udev, etc.), but all useful # "kernel userspace" utilities (feel free to add missing). # Allows to login via serial and real console or SSH --- packages/initrdscripts/devimage/.mtn2git_empty | 0 packages/initrdscripts/devimage/devimage.sh | 12 ++++++++++++ packages/initrdscripts/devimage/dropbear_rsa_host_key | Bin 0 -> 426 bytes packages/initrdscripts/devimage/passwd | 1 + packages/initrdscripts/devimage_0.1.bb | 11 +++++++++++ 5 files changed, 24 insertions(+) create mode 100644 packages/initrdscripts/devimage/.mtn2git_empty create mode 100644 packages/initrdscripts/devimage/devimage.sh create mode 100644 packages/initrdscripts/devimage/dropbear_rsa_host_key create mode 100644 packages/initrdscripts/devimage/passwd create mode 100644 packages/initrdscripts/devimage_0.1.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/devimage/.mtn2git_empty b/packages/initrdscripts/devimage/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/initrdscripts/devimage/devimage.sh b/packages/initrdscripts/devimage/devimage.sh new file mode 100644 index 0000000000..e85debf245 --- /dev/null +++ b/packages/initrdscripts/devimage/devimage.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +mkdir /proc +mount -t proc proc /proc +mkdir /sys +mount -t sysfs sysfs /sys +mkdir -p /dev/pts +mount -t devpts devpts /dev/pts + +/usr/sbin/dropbear -E + +/bin/sh diff --git a/packages/initrdscripts/devimage/dropbear_rsa_host_key b/packages/initrdscripts/devimage/dropbear_rsa_host_key new file mode 100644 index 0000000000..18d832332e Binary files /dev/null and b/packages/initrdscripts/devimage/dropbear_rsa_host_key differ diff --git a/packages/initrdscripts/devimage/passwd b/packages/initrdscripts/devimage/passwd new file mode 100644 index 0000000000..233d68fae1 --- /dev/null +++ b/packages/initrdscripts/devimage/passwd @@ -0,0 +1 @@ +root::0:0:root:/:/bin/sh diff --git a/packages/initrdscripts/devimage_0.1.bb b/packages/initrdscripts/devimage_0.1.bb new file mode 100644 index 0000000000..e29e6a93ea --- /dev/null +++ b/packages/initrdscripts/devimage_0.1.bb @@ -0,0 +1,11 @@ +SRC_URI = "file://devimage.sh file://passwd file://dropbear_rsa_host_key" +PR = "r0.7" + +do_install() { + install -m 0755 ${WORKDIR}/devimage.sh ${D}/init + install -d ${D}/etc/dropbear + install -m 0600 ${WORKDIR}/dropbear_rsa_host_key ${D}/etc/dropbear/ + install -m 0644 ${WORKDIR}/passwd ${D}/etc/ +} + +FILES_${PN} += " /init /etc/*" -- cgit v1.2.3 From 8de84e35a80d4764cc103be06ee0b9e15887f501 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 12 Jul 2007 23:38:33 +0000 Subject: devimage: Bump PR. --- packages/initrdscripts/devimage_0.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/devimage_0.1.bb b/packages/initrdscripts/devimage_0.1.bb index e29e6a93ea..8eb6fa2d83 100644 --- a/packages/initrdscripts/devimage_0.1.bb +++ b/packages/initrdscripts/devimage_0.1.bb @@ -1,5 +1,5 @@ SRC_URI = "file://devimage.sh file://passwd file://dropbear_rsa_host_key" -PR = "r0.7" +PR = "r1" do_install() { install -m 0755 ${WORKDIR}/devimage.sh ${D}/init -- cgit v1.2.3 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/initrdscripts') 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 From 2603e7f62a5a9e902a554855ed601d0619817b71 Mon Sep 17 00:00:00 2001 From: Alex Osborne Date: Thu, 19 Jul 2007 20:55:15 +0000 Subject: initramfs: New modular initramfs for booting kernel from various media. * Design principles: * This initramfs just mounts roots and runs init on it, nothing else. * Whenever possible, existing kernel parameters are used. When extended boot methods are provided, new parameters mimick/adhere to existing conventions. * System is modular/pluggable - each mount method is in own module with more or less well defined interface, it's possible to construct complete system with any combination of modules. * Modules includes: initramfs-module-loop, initramfs-module-nfs, to boot from loop devices (including recursive loops) and NFS, correspondingly. --- packages/initrdscripts/files/init.sh | 65 +++++++++++++++++++ packages/initrdscripts/files/loopboot.sh | 54 ++++++++++++++++ packages/initrdscripts/files/nfsboot.sh | 74 +++++++++------------- .../initrdscripts/initramfs-module-loop_0.1.bb | 8 +++ packages/initrdscripts/initramfs-module-nfs_0.1.bb | 8 +++ packages/initrdscripts/initramfs_0.1.bb | 8 +++ 6 files changed, 174 insertions(+), 43 deletions(-) create mode 100644 packages/initrdscripts/files/init.sh create mode 100644 packages/initrdscripts/files/loopboot.sh create mode 100644 packages/initrdscripts/initramfs-module-loop_0.1.bb create mode 100644 packages/initrdscripts/initramfs-module-nfs_0.1.bb create mode 100644 packages/initrdscripts/initramfs_0.1.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/files/init.sh b/packages/initrdscripts/files/init.sh new file mode 100644 index 0000000000..8c9803f21b --- /dev/null +++ b/packages/initrdscripts/files/init.sh @@ -0,0 +1,65 @@ +#!/bin/sh + +MODULE_DIR=/initrd.d +BOOT_ROOT= +ROOT_DEVICE=/dev/null + +early_setup() { + mkdir /proc + mount -t proc proc /proc + mkdir /mnt + + echo -n "creating device nodes: " + grep '^ *[0-9]' /proc/partitions | while read major minor blocks dev + do + if [ ! -e /dev/$dev ]; then + echo -n "$dev " + [ -e /dev/$dev ] || mknod /dev/$dev b $major $minor + fi + done + echo +} + +read_args() { + CMDLINE=`cat /proc/cmdline` + for arg in $CMDLINE; do + optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'` + case $arg in + root=*) + ROOT_DEVICE=$optarg ;; + rootdelay=*) + rootdelay=$optarg ;; + esac + done +} + +load_modules() { + for module in $MODULE_DIR/*; do + source $module + done +} + +boot_root() { + cd $BOOT_ROOT + exec switch_root -c /dev/console $BOOT_ROOT /sbin/init +} + +boot_failed() { + echo "No valid root device was specified. Please add root=/dev/something to" + echo "the kernel command-line and try again." + echo + exec sh +} + +echo "Starting initramfs boot..." +early_setup +read_args + +if [ -n "$rootdelay" ]; then + echo "Waiting $rootdelay seconds for devices to settle..." + sleep $rootdelay +fi + +load_modules +[ -n "$BOOT_ROOT" ] && boot_root +boot_failed diff --git a/packages/initrdscripts/files/loopboot.sh b/packages/initrdscripts/files/loopboot.sh new file mode 100644 index 0000000000..55a1948db8 --- /dev/null +++ b/packages/initrdscripts/files/loopboot.sh @@ -0,0 +1,54 @@ +#!/bin/sh + +if [ "$ROOT_DEVICE" = "/dev/loop" ]; then + loop_mount() { + loopdev=/dev/loop$loop_num + mountpt=/mnt/loop$loop_num + + [ -e $loopdev ] || mknod $loopdev b 7 $loop_num + + # if only one argument was specified, let it be path not dev + if [ -z "$path" ] && [ -n "$dev" ]; then + path="$dev" + dev="" + fi + [ -z "$offset" ] && offset=0 + + if [ -n "$dev" ]; then + hostpt=`expr "$dev" : '.*/\([^/]*\)'` + [ -z "$hostpt" ] && hostpt="$dev" + + echo "Mounting $dev on $hostpt" + mkdir $hostpt + mount $dev $hostpt + cd $hostpt + fi + + echo "Loopback setup of $path (offset $offset)" + losetup -o "$offset" "$loopdev" "$path" + + echo "Mounting $loopdev on $mountpt" + mkdir "$mountpt" + mount "$loopdev" "$mountpt" + cd "$mountpt" + BOOT_ROOT="$mountpt" + loop_num=`expr "$loop_num" + 1` + } + + modprobe vfat + modprobe loop + + loop_num=0 + + for arg in $CMDLINE; do + optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'` + echo $arg xxx $optarg + case $arg in + looproot=*) + dev=`expr "$optarg" : '\([^:]*\).*'` + path=`expr "$optarg" : '[^:]*:\([^:]*\).*'` + offset=`expr "$optarg" : '[^:]*:[^:]*:\([^:]*\).*'` + loop_mount ;; + esac + done +fi diff --git a/packages/initrdscripts/files/nfsboot.sh b/packages/initrdscripts/files/nfsboot.sh index b536c4042b..62a044267a 100644 --- a/packages/initrdscripts/files/nfsboot.sh +++ b/packages/initrdscripts/files/nfsboot.sh @@ -1,50 +1,38 @@ #!/bin/sh -echo "Starting initramfs boot..." -mkdir /proc -mount -t proc proc /proc - -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 ;; +if [ "$ROOT_DEVICE" = "/dev/nfs" ]; then + for arg in $CMDLINE; do + echo $arg + optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'` + echo $optarg + case $arg in + 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 "$device" in + usb*) + echo "USB" + modprobe g_ether + ;; 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 + ) -ifconfig $device $client_ip -) - -mkdir /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 + BOOT_ROOT=/mnt fi - -cd /mnt -exec switch_root -c /dev/console /mnt /sbin/init diff --git a/packages/initrdscripts/initramfs-module-loop_0.1.bb b/packages/initrdscripts/initramfs-module-loop_0.1.bb new file mode 100644 index 0000000000..ce8f368c5a --- /dev/null +++ b/packages/initrdscripts/initramfs-module-loop_0.1.bb @@ -0,0 +1,8 @@ +SRC_URI = "file://loopboot.sh" +PR = "r0" + +do_install() { + install -m 0755 ${WORKDIR}/loopboot.sh ${D}/initrd.d/loop +} + +FILES_${PN} += " /initrd.d/loop " diff --git a/packages/initrdscripts/initramfs-module-nfs_0.1.bb b/packages/initrdscripts/initramfs-module-nfs_0.1.bb new file mode 100644 index 0000000000..90b80a31b1 --- /dev/null +++ b/packages/initrdscripts/initramfs-module-nfs_0.1.bb @@ -0,0 +1,8 @@ +SRC_URI = "file://nfsboot.sh" +PR = "r0" + +do_install() { + install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/initrd.d/nfs +} + +FILES_${PN} += " /initrd.d/nfs " diff --git a/packages/initrdscripts/initramfs_0.1.bb b/packages/initrdscripts/initramfs_0.1.bb new file mode 100644 index 0000000000..c7e44eae22 --- /dev/null +++ b/packages/initrdscripts/initramfs_0.1.bb @@ -0,0 +1,8 @@ +SRC_URI = "file://init.sh" +PR = "r0" + +do_install() { + install -m 0755 ${WORKDIR}/init.sh ${D}/init +} + +FILES_${PN} += " /init " -- cgit v1.2.3 From d25cb314d2672973d3eed42e736e681a3e3a4337 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 19 Jul 2007 21:11:07 +0000 Subject: initramfs-module-nfs: Make it actually mount NFS by using the same option as kernel does. --- packages/initrdscripts/files/nfsboot.sh | 7 ++++++- packages/initrdscripts/initramfs-module-nfs_0.1.bb | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/files/nfsboot.sh b/packages/initrdscripts/files/nfsboot.sh index 62a044267a..5129a53ebb 100644 --- a/packages/initrdscripts/files/nfsboot.sh +++ b/packages/initrdscripts/files/nfsboot.sh @@ -1,6 +1,11 @@ #!/bin/sh if [ "$ROOT_DEVICE" = "/dev/nfs" ]; then + + # These correspond to what kernel itself uses + # DO NOT CHANGE! + NFS_OPTIONS="-o nfsvers=2,nolock" + for arg in $CMDLINE; do echo $arg optarg=`expr "x$arg" : 'x[^=]*=\(.*\)'` @@ -33,6 +38,6 @@ if [ "$ROOT_DEVICE" = "/dev/nfs" ]; then ) echo "booting from NFS: $nfsroot" - mount -t nfs $nfsroot /mnt + mount -t nfs $NFS_OPTIONS $nfsroot /mnt BOOT_ROOT=/mnt fi diff --git a/packages/initrdscripts/initramfs-module-nfs_0.1.bb b/packages/initrdscripts/initramfs-module-nfs_0.1.bb index 90b80a31b1..9f4436a26b 100644 --- a/packages/initrdscripts/initramfs-module-nfs_0.1.bb +++ b/packages/initrdscripts/initramfs-module-nfs_0.1.bb @@ -1,5 +1,5 @@ SRC_URI = "file://nfsboot.sh" -PR = "r0" +PR = "r1" do_install() { install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/initrd.d/nfs -- cgit v1.2.3 From 568b6aa33fb7980fe4534aaf68ce3c57a9b368b6 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 19 Jul 2007 21:13:07 +0000 Subject: initramfs-nfsboot: Remove, superseded by initramfs-module-nfs. --- packages/initrdscripts/initramfs-nfsboot_0.2.bb | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 packages/initrdscripts/initramfs-nfsboot_0.2.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/initramfs-nfsboot_0.2.bb b/packages/initrdscripts/initramfs-nfsboot_0.2.bb deleted file mode 100644 index 1a4d48813b..0000000000 --- a/packages/initrdscripts/initramfs-nfsboot_0.2.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 " -- cgit v1.2.3 From 3eb5fc2457d618e5cac52dd4d3d4ceb36f1c9f40 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Thu, 19 Jul 2007 21:15:15 +0000 Subject: initramfs-jffs2: Initramfs to boot from jffs2 ramdisk. * jffs2 ramdisk == mtdram device * jffs2 is included in initramfs * This is core of LiveRamdisk technology --- packages/initrdscripts/initramfs-jffs2/.mtn2git_empty | 0 packages/initrdscripts/initramfs-jffs2/jffs2boot.sh | 18 ++++++++++++++++++ packages/initrdscripts/initramfs-jffs2_0.1.bb | 8 ++++++++ 3 files changed, 26 insertions(+) create mode 100644 packages/initrdscripts/initramfs-jffs2/.mtn2git_empty create mode 100644 packages/initrdscripts/initramfs-jffs2/jffs2boot.sh create mode 100644 packages/initrdscripts/initramfs-jffs2_0.1.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/initramfs-jffs2/.mtn2git_empty b/packages/initrdscripts/initramfs-jffs2/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh b/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh new file mode 100644 index 0000000000..81077eeae5 --- /dev/null +++ b/packages/initrdscripts/initramfs-jffs2/jffs2boot.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +echo "Starting initrd boot..." +mkdir /proc +mount -t proc proc /proc + +modprobe mtdram total_size=24576 erase_size=256 +sleep 1 + +ID=`grep "mtdram test device" /proc/mtd | cut -d: -f1| cut -b4-` + +cat /initrd.jffs2 >/dev/mtdblock$ID + +mkdir /mnt +mount -t jffs2 /dev/mtdblock$ID /mnt + +cd /mnt +exec switch_root -c /dev/console /mnt /sbin/init diff --git a/packages/initrdscripts/initramfs-jffs2_0.1.bb b/packages/initrdscripts/initramfs-jffs2_0.1.bb new file mode 100644 index 0000000000..78034c99c9 --- /dev/null +++ b/packages/initrdscripts/initramfs-jffs2_0.1.bb @@ -0,0 +1,8 @@ +SRC_URI = "file://jffs2boot.sh" +PR = "r0" + +do_install() { + install -m 0755 ${WORKDIR}/jffs2boot.sh ${D}/init +} + +FILES_${PN} += " /init " -- cgit v1.2.3 From 4dbe593fa51cf0286431c13f78c7a769efb10ff7 Mon Sep 17 00:00:00 2001 From: Alex Osborne Date: Fri, 20 Jul 2007 13:24:07 +0000 Subject: initramfs: Add blockboot plugin and cleanup dependency handling. --- packages/initrdscripts/files/blockboot.sh | 8 ++++++++ packages/initrdscripts/initramfs-module-block_0.1.bb | 10 ++++++++++ packages/initrdscripts/initramfs-module-loop_0.1.bb | 6 +++++- packages/initrdscripts/initramfs-module-nfs_0.1.bb | 5 ++++- packages/initrdscripts/initramfs_0.1.bb | 5 ++++- 5 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 packages/initrdscripts/files/blockboot.sh create mode 100644 packages/initrdscripts/initramfs-module-block_0.1.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/files/blockboot.sh b/packages/initrdscripts/files/blockboot.sh new file mode 100644 index 0000000000..567f7e29b3 --- /dev/null +++ b/packages/initrdscripts/files/blockboot.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Allow booting from a normal block device. + +if [ -e "$ROOT_DEVICE" ]; then + echo "booting from: $ROOT_DEVICE" + mount "$ROOT_DEVICE" /mnt + BOOT_ROOT=/mnt +fi diff --git a/packages/initrdscripts/initramfs-module-block_0.1.bb b/packages/initrdscripts/initramfs-module-block_0.1.bb new file mode 100644 index 0000000000..6f8866da6c --- /dev/null +++ b/packages/initrdscripts/initramfs-module-block_0.1.bb @@ -0,0 +1,10 @@ +SRC_URI = "file://blockboot.sh" +PR = "r0" +RDEPENDS = "initramfs" +DESCRIPTION = "An initramfs module for booting off normal block devices." + +do_install() { + install -m 0755 ${WORKDIR}/blockboot.sh ${D}/initrd.d/block +} + +FILES_${PN} += " /initrd.d/block " diff --git a/packages/initrdscripts/initramfs-module-loop_0.1.bb b/packages/initrdscripts/initramfs-module-loop_0.1.bb index ce8f368c5a..259141b392 100644 --- a/packages/initrdscripts/initramfs-module-loop_0.1.bb +++ b/packages/initrdscripts/initramfs-module-loop_0.1.bb @@ -1,5 +1,9 @@ SRC_URI = "file://loopboot.sh" -PR = "r0" +PR = "r1" +DESCRIPTION = "An initramfs module for booting a filesystem image by loopback \ + mounting it." +RDEPENDS = "initramfs" +RRECOMMENDS = "kernel-module-loop kernel-module-vfat" do_install() { install -m 0755 ${WORKDIR}/loopboot.sh ${D}/initrd.d/loop diff --git a/packages/initrdscripts/initramfs-module-nfs_0.1.bb b/packages/initrdscripts/initramfs-module-nfs_0.1.bb index 9f4436a26b..22fddfcdf2 100644 --- a/packages/initrdscripts/initramfs-module-nfs_0.1.bb +++ b/packages/initrdscripts/initramfs-module-nfs_0.1.bb @@ -1,5 +1,8 @@ SRC_URI = "file://nfsboot.sh" -PR = "r1" +PR = "r2" +DESCRIPTION = "An initramfs module for booting via NFS." +RDEPENDS = "initramfs" +RRECOMMENDS = "kernel-module-g-ether kernel-module-nfs" do_install() { install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/initrd.d/nfs diff --git a/packages/initrdscripts/initramfs_0.1.bb b/packages/initrdscripts/initramfs_0.1.bb index c7e44eae22..46ba06ff9a 100644 --- a/packages/initrdscripts/initramfs_0.1.bb +++ b/packages/initrdscripts/initramfs_0.1.bb @@ -1,5 +1,8 @@ SRC_URI = "file://init.sh" -PR = "r0" +PR = "r1" +DESCRIPTON = "A modular initramfs init script system." +RDEPENDS = "busybox-static" +RRECOMMENDS = "kernel-module-uinput" do_install() { install -m 0755 ${WORKDIR}/init.sh ${D}/init -- cgit v1.2.3 From e903822e3377dc636b30d298f8d04b33c38ceadc Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 20 Jul 2007 23:43:20 +0000 Subject: initramfs-uniboot: Rename from just initramfs. * Suggested by Koen Kooi. --- packages/initrdscripts/initramfs-module-block_0.1.bb | 4 ++-- packages/initrdscripts/initramfs-module-loop_0.1.bb | 4 ++-- packages/initrdscripts/initramfs-module-nfs_0.1.bb | 4 ++-- packages/initrdscripts/initramfs-uniboot_0.2.bb | 11 +++++++++++ packages/initrdscripts/initramfs_0.1.bb | 11 ----------- 5 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 packages/initrdscripts/initramfs-uniboot_0.2.bb delete mode 100644 packages/initrdscripts/initramfs_0.1.bb (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/initramfs-module-block_0.1.bb b/packages/initrdscripts/initramfs-module-block_0.1.bb index 6f8866da6c..afd9fd592a 100644 --- a/packages/initrdscripts/initramfs-module-block_0.1.bb +++ b/packages/initrdscripts/initramfs-module-block_0.1.bb @@ -1,6 +1,6 @@ SRC_URI = "file://blockboot.sh" -PR = "r0" -RDEPENDS = "initramfs" +PR = "r1" +RDEPENDS = "initramfs-uniboot" DESCRIPTION = "An initramfs module for booting off normal block devices." do_install() { diff --git a/packages/initrdscripts/initramfs-module-loop_0.1.bb b/packages/initrdscripts/initramfs-module-loop_0.1.bb index 259141b392..9a07f5f22c 100644 --- a/packages/initrdscripts/initramfs-module-loop_0.1.bb +++ b/packages/initrdscripts/initramfs-module-loop_0.1.bb @@ -1,8 +1,8 @@ SRC_URI = "file://loopboot.sh" -PR = "r1" +PR = "r2" DESCRIPTION = "An initramfs module for booting a filesystem image by loopback \ mounting it." -RDEPENDS = "initramfs" +RDEPENDS = "initramfs-uniboot" RRECOMMENDS = "kernel-module-loop kernel-module-vfat" do_install() { diff --git a/packages/initrdscripts/initramfs-module-nfs_0.1.bb b/packages/initrdscripts/initramfs-module-nfs_0.1.bb index 22fddfcdf2..3382e2983b 100644 --- a/packages/initrdscripts/initramfs-module-nfs_0.1.bb +++ b/packages/initrdscripts/initramfs-module-nfs_0.1.bb @@ -1,7 +1,7 @@ SRC_URI = "file://nfsboot.sh" -PR = "r2" +PR = "r3" DESCRIPTION = "An initramfs module for booting via NFS." -RDEPENDS = "initramfs" +RDEPENDS = "initramfs-uniboot" RRECOMMENDS = "kernel-module-g-ether kernel-module-nfs" do_install() { diff --git a/packages/initrdscripts/initramfs-uniboot_0.2.bb b/packages/initrdscripts/initramfs-uniboot_0.2.bb new file mode 100644 index 0000000000..46ba06ff9a --- /dev/null +++ b/packages/initrdscripts/initramfs-uniboot_0.2.bb @@ -0,0 +1,11 @@ +SRC_URI = "file://init.sh" +PR = "r1" +DESCRIPTON = "A modular initramfs init script system." +RDEPENDS = "busybox-static" +RRECOMMENDS = "kernel-module-uinput" + +do_install() { + install -m 0755 ${WORKDIR}/init.sh ${D}/init +} + +FILES_${PN} += " /init " diff --git a/packages/initrdscripts/initramfs_0.1.bb b/packages/initrdscripts/initramfs_0.1.bb deleted file mode 100644 index 46ba06ff9a..0000000000 --- a/packages/initrdscripts/initramfs_0.1.bb +++ /dev/null @@ -1,11 +0,0 @@ -SRC_URI = "file://init.sh" -PR = "r1" -DESCRIPTON = "A modular initramfs init script system." -RDEPENDS = "busybox-static" -RRECOMMENDS = "kernel-module-uinput" - -do_install() { - install -m 0755 ${WORKDIR}/init.sh ${D}/init -} - -FILES_${PN} += " /init " -- cgit v1.2.3 From b17f2fdbbf1df6393aee46e1f375b32de5e55a9a Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Wed, 25 Jul 2007 15:37:10 +0000 Subject: initramfs-module-*: Create install dirs before putting stuff there. --- packages/initrdscripts/initramfs-module-block_0.1.bb | 3 ++- packages/initrdscripts/initramfs-module-loop_0.1.bb | 3 ++- packages/initrdscripts/initramfs-module-nfs_0.1.bb | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) (limited to 'packages/initrdscripts') diff --git a/packages/initrdscripts/initramfs-module-block_0.1.bb b/packages/initrdscripts/initramfs-module-block_0.1.bb index afd9fd592a..a0cb2fd7fa 100644 --- a/packages/initrdscripts/initramfs-module-block_0.1.bb +++ b/packages/initrdscripts/initramfs-module-block_0.1.bb @@ -1,9 +1,10 @@ SRC_URI = "file://blockboot.sh" -PR = "r1" +PR = "r2" RDEPENDS = "initramfs-uniboot" DESCRIPTION = "An initramfs module for booting off normal block devices." do_install() { + install -d ${D}/initrd.d install -m 0755 ${WORKDIR}/blockboot.sh ${D}/initrd.d/block } diff --git a/packages/initrdscripts/initramfs-module-loop_0.1.bb b/packages/initrdscripts/initramfs-module-loop_0.1.bb index 9a07f5f22c..d4e5aa038f 100644 --- a/packages/initrdscripts/initramfs-module-loop_0.1.bb +++ b/packages/initrdscripts/initramfs-module-loop_0.1.bb @@ -1,11 +1,12 @@ SRC_URI = "file://loopboot.sh" -PR = "r2" +PR = "r3" DESCRIPTION = "An initramfs module for booting a filesystem image by loopback \ mounting it." RDEPENDS = "initramfs-uniboot" RRECOMMENDS = "kernel-module-loop kernel-module-vfat" do_install() { + install -d ${D}/initrd.d install -m 0755 ${WORKDIR}/loopboot.sh ${D}/initrd.d/loop } diff --git a/packages/initrdscripts/initramfs-module-nfs_0.1.bb b/packages/initrdscripts/initramfs-module-nfs_0.1.bb index 3382e2983b..24284d6c5f 100644 --- a/packages/initrdscripts/initramfs-module-nfs_0.1.bb +++ b/packages/initrdscripts/initramfs-module-nfs_0.1.bb @@ -1,10 +1,11 @@ SRC_URI = "file://nfsboot.sh" -PR = "r3" +PR = "r4" DESCRIPTION = "An initramfs module for booting via NFS." RDEPENDS = "initramfs-uniboot" RRECOMMENDS = "kernel-module-g-ether kernel-module-nfs" do_install() { + install -d ${D}/initrd.d install -m 0755 ${WORKDIR}/nfsboot.sh ${D}/initrd.d/nfs } -- cgit v1.2.3