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
0c06d8a3d3
commit
046634e17a
|
@ -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,71 @@
|
|||
DESCRIPTION = "ubi with rescue slot"
|
||||
|
||||
LICENSE = "MIT"
|
||||
|
||||
PACKAGES = ""
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
DEPENDS = "mtd-utils-native"
|
||||
|
||||
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