summaryrefslogtreecommitdiff
path: root/packages/initrdscripts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/initrdscripts')
-rw-r--r--packages/initrdscripts/devimage/devimage.sh5
-rw-r--r--packages/initrdscripts/devimage_0.1.bb2
-rw-r--r--packages/initrdscripts/files/30-bootmenu.sh5
-rw-r--r--packages/initrdscripts/files/87-kexecboot.sh19
-rw-r--r--packages/initrdscripts/initramfs-image-ipk_1.0.bb15
-rw-r--r--packages/initrdscripts/initramfs-module-bootmenu_1.0.bb2
-rw-r--r--packages/initrdscripts/initramfs-module-kexecboot_1.0.bb12
-rw-r--r--packages/initrdscripts/kernel-initramfs_1.0.bb48
8 files changed, 104 insertions, 4 deletions
diff --git a/packages/initrdscripts/devimage/devimage.sh b/packages/initrdscripts/devimage/devimage.sh
index e85debf245..8a264ed33d 100644
--- a/packages/initrdscripts/devimage/devimage.sh
+++ b/packages/initrdscripts/devimage/devimage.sh
@@ -7,6 +7,11 @@ mount -t sysfs sysfs /sys
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
+modprobe g_ether
+ifconfig usb0 192.168.2.202
+
+export PATH=$PATH:/usr/sbin
+
/usr/sbin/dropbear -E
/bin/sh
diff --git a/packages/initrdscripts/devimage_0.1.bb b/packages/initrdscripts/devimage_0.1.bb
index 08949b9515..c671f38025 100644
--- a/packages/initrdscripts/devimage_0.1.bb
+++ b/packages/initrdscripts/devimage_0.1.bb
@@ -1,6 +1,6 @@
DESCRIPTION = "Set of files to initialize bare system suitable for kernel, etc. testing."
SRC_URI = "file://devimage.sh file://passwd file://dropbear_rsa_host_key"
-PR = "r2"
+PR = "r3"
do_install() {
install -m 0755 ${WORKDIR}/devimage.sh ${D}/init
diff --git a/packages/initrdscripts/files/30-bootmenu.sh b/packages/initrdscripts/files/30-bootmenu.sh
index 7bc1429b1b..d54a643807 100644
--- a/packages/initrdscripts/files/30-bootmenu.sh
+++ b/packages/initrdscripts/files/30-bootmenu.sh
@@ -145,12 +145,13 @@ path=`expr "$sel" : '[^/]*\([^ ]*\).*'`
if [ "$dev" == "NFS" ]; then
ROOT_DEVICE="/dev/nfs"
- CMDLINE="$CMDLINE nfsroot=192.168.2.200:/srv/nfs/oe/image"
+ CMDLINE="$CMDLINE root=/dev/nfs nfsroot=192.168.2.200:/srv/nfs/oe/image"
elif [ -n "$path" ]; then
ROOT_DEVICE="/dev/loop"
- CMDLINE="looproot=/dev/$dev:$path"
+ CMDLINE="$CMDLINE root=/dev/loop looproot=/dev/$dev:$path"
else
ROOT_DEVICE="/dev/$dev"
+ CMDLINE="$CMDLINE root=$ROOT_DEVICE"
fi
echo ROOT_DEVICE=$ROOT_DEVICE
diff --git a/packages/initrdscripts/files/87-kexecboot.sh b/packages/initrdscripts/files/87-kexecboot.sh
new file mode 100644
index 0000000000..9232934f98
--- /dev/null
+++ b/packages/initrdscripts/files/87-kexecboot.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# Allow kexecing to kernel in rootfs
+
+if [ -n "$BOOT_ROOT" -a -f "$BOOT_ROOT/boot/zImage" ]; then
+ if ! expr "$CMDLINE" : '.*nokexec'; then
+ echo "Kernel found in rootfs:"
+ ls -l "$BOOT_ROOT/boot/zImage"
+ initramfs=""
+ if [ -f "$BOOT_ROOT/boot/initramfs.bin" ]; then
+ echo "Initramfs found in rootfs:"
+ ls -l "$BOOT_ROOT/boot/initramfs.bin"
+ initramfs="--initrd=$BOOT_ROOT/boot/initramfs.bin"
+ fi
+ echo /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec"
+ sleep 10
+ /usr/sbin/kexec -f "$BOOT_ROOT/boot/zImage" $initramfs --command-line="$CMDLINE nokexec"
+ sleep 10000
+ fi
+fi
diff --git a/packages/initrdscripts/initramfs-image-ipk_1.0.bb b/packages/initrdscripts/initramfs-image-ipk_1.0.bb
new file mode 100644
index 0000000000..8c79c24478
--- /dev/null
+++ b/packages/initrdscripts/initramfs-image-ipk_1.0.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Boot initramfs as a package"
+PR = "r1"
+
+do_compile() {
+ cd ${TOPDIR}; DISTRO=${USERDISTRO} MACHINE=${MACHINE} ANGSTROM_MODE=uclibc IMAGE_FSTYPES=cpio.gz DEPLOY_TO=${D}/boot/initramfs.bin bitbake initramfs-image
+}
+
+do_install() {
+ install -d ${D}/boot/
+ cd ${TOPDIR}; DISTRO=${USERDISTRO} MACHINE=${MACHINE} ANGSTROM_MODE=uclibc IMAGE_FSTYPES=cpio.gz DEPLOY_TO=${D}/boot/initramfs.bin bitbake initramfs-image -c deploy_to
+}
+
+FILES_${PN} += "/boot/*"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb b/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
index e87ba69776..8b9a49f40b 100644
--- a/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
+++ b/packages/initrdscripts/initramfs-module-bootmenu_1.0.bb
@@ -1,5 +1,5 @@
SRC_URI = "file://30-bootmenu.sh"
-PR = "r8"
+PR = "r9"
DESCRIPTION = "An initramfs module with UI for selection of boot device."
RDEPENDS = "klibc-utils-fstype initramfs-uniboot initramfs-module-block initramfs-module-loop initramfs-module-nfs"
# For VFAT mounting.
diff --git a/packages/initrdscripts/initramfs-module-kexecboot_1.0.bb b/packages/initrdscripts/initramfs-module-kexecboot_1.0.bb
new file mode 100644
index 0000000000..35100a94e6
--- /dev/null
+++ b/packages/initrdscripts/initramfs-module-kexecboot_1.0.bb
@@ -0,0 +1,12 @@
+SRC_URI = "file://87-kexecboot.sh"
+PR = "r0.4"
+DESCRIPTION = "An initramfs module for kexecing kernel from rootfs."
+RDEPENDS = "initramfs-uniboot kexec-static"
+
+do_install() {
+ install -d ${D}/initrd.d
+ install -m 0755 ${WORKDIR}/87-kexecboot.sh ${D}/initrd.d/
+}
+
+PACKAGE_ARCH = "all"
+FILES_${PN} += " /initrd.d/* "
diff --git a/packages/initrdscripts/kernel-initramfs_1.0.bb b/packages/initrdscripts/kernel-initramfs_1.0.bb
new file mode 100644
index 0000000000..be1c067ba2
--- /dev/null
+++ b/packages/initrdscripts/kernel-initramfs_1.0.bb
@@ -0,0 +1,48 @@
+DESCRIPTION = "A kernel with internal initramfs"
+PR = "r1"
+
+#inherit kernel
+KERNEL_IMAGETYPE ?= "zImage"
+
+# Name of initramfs recipe to build and put result into kernel
+KERNEL_INITRAMFS ?= "initramfs-image"
+
+do_compile() {
+ cd ${TOPDIR}; DISTRO=${USERDISTRO} MACHINE=${MACHINE} ANGSTROM_MODE=uclibc IMAGE_FSTYPES=cpio.gz DEPLOY_TO=${WORKDIR}/initramfs.bin bitbake ${KERNEL_INITRAMFS} -c deploy_to
+ cd ${TOPDIR}; DISTRO=${USERDISTRO} MACHINE=${MACHINE} INITRAMFS_LOC=${WORKDIR}/initramfs.bin DEPLOY_TO=${WORKDIR}/\${KERNEL_IMAGE_BASE_NAME} bitbake virtual/kernel -c builtin_initramfs
+}
+
+do_install() {
+ install -d ${D}/boot/
+ install -m 644 ${WORKDIR}/${KERNEL_IMAGETYPE}* ${D}/boot/${KERNEL_IMAGETYPE}-${@get_pv(d)}
+}
+
+def get_version(d):
+ import bb
+ import os
+ dest = bb.data.getVar("WORKDIR", d, 1)
+ try:
+ files = os.listdir(dest)
+ files = filter(lambda f:f.startswith("zImage-"), files)
+ ver = files[0][len("zImage-"):]
+ return ver
+ except:
+ return "dum-m-y"
+
+def get_pv(d):
+ ver = get_version(d)
+ verc = ver.split("-")
+ return verc[0] + "-" + verc[1]
+
+def get_pr(d):
+ ver = get_version(d)
+ verc = ver.split("-")
+ return verc[2]
+
+PACKAGES = "kernel-image"
+FILES_kernel-image = "/boot/*"
+PKG_kernel-image = "kernel-image-${@get_pv(d)}"
+PKGPV_kernel-image = "${@get_pv(d)}"
+PKGPR_kernel-image = "${@get_pr(d)}"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"