diff --git a/debian/changelog b/debian/changelog index bd800cb1..0c98f3d2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,37 @@ +livecd-rootfs (2.664.27) focal; urgency=medium + + * And whoops, we missed adding ARCH in the SUBARCH ubuntu-image handling for + intel-iot. + + -- Łukasz 'sil2100' Zemczak Wed, 04 Aug 2021 17:32:37 +0200 + +livecd-rootfs (2.664.26) focal; urgency=medium + + * Revert previous change of fixing /dev sharing - this causes weird + autopkgtest issues. + + -- Łukasz 'sil2100' Zemczak Mon, 02 Aug 2021 22:13:03 +0200 + +livecd-rootfs (2.664.25) focal; urgency=medium + + [ Brian Murray ] + * Add support for creating images (ubuntu-core and classic) with a kernel + optimized for Intel IoT devices. (LP: #1938338) + + [ Michael Hudson-Doyle ] + * Simplify how the subiquity client is run on the serial console in the live + server environment, breaking a unit cycle that sometimes prevents + subiquity from starting up at all. (LP: #1888497) + * Do not set the password for the installer user via cloud-init as subiquity + can now do this itself. (LP: #1933523) + + [ Łukasz 'sil2100' Zemczak ] + * Fix sharing of the /dev tree to make sure we can safely umount the chroot + when needed. This fixes local non-livefs-builder image builds. + (LP: #1938414) + + -- Łukasz 'sil2100' Zemczak Thu, 29 Jul 2021 11:05:58 +0200 + livecd-rootfs (2.664.24) focal; urgency=medium * Backport generalising of the riscv64 images from hirsute to support diff --git a/live-build/auto/config b/live-build/auto/config index 86e506e3..fa655830 100755 --- a/live-build/auto/config +++ b/live-build/auto/config @@ -280,7 +280,7 @@ if [ -z "${IMAGEFORMAT:-}" ]; then case $PROJECT:${SUBPROJECT:-} in ubuntu-cpc:*|ubuntu:desktop-preinstalled) case $SUBARCH in - raspi|imx6) + raspi|imx6|intel-iot) IMAGEFORMAT=ubuntu-image ;; *) @@ -320,6 +320,8 @@ case $IMAGEFORMAT in ubuntu-image) UBUNTU_IMAGE_ARGS="" case "$ARCH+${SUBARCH:-}" in + amd64+intel-iot) + MODEL=intel-iot ;; amd64+*) MODEL=pc-amd64 ;; i386+*) @@ -436,6 +438,9 @@ case $IMAGEFORMAT in pi) BRANCH=18-armhf ;; + intel-iot) + MODEL=pc + ;; esac UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS${PROPOSED:+ --with-proposed}" @@ -444,7 +449,7 @@ case $IMAGEFORMAT in # We need to look in two places for the gadget tree: # - Launchpad hosted gadgets will be in the snap-gadget repo # - Github hosted gadgets are mirrored into a github-mirror repo - git clone git://git.launchpad.net/~canonical-foundations/snap-$MODEL/+git/snap-$MODEL -b $BRANCH config/$PREFIX-gadget || git clone git://git.launchpad.net/~canonical-foundations/snap-$MODEL/+git/github-mirror -b $BRANCH config/$PREFIX-gadget + git clone git://git.launchpad.net/~canonical-foundations/snap-$MODEL/+git/snap-$MODEL -b $BRANCH config/$PREFIX-gadget || git clone git://git.launchpad.net/~canonical-foundations/snap-$MODEL/+git/github-mirror -b $BRANCH config/$PREFIX-gadget || git clone git://git.launchpad.net/~canonical-foundations/snap-$MODEL/+git/github-mirror-$ARCH -b $BRANCH config/$PREFIX-gadget echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common echo "SUITE=$SUITE" >> config/common @@ -590,6 +595,19 @@ case $PROJECT in remove_packages_from_seed_regexp minimal.standard desktop-default-languages '^desktop-(?!default-languages|minimal|common)[^.]+$' remove_packages_from_seed_regexp minimal.standard desktop-default-languages '' # none (if no default langpack is selected) ;; + + desktop-preinstalled) + add_task install minimal standard ubuntu-desktop + if [ "$SUBARCH" = "intel-iot" ]; then + KERNEL_FLAVOURS='image-intel' + COMPONENTS='main restricted universe' + OPTS="${OPTS:+$OPTS }--initramfs=none" + OPTS="${OPTS:+$OPTS }--system=normal" + OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs" + OPTS="${OPTS:+$OPTS }--ext-resize-blocks=536870912 --ext-block-size=4096" + OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15" + fi + ;; *) LIVE_TASK='ubuntu-live' add_task install minimal standard ubuntu-desktop @@ -815,6 +833,13 @@ case $PROJECT in arm64) add_package install flash-kernel ;; + amd64) + if [ "${SUBARCH:-}" = "intel-iot" ]; then + KERNEL_FLAVOURS=image-intel + COMPONENTS='main restricted universe' + OPTS="${OPTS:+$OPTS }--initramfs=none" + fi + ;; riscv64) if [ -n "$SUBARCH" ]; then KERNEL_FLAVOURS=generic @@ -974,6 +999,14 @@ case $PROJECT in _) add_chroot_hook remove-python-py ;; + amd64) + KERNEL_FLAVOURS="${SUBARCH:-$KERNEL_FLAVOURS}" + case $SUBARCH in + intel-iot) + COMPONENTS='main restricted universe' + KERNEL_FLAVOURS='image-intel' + esac + ;; esac lb config noauto \ diff --git a/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg b/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg index 3756203e..e9571afd 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg +++ b/live-build/ubuntu-server/includes.binary/overlay/etc/cloud/cloud.cfg @@ -17,8 +17,6 @@ preserve_hostname: true ssh_pwauth: yes chpasswd: expire: false - list: - - installer:RANDOM # This is the initial network config. # It can be overwritten by cloud-init or subiquity. @@ -34,7 +32,7 @@ network: name: "eth*" dhcp4: true -final_message: "## template: jinja\nCloud-init v. {{version}} finished at {{timestamp}}. Datasource {{datasource}}. Up {{uptime}} seconds\n\n\nWelcome to Ubuntu Server Installer!\n\nAbove you will find SSH host keys and a random password set for the `installer` user. You can use these credentials to ssh-in and complete the installation. If you provided SSH keys in the cloud-init datasource, they were also provisioned to the installer user.\n\nIf you have access to the graphical console, like TTY1 or HMC ASCII terminal you can complete the installation there too." +# We used to have a custom final_message here. Just use the default instead. # Example datasource config # datasource: diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service new file mode 120000 index 00000000..dc1dc0cd --- /dev/null +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/getty@tty1.service @@ -0,0 +1 @@ +/dev/null \ No newline at end of file diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf index 9aef8ee3..eebf38b4 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@.service.d/subiquity-serial.conf @@ -1,2 +1,9 @@ +[Unit] +Description=Subiquity, the installer for Ubuntu Server %I +After=snapd.seeded.service +StartLimitInterval=0 + [Service] -ExecStartPre=/bin/systemctl start serial-subiquity@%i.service +Environment=SNAP_REEXEC=0 +ExecStart= +ExecStart=/usr/bin/snap run subiquity.subiquity-service %I diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf index 7aa450d4..56900a35 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/serial-getty@sclp_line0.service.d/subiquity-serial.conf @@ -1,6 +1,4 @@ -[Unit] -After=cloud-final.service snapd.seeded.service [Service] StandardOutput=tty -ExecStartPre= -ExecStartPre=/usr/bin/snap run subiquity --ssh +ExecStart= +ExecStart=/usr/bin/snap run subiquity --ssh diff --git a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf index c2b64591..c1af5666 100644 --- a/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf +++ b/live-build/ubuntu-server/includes.binary/overlay/usr/lib/systemd/system/snap.subiquity.subiquity-service.service.d/subiquity.conf @@ -1,7 +1,6 @@ [Unit] IgnoreOnIsolate=yes After=systemd-user-sessions.service plymouth-quit-wait.service snap.seeded.service -ConditionPathExists=!/run/subiquity/complete [Service] Environment=SNAP_REEXEC=0