diff options
author | Andrea Adami <andrea.adami@gmail.com> | 2020-04-21 17:19:31 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-04-21 13:03:35 -0700 |
commit | bf41d89325f1135f928f444ddb91163de91f4313 (patch) | |
tree | d3662a29585f0e7150d3e0ea642d0726b75fbc66 /meta-initramfs/recipes-core | |
parent | ff19c7c5694f79271ae26543562e5563d4250559 (diff) | |
download | meta-openembedded-contrib-bf41d89325f1135f928f444ddb91163de91f4313.tar.gz |
meta-initramfs: put images and initrdscripts in recipes-core
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-initramfs/recipes-core')
5 files changed, 105 insertions, 0 deletions
diff --git a/meta-initramfs/recipes-core/images/initramfs-debug-image.bb b/meta-initramfs/recipes-core/images/initramfs-debug-image.bb new file mode 100644 index 0000000000..be7350ade2 --- /dev/null +++ b/meta-initramfs/recipes-core/images/initramfs-debug-image.bb @@ -0,0 +1,22 @@ +# Simple initramfs image. Mostly used for live images. +DESCRIPTION = "Small image capable of booting a device. The kernel includes \ +the Minimal RAM-based Initial Root Filesystem (initramfs), which one can use \ +to check the hardware efficiently." + +PACKAGE_INSTALL = "initramfs-debug busybox base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" + +# Do not pollute the initrd image with rootfs features +IMAGE_FEATURES = "" + +export IMAGE_BASENAME = "initramfs-debug-image" +IMAGE_LINGUAS = "" + +LICENSE = "MIT" + +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" +inherit core-image + +IMAGE_ROOTFS_SIZE = "8192" +IMAGE_ROOTFS_EXTRA_SPACE = "0" + +BAD_RECOMMENDATIONS += "busybox-syslog" diff --git a/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb b/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb new file mode 100644 index 0000000000..9a686f366f --- /dev/null +++ b/meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb @@ -0,0 +1,26 @@ +SUMMARY = "Initramfs image for kexecboot kernel" +DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers." + +inherit image + +IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" + +# avoid circular dependencies +EXTRA_IMAGEDEPENDS = "" +KERNELDEPMODDEPEND = "" + +# We really need just kexecboot, kexec and ubiattach +IMAGE_INSTALL = "kexecboot kexec mtd-utils-ubifs" + +# Do not pollute the initrd image with rootfs features +IMAGE_FEATURES = "" + +IMAGE_LINGUAS = "" + +FEED_DEPLOYDIR_BASE_URI = "" +LDCONFIGDEPEND = "" +IMAGE_ROOTFS_EXTRA_SPACE = "0" + +# disable runtime dependency on run-postinsts -> update-rc.d +ROOTFS_BOOTSTRAP_INSTALL = "" + diff --git a/meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb b/meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb new file mode 100644 index 0000000000..3a8d9f7438 --- /dev/null +++ b/meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb @@ -0,0 +1,12 @@ +require initramfs-kexecboot-image.bb + +SUMMARY = "Initramfs image for kexecboot kernel (klibc-static binaries)" + +# We really need just kexecboot, kexec and ubiattach +# statically compiled against klibc +IMAGE_INSTALL = "kexecboot-klibc kexec-klibc ubiattach-klibc" + +python () { + if d.getVar('TARGET_ARCH') == "nios2": + raise bb.parse.SkipRecipe("'nios2' not supported arch") +} diff --git a/meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh b/meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh new file mode 100644 index 0000000000..7edbd70cb0 --- /dev/null +++ b/meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +do_mount_fs() { + grep -q "$1" /proc/filesystems || return + test -d "$2" || mkdir -p "$2" + mount -t "$1" "$1" "$2" +} + +do_mknod() { + test -e "$1" || mknod "$1" "$2" "$3" "$4" +} + +mkdir -p /proc +mount -t proc proc /proc + +do_mount_fs sysfs /sys +do_mount_fs debugfs /sys/kernel/debug +do_mount_fs devtmpfs /dev +do_mount_fs devpts /dev/pts +do_mount_fs tmpfs /dev/shm + +mkdir -p /run +mkdir -p /var/run + +do_mknod /dev/console c 5 1 +do_mknod /dev/null c 1 3 +do_mknod /dev/zero c 1 5 + +exec sh </dev/console >/dev/console 2>/dev/console diff --git a/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb b/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb new file mode 100644 index 0000000000..667690f888 --- /dev/null +++ b/meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb @@ -0,0 +1,14 @@ +SUMMARY = "Extremely basic live image init script" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +SRC_URI = "file://init-debug.sh" + +S = "${WORKDIR}" + +do_install() { + install -m 0755 ${WORKDIR}/init-debug.sh ${D}/init +} + +inherit allarch + +FILES_${PN} += " /init " |