diff options
Diffstat (limited to 'packages/initrdscripts')
-rw-r--r-- | packages/initrdscripts/devimage/devimage.sh | 5 | ||||
-rw-r--r-- | packages/initrdscripts/devimage_0.1.bb | 2 | ||||
-rw-r--r-- | packages/initrdscripts/files/30-bootmenu.sh | 5 | ||||
-rw-r--r-- | packages/initrdscripts/files/87-kexecboot.sh | 19 | ||||
-rw-r--r-- | packages/initrdscripts/initramfs-image-ipk_1.0.bb | 15 | ||||
-rw-r--r-- | packages/initrdscripts/initramfs-module-bootmenu_1.0.bb | 2 | ||||
-rw-r--r-- | packages/initrdscripts/initramfs-module-kexecboot_1.0.bb | 12 | ||||
-rw-r--r-- | packages/initrdscripts/kernel-initramfs_1.0.bb | 48 |
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}" |