| # Simple initramfs image artifact generation for tiny images. |
| SUMMARY = "Tiny image capable of booting a device." |
| DESCRIPTION = "Tiny image capable of booting a device. The kernel includes \ |
| the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the \ |
| first 'init' program more efficiently. core-image-tiny-initramfs doesn't \ |
| actually generate an image but rather generates boot and rootfs artifacts \ |
| that can subsequently be picked up by external image generation tools such as wic." |
| |
| VIRTUAL-RUNTIME_dev_manager ?= "busybox-mdev" |
| |
| PACKAGE_INSTALL = "initramfs-live-boot-tiny packagegroup-core-boot dropbear ${VIRTUAL-RUNTIME_base-utils} ${VIRTUAL-RUNTIME_dev_manager} base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}" |
| |
| # Do not pollute the initrd image with rootfs features |
| IMAGE_FEATURES = "" |
| |
| IMAGE_NAME_SUFFIX ?= "" |
| IMAGE_LINGUAS = "" |
| |
| LICENSE = "MIT" |
| |
| # don't actually generate an image, just the artifacts needed for one |
| IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}" |
| |
| inherit core-image |
| |
| IMAGE_ROOTFS_SIZE = "8192" |
| IMAGE_ROOTFS_EXTRA_SPACE = "0" |
| |
| # Use the same restriction as initramfs-live-install |
| COMPATIBLE_HOST = "(i.86|x86_64|aarch64|arm).*-linux" |
| |
| python tinyinitrd () { |
| # Modify our init file so the user knows we drop to shell prompt on purpose |
| newinit = None |
| with open(d.expand('${IMAGE_ROOTFS}/init'), 'r') as init: |
| newinit = init.read() |
| newinit = newinit.replace('Cannot find $ROOT_IMAGE file in /run/media/* , dropping to a shell ', 'Poky Tiny Reference Distribution:') |
| with open(d.expand('${IMAGE_ROOTFS}/init'), 'w') as init: |
| init.write(newinit) |
| } |
| |
| IMAGE_PREPROCESS_COMMAND += "tinyinitrd" |
| |
| QB_KERNEL_CMDLINE_APPEND += "debugshell=3 init=/bin/busybox sh init" |