diff --git a/conf/site.conf b/conf/site.conf index 4e839dd7d..9402f8f4b 100644 --- a/conf/site.conf +++ b/conf/site.conf @@ -24,6 +24,9 @@ TEST_TARGET = "simpleremote" # Dont package kernel into image RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "" +# Enable persistent logs across reboots +VOLATILE_LOG_DIR = "no" + EXTRA_IMAGE_FEATURES = "debug-tweaks" # Define a feedserver template to be part of rootfs @@ -111,6 +114,6 @@ IMG_VERSION = "0.0.1" #EXTRA_IMAGE_FEATURES:remove = "debug-tweaks" # For running oe-selftest uncomment below lines -USER_CLASSES:remove = "buildhistory" -PRSERV_HOST = "" +#USER_CLASSES:remove = "buildhistory" +#PRSERV_HOST = "" diff --git a/conf/site.conf.sample b/conf/site.conf.sample index 9301575a4..b257f9531 100644 --- a/conf/site.conf.sample +++ b/conf/site.conf.sample @@ -27,7 +27,7 @@ YOE_PROFILE = "yoe-musl-sysvinit-eglfs" YOE_PROFILE = "yoe-musl-sysvinit-wayland" YOE_PROFILE = "yoe-musl-sysvinit-x11" # configure docker container to run bitbake in -export DOCKER_REPO=yoedistro/yoe-build:buster +export DOCKER_REPO=yoedistro/yoe-build:bullseye # Keep the load in control and do not issue more parallel jobs # when load hits 1.5 * number of cpus diff --git a/envsetup.sh b/envsetup.sh index a60050dc1..4640cc48d 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -439,13 +439,13 @@ yoe_clean_sstate() { } # Docker integration -# set DOCKER_REPO to something like yoedistro/yoe-build:buster +# set DOCKER_REPO to something like yoedistro/yoe-build:bullseye # DOCKER_REPO can be set in scripts that wrap envsetup.sh # set DOCKER_REPO to 'none' to disable docker if [ -z "$DOCKER_REPO" ]; then - echo "Setting DOCKER_REPO to yoedistro/yoe-build:buster" - export DOCKER_REPO=yoedistro/yoe-build:buster + echo "Setting DOCKER_REPO to yoedistro/yoe-build:bullseye" + export DOCKER_REPO=yoedistro/yoe-build:bullseye fi # if we are building using docker, we don't really care what /bin/sh is since the Yoe docker images defaults diff --git a/local.sh.example b/local.sh.example index 16676db01..0bb8094c7 100644 --- a/local.sh.example +++ b/local.sh.example @@ -17,7 +17,7 @@ # export HOST_IP=10.10.10.10 # configure docker container to run bitbake in -#export DOCKER_REPO=yoedistro/yoe-build:buster +#export DOCKER_REPO=yoedistro/yoe-build:bullseye # Flag to control docker launch with pseudo-tty # when output is piped or redirected to files then @@ -28,4 +28,4 @@ # By default docker is used if DOCKER_REPO is set to a value different than # none. If you prefer to use podman instead of docker, un-comment this line -#export DOCKER="podman" \ No newline at end of file +#export DOCKER="podman" diff --git a/sources/bitbake b/sources/bitbake index d720dfa40..c1c8fc678 160000 --- a/sources/bitbake +++ b/sources/bitbake @@ -1 +1 @@ -Subproject commit d720dfa40620e64a557edef527148d58fcb1d858 +Subproject commit c1c8fc678eb4783cea3974328a5fa8d1b79f1266 diff --git a/sources/meta-arm b/sources/meta-arm index 99ecf7287..c713908b7 160000 --- a/sources/meta-arm +++ b/sources/meta-arm @@ -1 +1 @@ -Subproject commit 99ecf728754efd5dd32f3e669c07209125d41930 +Subproject commit c713908b7feb31067601e335222725e5ddcb6668 diff --git a/sources/meta-clang b/sources/meta-clang index 74c7f6524..12a5f8be1 160000 --- a/sources/meta-clang +++ b/sources/meta-clang @@ -1 +1 @@ -Subproject commit 74c7f6524cddd258f916e8e4acfb9e49d1870b65 +Subproject commit 12a5f8be1201fa1fcb62aa004542279d5c9acae0 diff --git a/sources/meta-freescale b/sources/meta-freescale index e904064f0..96a0904cd 160000 --- a/sources/meta-freescale +++ b/sources/meta-freescale @@ -1 +1 @@ -Subproject commit e904064f046612ebd1834d5b2dcdd757c680503b +Subproject commit 96a0904cd0562378411c373f8a976c749772202b diff --git a/sources/meta-freescale-3rdparty b/sources/meta-freescale-3rdparty index f244dd4b2..de0eb1408 160000 --- a/sources/meta-freescale-3rdparty +++ b/sources/meta-freescale-3rdparty @@ -1 +1 @@ -Subproject commit f244dd4b26f5958e586f2cee3e6854489c2a049f +Subproject commit de0eb1408150d77f9cce97c559f9a5a3c71e5d6c diff --git a/sources/meta-intel b/sources/meta-intel index b9da851fa..a2f5f65ca 160000 --- a/sources/meta-intel +++ b/sources/meta-intel @@ -1 +1 @@ -Subproject commit b9da851fa5b713e8eb5d6b1b0b03c9e9fbfff5d0 +Subproject commit a2f5f65ca37c4c831c958a466ab1d6d27da3bdf3 diff --git a/sources/meta-openembedded b/sources/meta-openembedded index 12058113c..aea550e75 160000 --- a/sources/meta-openembedded +++ b/sources/meta-openembedded @@ -1 +1 @@ -Subproject commit 12058113c4d6336a0b1d3af665b98cce8e345975 +Subproject commit aea550e75dbff04d6ff1beb6c699ec4b680e6e8a diff --git a/sources/meta-qcom b/sources/meta-qcom index 5923946a9..f269c1626 160000 --- a/sources/meta-qcom +++ b/sources/meta-qcom @@ -1 +1 @@ -Subproject commit 5923946a9da6eec585d586427f377894c361c55d +Subproject commit f269c162657b1d9a3a7a0cb4144611719ddd51cd diff --git a/sources/meta-yoe/conf/distro/yoe.inc b/sources/meta-yoe/conf/distro/yoe.inc index 9b9627f12..9a5305cfb 100644 --- a/sources/meta-yoe/conf/distro/yoe.inc +++ b/sources/meta-yoe/conf/distro/yoe.inc @@ -95,7 +95,7 @@ INHERIT += "${@bb.utils.contains('BUILD_ARCH', 'ppc64le', '', 'uninative', d)}" # Add /etc/build to every image INHERIT += "image-buildinfo" -DISTRO_FEATURES:append = " largefile opengl multiarch wayland pam vulkan" +DISTRO_FEATURES:append = " largefile opengl multiarch wayland pam vulkan usrmerge" #PREFERRED_PROVIDER_pkgconfig = "pkgconf" #PREFERRED_PROVIDER_pkgconfig-native = "pkgconf-native" diff --git a/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging/overlayfs.cfg b/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging/overlayfs.cfg new file mode 100644 index 000000000..912223899 --- /dev/null +++ b/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging/overlayfs.cfg @@ -0,0 +1 @@ +CONFIG_OVERLAY_FS=y diff --git a/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend b/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend index d7a09b2e6..19ecb6acf 100644 --- a/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend +++ b/sources/meta-yoe/dynamic-layers/meta-ti/recipes-kernel/linux/linux-ti-staging_%.bbappend @@ -3,9 +3,11 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" SRC_URI += "file://wireguard.cfg \ file://updater.cfg \ file://extra.cfg \ + file://overlayfs.cfg \ " KERNEL_CONFIG_FRAGMENTS += "${WORKDIR}/wireguard.cfg \ ${WORKDIR}/updater.cfg \ ${WORKDIR}/extra.cfg \ + ${WORKDIR}/overlayfs.cfg \ " diff --git a/sources/meta-yoe/recipes-core/util-linux/util-linux_%.bbappend b/sources/meta-yoe/recipes-core/util-linux/util-linux_%.bbappend new file mode 100644 index 000000000..24a3d74c2 --- /dev/null +++ b/sources/meta-yoe/recipes-core/util-linux/util-linux_%.bbappend @@ -0,0 +1 @@ +ALTERNATIVE_LINK_NAME[findfs] = "${sbindir}/findfs" diff --git a/sources/meta-yoe/recipes-support/updater/files/updater.installer b/sources/meta-yoe/recipes-support/updater/files/updater.installer index ef36a0288..62b52fd64 100644 --- a/sources/meta-yoe/recipes-support/updater/files/updater.installer +++ b/sources/meta-yoe/recipes-support/updater/files/updater.installer @@ -54,6 +54,13 @@ msg_splash() { fi } +rescue_shell() { + msg "$@" + msg "Something went wrong. Dropping you to a shell." + busybox --install -s + exec /bin/sh +} + start_splash() { if [ -e /usr/bin/psplash ]; then splash_enabled=1 @@ -76,13 +83,11 @@ restart() { initialize() { msg "============================================================" msg "Updater version $VERSION" - mkdir -p /dev - mkdir -p /sys - mkdir -p /proc + mkdir -p /dev /sys /proc mount -t devtmpfs none /dev - mount -t sysfs sysfs /sys - mount -t proc proc /proc + mount -t sysfs none /sys + mount -t proc none /proc start_splash @@ -274,7 +279,15 @@ mount_data() { return 1 fi fi - mkdir -p $mount/log +} + +mount_overlay() { + mkdir -p /mnt/data/upper /mnt/data/work /mnt/data/persistent + mount -t overlay -o ro,lowerdir=/mnt/data/persistent:/mnt/rootfs,upperdir=/mnt/data/upper,workdir=/mnt/data/work overlay /mnt/rootfs +} + +umount_overlay() { + umount $dir } umount_data() { @@ -285,39 +298,35 @@ umount_data() { } mount_rootfs_sd() { - mkdir -p $ROOTFS_MOUNT_POINT - if ! mount $SD_ROOTFS_DEV $ROOTFS_MOUNT_POINT; then + mkdir -p /mnt/rootfs /mnt/data /mnt/boot + if ! mount $SD_ROOTFS_DEV /mnt/rootfs; then fsck -y $SD_ROOTFS_DEV - if ! mount $SD_ROOTFS_DEV $ROOTFS_MOUNT_POINT; then + if ! mount $SD_ROOTFS_DEV /mnt/rootfs; then msg_splash "Error mount SD rootfs, please fix ..." speak "updater, S D file system error" sleep 9999d fi fi - mkdir -p $SD_BOOT_MOUNT_IN_ROOTFS $SD_DATA_MOUNT_IN_ROOTFS - mount_boot $SD_BOOT_MOUNT $SD_BOOT_DEV - mount_data $SD_DATA_MOUNT $SD_DATA_DEV - mount --move $SD_BOOT_MOUNT $SD_BOOT_MOUNT_IN_ROOTFS - mount --move $SD_DATA_MOUNT $SD_DATA_MOUNT_IN_ROOTFS + mount_boot /mnt/boot $SD_BOOT_DEV + mount_data /mnt/data $SD_DATA_DEV + mount_overlay } mount_rootfs_emmc() { - mkdir -p $ROOTFS_MOUNT_POINT - if ! mount $EMMC_ROOTFS_DEV $ROOTFS_MOUNT_POINT; then + mkdir -p /mnt/rootfs /mnt/data /mnt/boot + if ! mount $EMMC_ROOTFS_DEV /mnt/rootfs; then fsck -y $EMMC_ROOTFS_DEV - if ! mount $EMMC_ROOTFS_DEV $ROOTFS_MOUNT_POINT; then + if ! mount $EMMC_ROOTFS_DEV /mnt/rootfs; then msg_splash "Error mount EMMC rootfs, please fix ..." speak "updater, E M M C file system error" sleep 9999d fi fi - mkdir -p $EMMC_BOOT_MOUNT_IN_ROOTFS $EMMC_DATA_MOUNT_IN_ROOTFS - mount_boot $EMMC_BOOT_MOUNT $EMMC_BOOT_DEV - mount_data $EMMC_DATA_MOUNT $EMMC_DATA_DEV - mount --move $EMMC_BOOT_MOUNT $EMMC_BOOT_MOUNT_IN_ROOTFS - mount --move $EMMC_DATA_MOUNT $EMMC_DATA_MOUNT_IN_ROOTFS + mount_boot /mnt/boot $EMMC_BOOT_DEV + mount_data /mnt/data $EMMC_DATA_DEV + mount_overlay } mount_rootfs_nand() { @@ -474,16 +483,16 @@ update_from_sd() { } update_from_data() { - update_file=$(find_update_file $DATA_MOUNT_POINT) + update_file=$(find_update_file $DATA_MOUNT_POINT/upper/data) if [ "$update_file" != "" ]; then speak "update found on data partition" msg_splash "Updating from Data partition: $update_file" - if ! process_update $DATA_MOUNT_POINT/$update_file; then + if ! process_update $DATA_MOUNT_POINT/upper/data/$update_file; then msg_splash "Failed to process update from data partition" speak "updater, failed to process update from data partition" return 1 else - rm -rf $DATA_MOUNT_POINT/$update_file + rm -rf $DATA_MOUNT_POINT/upper/data/$update_file msg_splash "Update from Data partition complete" return 0 fi @@ -525,14 +534,18 @@ boot() { fi msg_splash "Moving system mounts into rootfs..." - mount --move /dev $ROOTFS_MOUNT_POINT/dev - mount --move /proc $ROOTFS_MOUNT_POINT/proc - mount --move /sys $ROOTFS_MOUNT_POINT/sys + #mount --move /dev /mnt/rootfs/dev + #mount --move /proc /mnt/rootfs/proc + #mount --move /sys /mnt/rootfs/sys + umount /proc + umount /sys + umount /dev msg_splash "switching to main filesystem" msg_splash 50 - exec switch_root -c /dev/console $ROOTFS_MOUNT_POINT /sbin/init 5 + #exec switch_root -c /dev/console /mnt/rootfs /sbin/init + exec switch_root /mnt/rootfs /sbin/init } initialize diff --git a/sources/openembedded-core b/sources/openembedded-core index 39743abad..8bed8e699 160000 --- a/sources/openembedded-core +++ b/sources/openembedded-core @@ -1 +1 @@ -Subproject commit 39743abada4a2459c74831aa78930de5461adee2 +Subproject commit 8bed8e6993e7297bdcd68940aa0d47ef47120117