Imported 2.784

No reason for CPC update specified.
This commit is contained in:
CloudBuilder 2022-09-25 12:38:19 +00:00
parent e2566a9a09
commit 81eff29515
4 changed files with 97 additions and 14 deletions

22
debian/changelog vendored
View File

@ -1,3 +1,25 @@
livecd-rootfs (2.784) kinetic; urgency=medium
* Don't set a desktop base seed for ubuntu-base or ubuntu-core.
* autopkgtest now references ubuntu-server:live, the only ubuntu-server we
still build.
-- Steve Langasek <steve.langasek@ubuntu.com> Sun, 25 Sep 2022 01:52:55 -0700
livecd-rootfs (2.783) kinetic; urgency=medium
[ Alexandre Ghiti ]
* Support for the LicheeRV Dock and Microchip icicle.
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Fri, 23 Sep 2022 12:02:03 +0200
livecd-rootfs (2.782) kinetic; urgency=medium
* Default to using 'desktop' for the base seed so we don't have another
place we have to extend the list for each new flavor (ubuntu-unity)
-- Steve Langasek <steve.langasek@ubuntu.com> Thu, 22 Sep 2022 15:36:51 -0700
livecd-rootfs (2.781) kinetic; urgency=medium
* Drop override of components for raspi images. The reference to

View File

@ -37,7 +37,7 @@ ALL_TRIPLETS="
ubuntu-mate-desktop::
ubuntu-mate-live::
ubuntu-netbook::
ubuntu-server::
ubuntu-server:live:ubuntu-server
xubuntu::"
if [ -z "$SELECTED_TRIPLETS" ]; then

View File

@ -352,7 +352,7 @@ fi
# one also must request disk1-img-xz image format
if [ "$IMAGEFORMAT" = "ext4" ] && [ "$PROJECT" = "ubuntu-cpc" ]; then
case $ARCH:$SUBARCH in
armhf:raspi2|riscv64:sifive_*|riscv64:nezha|riscv64:visionfive|*:generic)
armhf:raspi2|riscv64:sifive_*|riscv64:nezha|riscv64:visionfive|riscv64:licheerv|riscv64:icicle|*:generic)
IMAGE_HAS_HARDCODED_PASSWORD=1
if [ -z "${IMAGE_TARGETS:-}" ]; then
export IMAGE_TARGETS="disk1-img-xz"
@ -966,7 +966,7 @@ case $PROJECT in
riscv64*)
if [ -n "$SUBARCH" ]; then
case "${SUBARCH:-}" in
nezha)
nezha|licheerv)
KERNEL_FLAVOURS=allwinner
;;
visionfive)
@ -1025,9 +1025,6 @@ esac
# we'll expand the base seed given here according to the STRUCTURE file, and
# then look in all of the seeds found to see which snaps are seeded
case $PROJECT:${SUBPROJECT:-} in
ubuntu:*|kubuntu*:*|lubuntu*:*|xubuntu*:*|ubuntu-mate*:*|ubuntustudio*:*|ubuntukylin*:*|ubuntu-budgie*:*)
BASE_SEED='desktop'
;;
ubuntu-wsl:*)
BASE_SEED='wsl'
;;
@ -1037,6 +1034,11 @@ case $PROJECT:${SUBPROJECT:-} in
ubuntu-server:live)
BASE_SEED='server'
;;
ubuntu-base:*|ubuntu-core:*)
;;
*)
BASE_SEED='desktop'
;;
esac
if [ "$PASSES_TO_LAYERS" != "true" ] && [ -n "${BASE_SEED}" ]; then
@ -1104,6 +1106,11 @@ case "$ARCH${SUBARCH:++$SUBARCH}" in
BINARY_REMOVE_LINUX=false
;;
riscv*+*)
if [ "${SUBARCH:-}" = "licheerv" ]; then
# The wifi driver of the licheerv is an out-of-tree driver so install
# the corresponding dkms driver.
add_package install licheerv-rtl8723ds-dkms
fi
# We'll add wpasupplicant to the seeds when we work on RISC-V seeds.
add_package install wpasupplicant
;;

View File

