image-rauc-ubi: change rescue slot layout
Splitt of the actual rescue root filesystem to image-rauc-rescue-initramfs and build image-rauc-ubi using kernel+initramfs (like normal rauc slots). Signed-off-by: Jan Luebbe <jluebbe@debian.org>
This commit is contained in:
parent
4f4f0af076
commit
f8674f6eb4
|
@ -0,0 +1,41 @@
|
||||||
|
DESCRIPTION = "rescue initramfs"
|
||||||
|
|
||||||
|
PACKAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} rauc dropbear"
|
||||||
|
|
||||||
|
IMAGE_LINGUAS = ""
|
||||||
|
|
||||||
|
LICENSE = "MIT"
|
||||||
|
|
||||||
|
# cpio config
|
||||||
|
XZ_COMPRESSION_LEVEL = "-e -9 --lzma2=dict=512KiB"
|
||||||
|
XZ_THREADS = "-T 0"
|
||||||
|
XZ_INTEGRITY_CHECK = "crc32"
|
||||||
|
|
||||||
|
IMAGE_FSTYPES = "cpio.xz"
|
||||||
|
|
||||||
|
BAD_RECOMMENDATIONS_append = " busybox-syslog"
|
||||||
|
BAD_RECOMMENDATIONS_append_sysmobts-v2 = " e2fsprogs-e2fsck"
|
||||||
|
BAD_RECOMMENDATIONS_append_sysmocom-odu = " e2fsprogs-e2fsck"
|
||||||
|
|
||||||
|
inherit core-image
|
||||||
|
require recipes-apps/images/image-manifest.inc
|
||||||
|
|
||||||
|
shrink_rescue() {
|
||||||
|
# The kernel should not be in the initramfs
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/boot
|
||||||
|
|
||||||
|
# In case of the sysmoBTS.. remove files
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/firmware/sysmobts*
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/staging/sysmobts/msgqueue.ko
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/fpgadl.ko
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/staging/sysmobts/rtfifo.ko
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/dspdl.ko
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/dspdl_dm644x.ko
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/fpgadl_par.ko
|
||||||
|
|
||||||
|
# Who cares about udev?
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/lib/udev/hwdb.d/*
|
||||||
|
rm -rf ${IMAGE_ROOTFS}/etc/udev/hwdb.bin
|
||||||
|
}
|
||||||
|
|
||||||
|
IMAGE_PREPROCESS_COMMAND += "shrink_rescue; "
|
|
@ -1,71 +0,0 @@
|
||||||
DESCRIPTION = "rescue initramfs"
|
|
||||||
|
|
||||||
PACKAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} rauc dropbear"
|
|
||||||
|
|
||||||
IMAGE_LINGUAS = ""
|
|
||||||
|
|
||||||
LICENSE = "MIT"
|
|
||||||
|
|
||||||
inherit core-image
|
|
||||||
require recipes-apps/images/image-manifest.inc
|
|
||||||
|
|
||||||
# cpio config
|
|
||||||
XZ_COMPRESSION_LEVEL = "-e -9 --lzma2=dict=512KiB"
|
|
||||||
XZ_THREADS = "-T 0"
|
|
||||||
XZ_INTEGRITY_CHECK = "crc32"
|
|
||||||
|
|
||||||
# ubifs config (override IMAGE_CMD_ubi to create custome volumes)
|
|
||||||
IMAGE_CMD_ubi () {
|
|
||||||
echo \[rescue\] > ubinize.cfg
|
|
||||||
echo mode=ubi >> ubinize.cfg
|
|
||||||
echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs >> ubinize.cfg
|
|
||||||
echo vol_id=0 >> ubinize.cfg
|
|
||||||
echo vol_size=32MiB >> ubinize.cfg
|
|
||||||
echo vol_type=dynamic >> ubinize.cfg
|
|
||||||
echo vol_name=rescue >> ubinize.cfg
|
|
||||||
echo \[system0\] >> ubinize.cfg
|
|
||||||
echo mode=ubi >> ubinize.cfg
|
|
||||||
echo vol_id=1 >> ubinize.cfg
|
|
||||||
echo vol_size=32MiB >> ubinize.cfg
|
|
||||||
echo vol_type=dynamic >> ubinize.cfg
|
|
||||||
echo vol_name=system0 >> ubinize.cfg
|
|
||||||
echo \[system1\] >> ubinize.cfg
|
|
||||||
echo mode=ubi >> ubinize.cfg
|
|
||||||
echo vol_id=2 >> ubinize.cfg
|
|
||||||
echo vol_size=32MiB >> ubinize.cfg
|
|
||||||
echo vol_type=dynamic >> ubinize.cfg
|
|
||||||
echo vol_name=system1 >> ubinize.cfg
|
|
||||||
echo \[data\] >> ubinize.cfg
|
|
||||||
echo mode=ubi >> ubinize.cfg
|
|
||||||
echo vol_id=3 >> ubinize.cfg
|
|
||||||
echo vol_size=4MiB >> ubinize.cfg
|
|
||||||
echo vol_type=dynamic >> ubinize.cfg
|
|
||||||
echo vol_name=data >> ubinize.cfg
|
|
||||||
echo vol_flags=autoresize >> ubinize.cfg
|
|
||||||
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs ${MKUBIFS_ARGS} && ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi ${UBINIZE_ARGS} ubinize.cfg
|
|
||||||
}
|
|
||||||
|
|
||||||
IMAGE_FSTYPES_sysmocom-idu = "cpio.xz"
|
|
||||||
IMAGE_FSTYPES_sysmobts-v2 = "ubi"
|
|
||||||
|
|
||||||
BAD_RECOMMENDATIONS_append = " busybox-syslog"
|
|
||||||
BAD_RECOMMENDATIONS_append_sysmobts-v2 = " e2fsprogs-e2fsck"
|
|
||||||
BAD_RECOMMENDATIONS_append_sysmocom-odu = " e2fsprogs-e2fsck"
|
|
||||||
|
|
||||||
|
|
||||||
shrink_rescue() {
|
|
||||||
# In case of the sysmoBTS.. remove files
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/firmware/sysmobts*
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/staging/sysmobts/msgqueue.ko
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/fpgadl.ko
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/staging/sysmobts/rtfifo.ko
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/dspdl.ko
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/dspdl_dm644x.ko
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/fpgadl_par.ko
|
|
||||||
|
|
||||||
# Who cares about udev?
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/lib/udev/hwdb.d/*
|
|
||||||
rm -rf ${IMAGE_ROOTFS}/etc/udev/hwdb.bin
|
|
||||||
}
|
|
||||||
|
|
||||||
IMAGE_PREPROCESS_COMMAND += "shrink_rescue; "
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
DESCRIPTION = "ubi with rescue slot"
|
||||||
|
|
||||||
|
LICENSE = "MIT"
|
||||||
|
|
||||||
|
PACKAGES = ""
|
||||||
|
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||||
|
|
||||||
|
do_fetch[cleandirs] = "${S}"
|
||||||
|
do_patch[noexec] = "1"
|
||||||
|
do_configure[noexec] = "1"
|
||||||
|
do_compile[noexec] = "1"
|
||||||
|
do_install[noexec] = "1"
|
||||||
|
do_populate_sysroot[noexec] = "1"
|
||||||
|
do_package[noexec] = "1"
|
||||||
|
do_package_write_ipk[noexec] = "1"
|
||||||
|
do_package_write_deb[noexec] = "1"
|
||||||
|
do_package_write_rpm[noexec] = "1"
|
||||||
|
|
||||||
|
do_fetch[depends] = "virtual/kernel:do_build image-rauc-rescue-initramfs:do_build"
|
||||||
|
|
||||||
|
S = "${WORKDIR}"
|
||||||
|
|
||||||
|
do_fetch() {
|
||||||
|
mkdir -p "${S}/fs"
|
||||||
|
|
||||||
|
cp "${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin" "${S}/fs/kernel"
|
||||||
|
cp "${DEPLOY_DIR_IMAGE}/image-rauc-rescue-initramfs-${MACHINE}.cpio.xz" "${S}/fs/initramfs"
|
||||||
|
}
|
||||||
|
|
||||||
|
IMAGE_ROOTFS = "${S}/fs"
|
||||||
|
IMAGE_NAME = "${PN}-${MACHINE}-${DATETIME}"
|
||||||
|
# Don't include the DATETIME variable in the sstate package sigantures
|
||||||
|
IMAGE_NAME[vardepsexclude] = "DATETIME"
|
||||||
|
IMAGE_LINK_NAME = "${PN}-${MACHINE}"
|
||||||
|
|
||||||
|
do_deploy() {
|
||||||
|
echo \[rescue\] > ubinize.cfg
|
||||||
|
echo mode=ubi >> ubinize.cfg
|
||||||
|
echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rescue.ubifs >> ubinize.cfg
|
||||||
|
echo vol_id=0 >> ubinize.cfg
|
||||||
|
echo vol_size=32MiB >> ubinize.cfg
|
||||||
|
echo vol_type=dynamic >> ubinize.cfg
|
||||||
|
echo vol_name=rescue >> ubinize.cfg
|
||||||
|
echo \[system0\] >> ubinize.cfg
|
||||||
|
echo mode=ubi >> ubinize.cfg
|
||||||
|
echo vol_id=1 >> ubinize.cfg
|
||||||
|
echo vol_size=32MiB >> ubinize.cfg
|
||||||
|
echo vol_type=dynamic >> ubinize.cfg
|
||||||
|
echo vol_name=system0 >> ubinize.cfg
|
||||||
|
echo \[system1\] >> ubinize.cfg
|
||||||
|
echo mode=ubi >> ubinize.cfg
|
||||||
|
echo vol_id=2 >> ubinize.cfg
|
||||||
|
echo vol_size=32MiB >> ubinize.cfg
|
||||||
|
echo vol_type=dynamic >> ubinize.cfg
|
||||||
|
echo vol_name=system1 >> ubinize.cfg
|
||||||
|
echo \[data\] >> ubinize.cfg
|
||||||
|
echo mode=ubi >> ubinize.cfg
|
||||||
|
echo vol_id=3 >> ubinize.cfg
|
||||||
|
echo vol_size=4MiB >> ubinize.cfg
|
||||||
|
echo vol_type=dynamic >> ubinize.cfg
|
||||||
|
echo vol_name=data >> ubinize.cfg
|
||||||
|
echo vol_flags=autoresize >> ubinize.cfg
|
||||||
|
|
||||||
|
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rescue.ubifs ${MKUBIFS_ARGS}
|
||||||
|
ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.ubi ${UBINIZE_ARGS} ubinize.cfg
|
||||||
|
ln -sf ${IMAGE_NAME}.ubi ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.ubi
|
||||||
|
}
|
||||||
|
|
||||||
|
addtask deploy after do_fetch before do_build
|
Loading…
Reference in New Issue