diff --git a/debian/changelog b/debian/changelog index c0b9a881..285dda7d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,24 @@ +livecd-rootfs (24.04.14) noble; urgency=medium + + * When the files we're creating in the live layer have static content, + ship them in live-build/ubuntu/includes.chroot.minimal.standard.live + instead of generating them from + live-build/ubuntu/hooks/020-ubuntu-live.chroot_early. Also fixes the + fact that live-build/ubuntu/hooks/020-ubuntu-live.chroot_early was + incorrectly writing to /root in the previous upload instead of /usr. + + -- Steve Langasek Wed, 20 Dec 2023 11:40:02 -0800 + +livecd-rootfs (24.04.13) noble; urgency=medium + + * Drop support for building armhf+raspi images; as of noble these are + arm64-only. + * live-build/ubuntu/hooks/020-ubuntu-live.chroot_early: move code here + from scripts/casper-bottom/61desktop_canary_tweaks that should be done + statically at image build time, not at boot. + + -- Steve Langasek Wed, 20 Dec 2023 08:15:34 -0800 + livecd-rootfs (24.04.12) noble; urgency=medium * Switch Edubuntu to the new installer. diff --git a/live-build/auto/build b/live-build/auto/build index 23b7bee8..a0cec10f 100755 --- a/live-build/auto/build +++ b/live-build/auto/build @@ -695,7 +695,7 @@ if [ "$NUMFLAVOURS" = 1 ] && [ "$LB_LINUX_FLAVOURS" != "none" ]; then fi case $SUBARCH in - raspi|raspi2) + raspi) # copy the kernel and initrd to a predictable directory for # ubuntu-image consumption. In some cases, like in pi2/3 # u-boot, the bootloader needs to contain the kernel and initrd, diff --git a/live-build/auto/config b/live-build/auto/config index 19373101..8024c53b 100755 --- a/live-build/auto/config +++ b/live-build/auto/config @@ -5,7 +5,7 @@ case $ARCH:$SUBARCH in amd64:|amd64:generic|amd64:intel-iot|\ arm64:|arm64:generic|arm64:raspi|arm64:snapdragon|\ arm64:tegra|arm64:tegra-igx|arm64:x13s|\ - armhf:|armhf:raspi|\ + armhf:|\ i386:|\ ppc64el:|\ riscv64:|riscv64:generic|riscv64:icicle|riscv64:licheerv|\ @@ -342,7 +342,7 @@ if [ -z "${IMAGEFORMAT:-}" ]; then case $PROJECT:${SUBPROJECT:-} in ubuntu-cpc:*|ubuntu:desktop-preinstalled|ubuntu-wsl:*) case $ARCH+${SUBARCH:-} in - *+raspi) + arm64+raspi) # All raspi images use ubuntu-image. IMAGEFORMAT=ubuntu-image ;; @@ -366,7 +366,6 @@ fi # one also must request disk1-img-xz image format if [ "$IMAGEFORMAT" = "ext4" ] && [ "$PROJECT" = "ubuntu-cpc" ]; then case $ARCH:$SUBARCH in - armhf:raspi2 | \ riscv64:icicle | \ riscv64:nezha | \ riscv64:licheerv | \ @@ -416,18 +415,10 @@ case $IMAGEFORMAT in MODEL=pc-amd64 ;; arm64+snapdragon) MODEL=dragonboard ;; - armhf+raspi) - MODEL=pi ;; - armhf+raspi2) - MODEL=pi2 ;; - armhf+raspi3) - MODEL=pi3 ;; arm64+raspi) MODEL=pi-arm64 ;; arm64+raspi3) MODEL=pi3-arm64 ;; - armhf+cm3) - MODEL=cm3 ;; arm64+tegra) MODEL=tegra ;; arm64+tegra-igx) @@ -476,9 +467,6 @@ case $IMAGEFORMAT in else CORE_MAJOR=22 fi - if [ "${MODEL}" = "pi" ]; then - MODEL=pi-armhf - fi # Ubuntu Core 2x # Currently uc2x assertions do not support global # channel overrides, instead we have per-channel models @@ -1053,7 +1041,7 @@ case $PROJECT in BINARY_REMOVE_LINUX=false OPTS="${OPTS:+$OPTS }--initramfs=none" case "$ARCH+${SUBARCH:-}" in - *+raspi) + arm64+raspi) add_task install ubuntu-server-raspi ;; arm64*) @@ -1192,7 +1180,7 @@ if [ "$PREINSTALLED" != "true" ] && [ "$PASSES_TO_LAYERS" != "true" ] && [ "$LIV fi case "$ARCH${SUBARCH:++$SUBARCH}" in - arm*+raspi) + arm64+raspi) # Common configuration for all Raspberry Pi image variants (server, # desktop etc.) KERNEL_FLAVOURS="$SUBARCH" @@ -1329,7 +1317,7 @@ EOF esac case "$ARCH+${SUBARCH:-}" in - *+raspi) + arm64+raspi) cat > config/hooks/01-firmware-directory.chroot_early < /etc/initramfs-tools/conf.d/casperize.conf -export CASPER_GENERATE_UUID=1 -EOF - cat < /etc/initramfs-tools/conf.d/default-layer.conf LAYERFS_PATH=${PASS}.squashfs EOF + +glib-compile-schemas /usr/share/glib-2.0/schemas/ diff --git a/live-build/ubuntu/includes.chroot.minimal.standard.live/etc/initramfs-tools/conf.d/casperize.conf b/live-build/ubuntu/includes.chroot.minimal.standard.live/etc/initramfs-tools/conf.d/casperize.conf new file mode 100644 index 00000000..bd31c96a --- /dev/null +++ b/live-build/ubuntu/includes.chroot.minimal.standard.live/etc/initramfs-tools/conf.d/casperize.conf @@ -0,0 +1 @@ +export CASPER_GENERATE_UUID=1 diff --git a/live-build/ubuntu/includes.chroot.minimal.standard.live/etc/systemd/user/graphical-session.target.wants/ubuntu-desktop-installer.service b/live-build/ubuntu/includes.chroot.minimal.standard.live/etc/systemd/user/graphical-session.target.wants/ubuntu-desktop-installer.service new file mode 120000 index 00000000..aebba6d4 --- /dev/null +++ b/live-build/ubuntu/includes.chroot.minimal.standard.live/etc/systemd/user/graphical-session.target.wants/ubuntu-desktop-installer.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/ubuntu-desktop-installer.service \ No newline at end of file diff --git a/live-build/ubuntu/includes.chroot.minimal.standard.live/usr/lib/systemd/user/ubuntu-desktop-installer.service b/live-build/ubuntu/includes.chroot.minimal.standard.live/usr/lib/systemd/user/ubuntu-desktop-installer.service new file mode 100644 index 00000000..00fa4649 --- /dev/null +++ b/live-build/ubuntu/includes.chroot.minimal.standard.live/usr/lib/systemd/user/ubuntu-desktop-installer.service @@ -0,0 +1,15 @@ +# start the installer on session start, restore normal session on close + +[Unit] +Description=Ubuntu Desktop Installer +PartOf=graphical-session.target +After=graphical-session.target + +# Never run in GDM +Conflicts=gnome-session@gnome-login.target + +[Service] +Type=oneshot +ExecStart=/snap/bin/ubuntu-desktop-installer --try-or-install +ExecStopPost=sh -c "gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed true; gsettings set org.gnome.shell.extensions.dash-to-dock intellihide true; gnome-extensions enable ding@rastersoft.com" +Restart=no diff --git a/live-build/ubuntu/includes.chroot.minimal.standard.live/usr/share/glib-2.0/schemas/casper.gschema.override b/live-build/ubuntu/includes.chroot.minimal.standard.live/usr/share/glib-2.0/schemas/casper.gschema.override new file mode 100644 index 00000000..1213c5ab --- /dev/null +++ b/live-build/ubuntu/includes.chroot.minimal.standard.live/usr/share/glib-2.0/schemas/casper.gschema.override @@ -0,0 +1,12 @@ +# change settings to have an 'installer only' session by default +[org.gnome.desktop.a11y] +always-show-universal-access-status=true + +# we can't unload the dock because the shell would enter the overview on login; +# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1788 +[org.gnome.shell.extensions.dash-to-dock:ubuntu] +dock-fixed=false +intellihide=false + +[org.gnome.shell] +disabled-extensions=['ding@rastersoft.com']