mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-14 18:24:15 +00:00
Imported 2.769
No reason for CPC update specified.
This commit is contained in:
parent
a2cecc27f3
commit
9ea0f1567e
13
debian/changelog
vendored
13
debian/changelog
vendored
@ -1,3 +1,16 @@
|
|||||||
|
livecd-rootfs (2.769) kinetic; urgency=medium
|
||||||
|
|
||||||
|
[ Alexandre Ghiti ]
|
||||||
|
* Add support for the VisionFive and the Nezha boards (LP: #1980935)
|
||||||
|
* Set FK_FORCE_CONTAINER for RISC-V images build to force flash-kernel
|
||||||
|
to run in a container (LP: #1980929).
|
||||||
|
|
||||||
|
[ Thomas Bechtold ]
|
||||||
|
* Revert "don't modify ssh_config for ubuntu-cpc projects (LP:1968873)"
|
||||||
|
This change triggered a bug in cloud-init (see LP: #1968873).
|
||||||
|
|
||||||
|
-- Thomas Bechtold <thomas.bechtold@canonical.com> Mon, 11 Jul 2022 14:10:52 +0200
|
||||||
|
|
||||||
livecd-rootfs (2.768) kinetic; urgency=medium
|
livecd-rootfs (2.768) kinetic; urgency=medium
|
||||||
|
|
||||||
* Use the new iso-url= parameter in the bootloader configs in the netboot
|
* Use the new iso-url= parameter in the bootloader configs in the netboot
|
||||||
|
@ -352,7 +352,7 @@ fi
|
|||||||
# one also must request disk1-img-xz image format
|
# one also must request disk1-img-xz image format
|
||||||
if [ "$IMAGEFORMAT" = "ext4" ] && [ "$PROJECT" = "ubuntu-cpc" ]; then
|
if [ "$IMAGEFORMAT" = "ext4" ] && [ "$PROJECT" = "ubuntu-cpc" ]; then
|
||||||
case $ARCH:$SUBARCH in
|
case $ARCH:$SUBARCH in
|
||||||
armhf:raspi2|riscv64:sifive_*|*:generic)
|
armhf:raspi2|riscv64:sifive_*|riscv64:nezha|riscv64:visionfive|*:generic)
|
||||||
IMAGE_HAS_HARDCODED_PASSWORD=1
|
IMAGE_HAS_HARDCODED_PASSWORD=1
|
||||||
if [ -z "${IMAGE_TARGETS:-}" ]; then
|
if [ -z "${IMAGE_TARGETS:-}" ]; then
|
||||||
export IMAGE_TARGETS="disk1-img-xz"
|
export IMAGE_TARGETS="disk1-img-xz"
|
||||||
@ -957,7 +957,17 @@ case $PROJECT in
|
|||||||
;;
|
;;
|
||||||
riscv64*)
|
riscv64*)
|
||||||
if [ -n "$SUBARCH" ]; then
|
if [ -n "$SUBARCH" ]; then
|
||||||
KERNEL_FLAVOURS=generic
|
case "${SUBARCH:-}" in
|
||||||
|
nezha)
|
||||||
|
KERNEL_FLAVOURS=allwinner
|
||||||
|
;;
|
||||||
|
visionfive)
|
||||||
|
KERNEL_FLAVOURS=starfive
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
KERNEL_FLAVOURS=generic
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -25,13 +25,17 @@ if [ "$ARCH" = "armhf" ]; then
|
|||||||
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2); Since Jammy armhf need more then the default 2.2G
|
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2); Since Jammy armhf need more then the default 2.2G
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Change image size for preinstalled generic images & all preinstalled riscv64 images
|
# Change image size for preinstalled generic images
|
||||||
if [ -n "${SUBARCH:-}" ]; then
|
if [ -n "${SUBARCH:-}" ]; then
|
||||||
if [ "${SUBARCH:-}" = "generic" ] || [ "$ARCH" = "riscv64" ]; then
|
if [ "${SUBARCH:-}" = "generic" ]; then
|
||||||
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2), due to linux-generic instead of virtual
|
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2), due to linux-generic instead of virtual
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ "$ARCH" = "riscv64" ]; then
|
||||||
|
IMAGE_SIZE=4831838208 # bump to 4.5G (4608*1024**2); initrd creation fails with "No space left" with 3.5G
|
||||||
|
fi
|
||||||
|
|
||||||
. config/binary
|
. config/binary
|
||||||
|
|
||||||
. config/functions
|
. config/functions
|
||||||
@ -69,6 +73,39 @@ create_partitions() {
|
|||||||
--typecode=15:ef00 \
|
--typecode=15:ef00 \
|
||||||
--new=1:: \
|
--new=1:: \
|
||||||
--attributes=1:set:2
|
--attributes=1:set:2
|
||||||
|
elif [ "${SUBARCH:-}" = "nezha" ]; then
|
||||||
|
# Nezha D1 board
|
||||||
|
sgdisk "${disk_image}" \
|
||||||
|
--set-alignment=2 \
|
||||||
|
--new=13:256:25575 \
|
||||||
|
--change-name=13:loader1 \
|
||||||
|
--typecode=13:B161E8AB-7D4B-4DB4-821C-4120A0554A35 \
|
||||||
|
--new=16:25576:32799 \
|
||||||
|
--change-name=16:loader2b \
|
||||||
|
--typecode=16:F79E76D9-AC98-418B-8F31-E17EA24FF07C \
|
||||||
|
--new=14:32800:43007 \
|
||||||
|
--change-name=14:loader2 \
|
||||||
|
--typecode=14:F4FA3898-3478-4941-887D-FCEC4E9E3C05 \
|
||||||
|
--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}" \
|
||||||
|
--set-alignment=2 \
|
||||||
|
--new=15::+106M \
|
||||||
|
--typecode=15:ef00 \
|
||||||
|
--change-name=15:ESP \
|
||||||
|
--new=12::+4M \
|
||||||
|
--change-name=12:CIDATA \
|
||||||
|
--new=3::+1M \
|
||||||
|
--change-name=3:uEnv \
|
||||||
|
--new=1:: \
|
||||||
|
--attributes=1:set:2
|
||||||
else
|
else
|
||||||
# preinstalled server, currently FU540
|
# preinstalled server, currently FU540
|
||||||
# FU740 too in the future
|
# FU740 too in the future
|
||||||
@ -183,39 +220,122 @@ install_grub() {
|
|||||||
;;
|
;;
|
||||||
riscv64)
|
riscv64)
|
||||||
# TODO grub-efi-riscv64 does not exist yet on riscv64
|
# TODO grub-efi-riscv64 does not exist yet on riscv64
|
||||||
chroot mountpoint apt-get install -qqy u-boot-menu #grub-efi-riscv64
|
|
||||||
efi_target=riscv64-efi
|
|
||||||
|
|
||||||
chroot mountpoint u-boot-update
|
|
||||||
|
|
||||||
if [ -n "${SUBARCH:-}" ]; then
|
if [ -n "${SUBARCH:-}" ]; then
|
||||||
u_boot_arch="${SUBARCH}"
|
case "${SUBARCH}" in
|
||||||
if [ "${u_boot_arch}" = "hifive" ]; then
|
"nezha")
|
||||||
u_boot_arch=sifive_fu540
|
echo "Installing U-Boot for Nezha board" &1>2
|
||||||
fi
|
# flash-kernel is needed to install the dtb for update-grub: it uses the
|
||||||
chroot mountpoint apt-get install -qqy u-boot-sifive
|
# /proc/device-tree/model value to pick the correct dtb and as we are in a chroot,
|
||||||
# FSBL, which gets U-Boot SPL
|
# the model value is wrong and we need to use /etc/flash-kernel/machine instead.
|
||||||
loader1="/dev/mapper${loop_device///dev/}p13"
|
# This explains why we install flash-kernel here.
|
||||||
# The real U-Boot
|
chroot mountpoint mkdir -p /etc/flash-kernel/
|
||||||
loader2="/dev/mapper${loop_device///dev/}p14"
|
chroot mountpoint bash -c "echo 'Allwinner D1 Nezha' > /etc/flash-kernel/machine"
|
||||||
dd if=mountpoint/usr/lib/u-boot/${u_boot_arch}/u-boot-spl.bin of=$loader1
|
chroot mountpoint bash -c 'FK_FORCE_CONTAINER=yes apt-get install -qqy grub-efi-riscv64 flash-kernel'
|
||||||
dd if=mountpoint/usr/lib/u-boot/${u_boot_arch}/u-boot.itb of=$loader2
|
efi_target=riscv64-efi
|
||||||
# Provide end-user modifyable CIDATA
|
|
||||||
cidata_dev="/dev/mapper${loop_device///dev/}p12"
|
chroot mountpoint apt-get install -qqy nezha-boot0
|
||||||
setup_cidata "${cidata_dev}"
|
# FSBL, which gets U-Boot SPL
|
||||||
# Provide stock nocloud datasource
|
loader1="/dev/mapper${loop_device///dev/}p13"
|
||||||
# Allow interactive login on baremetal SiFive board,
|
dd if=mountpoint/usr/lib/u-boot/nezha/boot0_sdcard_sun20iw1p1.bin of=$loader1
|
||||||
# without a cloud datasource.
|
# The real U-Boot
|
||||||
setup_cinocloud mountpoint
|
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
|
||||||
|
# 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 SiFive board,
|
||||||
|
# without a cloud datasource.
|
||||||
|
setup_cinocloud mountpoint
|
||||||
|
|
||||||
|
# u-boot-nezha 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
|
||||||
|
;;
|
||||||
|
"visionfive")
|
||||||
|
echo "Installing GRUB for VisionFive 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 'StarFive VisionFive V1' > /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
|
||||||
|
|
||||||
|
# factory u-boot requires a p3 partition with /boot/uEnv.txt file
|
||||||
|
uenv_dev="/dev/mapper${loop_device///dev/}p3"
|
||||||
|
mkfs.ext4 "${uenv_dev}"
|
||||||
|
uenv_mnt_dir=`mktemp -d uenvXXX`
|
||||||
|
mount "${uenv_dev}" "${uenv_mnt_dir}"
|
||||||
|
mkdir -p "${uenv_mnt_dir}"/boot
|
||||||
|
|
||||||
|
cat <<'EOF' >${uenv_mnt_dir}/boot/uEnv.txt
|
||||||
|
scriptaddr=0x88100000
|
||||||
|
script_offset_f=0x1fff000
|
||||||
|
script_size_f=0x1000
|
||||||
|
|
||||||
|
kernel_addr_r=0x84000000
|
||||||
|
kernel_comp_addr_r=0x90000000
|
||||||
|
kernel_comp_size=0x10000000
|
||||||
|
|
||||||
|
fdt_addr_r=0x88000000
|
||||||
|
ramdisk_addr_r=0x88300000
|
||||||
|
|
||||||
|
bootcmd=load mmc 0:f ${kernel_addr_r} /EFI/ubuntu/grubriscv64.efi; bootefi ${kernel_addr_r}
|
||||||
|
bootcmd_mmc0=devnum=0; run mmc_boot
|
||||||
|
|
||||||
|
ipaddr=192.168.120.200
|
||||||
|
netmask=255.255.255.0
|
||||||
|
EOF
|
||||||
|
|
||||||
|
umount "${uenv_mnt_dir}"
|
||||||
|
rmdir "${uenv_mnt_dir}"
|
||||||
|
# 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 SiFive board,
|
||||||
|
# without a cloud datasource.
|
||||||
|
setup_cinocloud mountpoint
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
u_boot_arch="${SUBARCH}"
|
||||||
|
if [ "${u_boot_arch}" = "hifive" ]; then
|
||||||
|
u_boot_arch=sifive_fu540
|
||||||
|
fi
|
||||||
|
chroot mountpoint apt-get install -qqy u-boot-sifive
|
||||||
|
# FSBL, which gets U-Boot SPL
|
||||||
|
loader1="/dev/mapper${loop_device///dev/}p13"
|
||||||
|
# The real U-Boot
|
||||||
|
loader2="/dev/mapper${loop_device///dev/}p14"
|
||||||
|
dd if=mountpoint/usr/lib/u-boot/${u_boot_arch}/u-boot-spl.bin of=$loader1
|
||||||
|
dd if=mountpoint/usr/lib/u-boot/${u_boot_arch}/u-boot.itb of=$loader2
|
||||||
|
# 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 SiFive board,
|
||||||
|
# without a cloud datasource.
|
||||||
|
setup_cinocloud mountpoint
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${SUBARCH}" != "visionfive" ] && [ "${SUBARCH}" != "nezha" ]; then
|
||||||
|
## TODO remove below once we have grub-efi-riscv64
|
||||||
|
rm mountpoint/tmp/device.map
|
||||||
|
umount mountpoint/boot/efi
|
||||||
|
mount
|
||||||
|
umount_partition mountpoint
|
||||||
|
rmdir mountpoint
|
||||||
|
return
|
||||||
|
##
|
||||||
fi
|
fi
|
||||||
## TODO remove below once we have grub-efi-riscv64
|
|
||||||
rm mountpoint/tmp/device.map
|
|
||||||
umount mountpoint/boot/efi
|
|
||||||
mount
|
|
||||||
umount_partition mountpoint
|
|
||||||
rmdir mountpoint
|
|
||||||
return
|
|
||||||
##
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cat << EOF >> "/etc/ssh/sshd_config.d/10-cloudimg-settings.conf"
|
sed -i "s|#PasswordAuthentication yes|PasswordAuthentication no|g" /etc/ssh/sshd_config
|
||||||
PasswordAuthentication no
|
|
||||||
EOF
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user