@ -77,8 +77,8 @@ create_partitions() {
--typecode=15:ef00 \
--new=1:: \
--attributes=1:set:2
elif [ "${SUBARCH:-}" = "nezha" ]; then
# Nezha D1 board
elif [ "${SUBARCH:-}" = "nezha" ] || [ "${SUBARCH:-}" = "licheerv" ]; then
# Nezha/LicheeRV D1 boards
sgdisk "${disk_image}" \
--set-alignment=2 \
--new=13:256:25575 \
@ -97,6 +97,20 @@ create_partitions() {
--change-name=12:CIDATA \
--new=1:: \
--attributes=1:set:2
elif [ "${SUBARCH:-}" = "icicle" ]; then
# Microchip Icicle Kit
sgdisk "${disk_image}" \
--set-alignment=2 \
--new=13:256:25575 \
--change-name=13:loader \
--typecode=13:ef02 \
--new=15::+106M \
--typecode=15:ef00 \
--change-name=15:ESP \
--new=12::+4M \
--change-name=12:CIDATA \
--new=1:: \
--attributes=1:set:2
elif [ "${SUBARCH:-}" = "visionfive" ]; then
# VisionFive
sgdisk "${disk_image}" \
@ -227,25 +241,65 @@ install_grub() {
if [ -n "${SUBARCH:-}" ]; then
# Per-device images
case "${SUBARCH}" in
"nezha")
echo "Installing U-Boot for Nezha board" &1>2
"icicle")
echo "Installing GRUB for ${SUBARCH} board" &1>2
# flash-kernel is needed to install the dtb for update-grub: it uses the
# /proc/device-tree/model value to pick the correct dtb and as we are in a chroot,
# the model value is wrong and we need to use /etc/flash-kernel/machine instead.
# This explains why we install flash-kernel here.
chroot mountpoint mkdir -p /etc/flash-kernel/
chroot mountpoint bash -c "echo 'Allwinner D1 Nezha' > /etc/flash-kernel/machine"
chroot mountpoint bash -c "echo 'Microchip PolarFire-SoC Icicle Kit' > /etc/flash-kernel/machine"
chroot mountpoint bash -c 'FK_FORCE_CONTAINER=yes apt-get install -qqy grub-efi-riscv64 flash-kernel'
efi_target=riscv64-efi
# The real U-Boot
chroot mountpoint apt-get install -qqy u-boot-microchip
loader="/dev/mapper${loop_device///dev/}p13"
dd if=mountpoint/usr/lib/u-boot/microchip_icicle/u-boot.payload of=$loader
# Provide end-user modifyable CIDATA
cidata_dev="/dev/mapper${loop_device///dev/}p12"
setup_cidata "${cidata_dev}"
# Provide stock nocloud datasource
# Allow interactive login on baremetal board,
# without a cloud datasource.
setup_cinocloud mountpoint
# u-boot-microchip will boot using UEFI if it does not find
# any extlinux.conf or boot.scr: but flash-kernel will
# install a boot.scr if it believes it did not boot in
# EFI mode, so make sure we don't leave a boot.scr
# behind.
chroot mountpoint rm -f /boot/boot.scr
;;
"nezha"|"licheerv")
echo "Installing U-Boot for ${SUBARCH} board" &1>2
# flash-kernel is needed to install the dtb for update-grub: it uses the
# /proc/device-tree/model value to pick the correct dtb and as we are in a chroot,
# the model value is wrong and we need to use /etc/flash-kernel/machine instead.
# This explains why we install flash-kernel here.
chroot mountpoint mkdir -p /etc/flash-kernel/
if [ "$SUBARCH" = "nezha" ]; then
chroot mountpoint bash -c "echo 'Allwinner D1 Nezha' > /etc/flash-kernel/machine"
elif [ "$SUBARCH" = "licheerv" ]; then
chroot mountpoint bash -c "echo 'Sipeed Lichee RV Dock' > /etc/flash-kernel/machine"
# cryptsetup-initramfs is a large contributor of the initrd size: we have to
# remove it for the LicheeRV board, otherwise it fails to boot. cryptsetup-initramfs
# needs to embed plymouth (and then the drm/gpu stuff) for interacting with the user
# to decrypt the rootfs (passphrase key).
chroot mountpoint bash -c "apt remove -qqy cryptsetup-initramfs"
fi
chroot mountpoint bash -c 'FK_FORCE=yes apt-get install -qqy grub-efi-riscv64 flash-kernel'
efi_target=riscv64-efi
# nezha-boot0 is actually compatible with the LicheeRV boards (and probably other D1-based boards)
chroot mountpoint apt-get install -qqy nezha-boot0
# FSBL, which gets U-Boot SPL
loader1="/dev/mapper${loop_device///dev/}p13"
dd if=mountpoint/usr/lib/u-boot/nezha/boot0_sdcard_sun20iw1p1.bin of=$loader1
# The real U-Boot
# u-boot-nezha actually contains both the LicheeRV and the Nezha boards support
chroot mountpoint apt-get install -qqy u-boot-nezha
loader2="/dev/mapper${loop_device///dev/}p14"
dd if=mountpoint/usr/lib/u-boot/nezha/u-boot.toc1 of=$loader2
dd if=mountpoint/usr/lib/u-boot/${SUBARCH}/u-boot.toc1 of=$loader2
# Provide end-user modifyable CIDATA
cidata_dev="/dev/mapper${loop_device///dev/}p12"
setup_cidata "${cidata_dev}"
@ -254,7 +308,7 @@ install_grub() {
# without a cloud datasource.
setup_cinocloud mountpoint
# u-boot-nezha will boot using UEFI if it does not find
# u-boot-${SUBARCH} will boot using UEFI if it does not find
# any extlinux.conf or boot.scr: but flash-kernel will
# install a boot.scr if it believes it did not boot in
# EFI mode, so make sure we don't leave a boot.scr
@ -340,7 +394,7 @@ EOF
chroot mountpoint u-boot-update
fi
if [ "${SUBARCH:-}" != "visionfive" ] && [ "${SUBARCH:-}" != "nezha" ]; then
if [ "${SUBARCH:-}" != "visionfive" ] && [ "${SUBARCH:-}" != "nezha" ] && [ "${SUBARCH:-}" != "licheerv" ] && [ "${SUBARCH:-}" != "icicle" ]; then
## TODO remove below once we have grub-efi-riscv64 for the platforms
rm mountpoint/tmp/device.map
umount mountpoint/boot/efi