mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

Some kernels, for example linux-yocto 3.19 for qemux86, fail to execute /init in an initramfs unless there is already a /dev/console char device in the initramfs. Booting then fails with: Kernel panic - not syncing: /dev/console is missing or not a character device! Please ensure your rootfs is properly configured The panic itself comes from a linux-yocto specific patch to kernel_init_freeable in init/main.c, but even without it, that function will print an error when /dev/console is missing. The kernel's Documentation/initrd.txt also mentions creating that device. It remained unclear why this is not a problem on other machines. On intel-corei7-64 from meta-intel, something (the kernel?) creates /dev/console and /dev/[012] before transfering control to the init script. In that case, creating /dev/console in advance is not necessary, but does not cause any problem either. (From OE-Core rev: 1b64664f0c388f41084f5db6e46e3e68c53fb6d9) Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
22 lines
513 B
BlitzBasic
22 lines
513 B
BlitzBasic
SUMMARY = "Live image init script"
|
|
LICENSE = "MIT"
|
|
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
|
DEPENDS = "virtual/kernel"
|
|
RDEPENDS_${PN} = "udev udev-extraconf"
|
|
SRC_URI = "file://init-live.sh"
|
|
|
|
PR = "r12"
|
|
|
|
S = "${WORKDIR}"
|
|
|
|
do_install() {
|
|
install -m 0755 ${WORKDIR}/init-live.sh ${D}/init
|
|
install -d ${D}/dev
|
|
mknod -m 622 ${D}/dev/console c 5 1
|
|
}
|
|
|
|
FILES_${PN} += " /init /dev "
|
|
|
|
# Due to kernel dependency
|
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|