aboutsummaryrefslogtreecommitdiffstats
path: root/meta-initramfs/recipes-core
diff options
context:
space:
mode:
authorAndrea Adami <andrea.adami@gmail.com>2020-04-21 17:19:31 +0200
committerKhem Raj <raj.khem@gmail.com>2020-04-21 13:03:35 -0700
commitbf41d89325f1135f928f444ddb91163de91f4313 (patch)
treed3662a29585f0e7150d3e0ea642d0726b75fbc66 /meta-initramfs/recipes-core
parentff19c7c5694f79271ae26543562e5563d4250559 (diff)
downloadmeta-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')
-rw-r--r--meta-initramfs/recipes-core/images/initramfs-debug-image.bb22
-rw-r--r--meta-initramfs/recipes-core/images/initramfs-kexecboot-image.bb26
-rw-r--r--meta-initramfs/recipes-core/images/initramfs-kexecboot-klibc-image.bb12
-rw-r--r--meta-initramfs/recipes-core/initrdscripts/files/init-debug.sh31
-rw-r--r--meta-initramfs/recipes-core/initrdscripts/initramfs-debug_1.0.bb14
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 "