poky/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb
Richard Purdie 4b41d9072a busybox/packagegroups: Break out the busybox-syslog dependency
The busybox-syslog rrecomends is proving tricky as it gets pulled in early and
there are conflicts between its use of update-alternatives and busybox needing
to provide those things.

We already have recipes using BAD_RRECOMMENDS to remove this dependency, it probably
makes sense to spell it out explicitly and allow it to be overridden more easily.

This patch does this, dropping the now unneeded BAD_RRECOMMENDS. It preserves
the dependency as a recommendation for now, further cleanup may allow simplication
of that.

This unbreaks certain build failures on the autobuilder, more as a workaround but
is a change we probably want to make anyway.

(From OE-Core rev: 544ade2d78f1375d9e93d6bf5842d857ddaf3530)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:07 +01:00

101 lines
3.3 KiB
BlitzBasic

SUMMARY = "Modular initramfs system"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_base-utils}"
RRECOMMENDS_${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}"
PR = "r4"
inherit allarch
SRC_URI = "file://init \
file://exec \
file://nfsrootfs \
file://rootfs \
file://finish \
file://mdev \
file://udev \
file://e2fs \
file://debug \
"
S = "${WORKDIR}"
do_install() {
install -d ${D}/init.d
# base
install -m 0755 ${WORKDIR}/init ${D}/init
install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs
install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs
install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish
# exec
install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec
# mdev
install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev
# udev
install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev
# e2fs
install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs
# debug
install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug
# Create device nodes expected by some kernels in initramfs
# before even executing /init.
install -d ${D}/dev
mknod -m 622 ${D}/dev/console c 5 1
}
PACKAGES = "${PN}-base \
initramfs-module-exec \
initramfs-module-mdev \
initramfs-module-udev \
initramfs-module-e2fs \
initramfs-module-nfsrootfs \
initramfs-module-rootfs \
initramfs-module-debug \
"
FILES_${PN}-base = "/init /init.d/99-finish /dev"
# 99-finish in base depends on some other module which mounts
# the rootfs, like 90-rootfs. To replace that default, use
# BAD_RECOMMENDATIONS += "initramfs-module-rootfs" in your
# initramfs recipe and install something else, or install
# something that runs earlier (for example, a 89-my-rootfs)
# and mounts the rootfs. Then 90-rootfs will proceed immediately.
RRECOMMENDS_${PN}-base += "initramfs-module-rootfs"
SUMMARY_initramfs-module-exec = "initramfs support for easy execution of applications"
RDEPENDS_initramfs-module-exec = "${PN}-base"
FILES_initramfs-module-exec = "/init.d/89-exec"
SUMMARY_initramfs-module-mdev = "initramfs support for mdev"
RDEPENDS_initramfs-module-mdev = "${PN}-base busybox-mdev"
FILES_initramfs-module-mdev = "/init.d/01-mdev"
SUMMARY_initramfs-module-udev = "initramfs support for udev"
RDEPENDS_initramfs-module-udev = "${PN}-base udev"
FILES_initramfs-module-udev = "/init.d/01-udev"
SUMMARY_initramfs-module-e2fs = "initramfs support for ext4/ext3/ext2 filesystems"
RDEPENDS_initramfs-module-e2fs = "${PN}-base"
FILES_initramfs-module-e2fs = "/init.d/10-e2fs"
SUMMARY_initramfs-module-nfsrootfs = "initramfs support for locating and mounting the root partition via nfs"
RDEPENDS_initramfs-module-nfsrootfs = "${PN}-base"
FILES_initramfs-module-nfsrootfs = "/init.d/85-nfsrootfs"
SUMMARY_initramfs-module-rootfs = "initramfs support for locating and mounting the root partition"
RDEPENDS_initramfs-module-rootfs = "${PN}-base"
FILES_initramfs-module-rootfs = "/init.d/90-rootfs"
SUMMARY_initramfs-module-debug = "initramfs dynamic debug support"
RDEPENDS_initramfs-module-debug = "${PN}-base"
FILES_initramfs-module-debug = "/init.d/00-debug"