summaryrefslogtreecommitdiffstats
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-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 @@
1# Simple initramfs image. Mostly used for live images.
2DESCRIPTION = "Small image capable of booting a device. The kernel includes \
3the Minimal RAM-based Initial Root Filesystem (initramfs), which one can use \
4to check the hardware efficiently."
5
6PACKAGE_INSTALL = "initramfs-debug busybox base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
7
8# Do not pollute the initrd image with rootfs features
9IMAGE_FEATURES = ""
10
11export IMAGE_BASENAME = "initramfs-debug-image"
12IMAGE_LINGUAS = ""
13
14LICENSE = "MIT"
15
16IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
17inherit core-image
18
19IMAGE_ROOTFS_SIZE = "8192"
20IMAGE_ROOTFS_EXTRA_SPACE = "0"
21
22BAD_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 @@
1SUMMARY = "Initramfs image for kexecboot kernel"
2DESCRIPTION = "This image provides kexecboot (linux as bootloader) and helpers."
3
4inherit image
5
6IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
7
8# avoid circular dependencies
9EXTRA_IMAGEDEPENDS = ""
10KERNELDEPMODDEPEND = ""
11
12# We really need just kexecboot, kexec and ubiattach
13IMAGE_INSTALL = "kexecboot kexec mtd-utils-ubifs"
14
15# Do not pollute the initrd image with rootfs features
16IMAGE_FEATURES = ""
17
18IMAGE_LINGUAS = ""
19
20FEED_DEPLOYDIR_BASE_URI = ""
21LDCONFIGDEPEND = ""
22IMAGE_ROOTFS_EXTRA_SPACE = "0"
23
24# disable runtime dependency on run-postinsts -> update-rc.d
25ROOTFS_BOOTSTRAP_INSTALL = ""
26
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 @@
1require initramfs-kexecboot-image.bb
2
3SUMMARY = "Initramfs image for kexecboot kernel (klibc-static binaries)"
4
5# We really need just kexecboot, kexec and ubiattach
6# statically compiled against klibc
7IMAGE_INSTALL = "kexecboot-klibc kexec-klibc ubiattach-klibc"
8
9python () {
10 if d.getVar('TARGET_ARCH') == "nios2":
11 raise bb.parse.SkipRecipe("'nios2' not supported arch")
12}
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 @@
1#!/bin/sh
2
3PATH=/sbin:/bin:/usr/sbin:/usr/bin
4
5do_mount_fs() {
6 grep -q "$1" /proc/filesystems || return
7 test -d "$2" || mkdir -p "$2"
8 mount -t "$1" "$1" "$2"
9}
10
11do_mknod() {
12 test -e "$1" || mknod "$1" "$2" "$3" "$4"
13}
14
15mkdir -p /proc
16mount -t proc proc /proc
17
18do_mount_fs sysfs /sys
19do_mount_fs debugfs /sys/kernel/debug
20do_mount_fs devtmpfs /dev
21do_mount_fs devpts /dev/pts
22do_mount_fs tmpfs /dev/shm
23
24mkdir -p /run
25mkdir -p /var/run
26
27do_mknod /dev/console c 5 1
28do_mknod /dev/null c 1 3
29do_mknod /dev/zero c 1 5
30
31exec 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 @@
1SUMMARY = "Extremely basic live image init script"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
4SRC_URI = "file://init-debug.sh"
5
6S = "${WORKDIR}"
7
8do_install() {
9 install -m 0755 ${WORKDIR}/init-debug.sh ${D}/init
10}
11
12inherit allarch
13
14FILES_${PN} += " /init "