mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-17 19:54:05 +00:00
Compare commits
63 Commits
ubuntu/mas
...
2.765.18
Author | SHA1 | Date | |
---|---|---|---|
|
be40105056 | ||
|
5bd8a465a6 | ||
|
cccc04e0c1 | ||
|
5b99af28d0 | ||
|
19fdc77c2f | ||
|
87dcf0de62 | ||
|
69b372ced7 | ||
|
cc849656bf | ||
|
06fd5dacc3 | ||
|
eceece62a6 | ||
|
949f53cd4e | ||
|
e5e4051ff4 | ||
|
57fbcb4efd | ||
|
7205e76b79 | ||
|
1278ff9231 | ||
|
06dff46b6b | ||
|
f90114c966 | ||
|
1b50e4284c | ||
|
7cbd320b6c | ||
|
a1872718fa | ||
|
50dd546606 | ||
|
481920f28b | ||
|
3fe7a19c52 | ||
|
591b0a3432 | ||
|
0fa7ab23ed | ||
|
0016cada16 | ||
|
c4dc7bce4c | ||
|
8ba2493a80 | ||
|
0940dd3cd8 | ||
|
e9004e6273 | ||
|
6939cb42d5 | ||
|
bb502f1e8f | ||
|
9da86ba533 | ||
|
ed328b1c84 | ||
|
80cb6a4a1e | ||
ce9549372a | |||
|
e7a198578b | ||
|
31ea439043 | ||
|
f2ccb4bb40 | ||
|
84e7e03bf2 | ||
|
9687f1d216 | ||
|
b2eae594d1 | ||
|
7e3e3281cb | ||
|
bbcf3c5714 | ||
|
6f9d5b7ff2 | ||
|
935867285c | ||
|
81614c6992 | ||
|
b9873fbed5 | ||
|
ce9f5cacca | ||
|
80c5ccd5c1 | ||
|
1527ac2b4e | ||
|
312d9221ee | ||
|
3ca2ea37f9 | ||
|
be8c7aed7a | ||
|
7ed77a5e64 | ||
|
d93cdfd8c5 | ||
|
9a8d7a6e4d | ||
|
89a7e6a9ac | ||
|
71405af933 | ||
|
8eb4f2d447 | ||
|
9261aec27a | ||
|
a894c4e85f | ||
|
198a2f6faf |
132
debian/changelog
vendored
132
debian/changelog
vendored
@ -1,3 +1,135 @@
|
||||
livecd-rootfs (2.765.18) jammy; urgency=medium
|
||||
|
||||
* Terrible hack workaround for clearing out the non-offline apt cache for
|
||||
desktop related images.
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Wed, 22 Feb 2023 23:57:38 +0100
|
||||
|
||||
livecd-rootfs (2.765.17) jammy; urgency=medium
|
||||
|
||||
* Do not offer the hwe kernel for RISC-V server-live images (LP: #2007863).
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Mon, 20 Feb 2023 17:18:37 +0100
|
||||
|
||||
livecd-rootfs (2.765.16) jammy; urgency=medium
|
||||
|
||||
* Properly handle the lowlatency hwe kernel flavour.
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 16 Feb 2023 14:24:19 +0100
|
||||
|
||||
livecd-rootfs (2.765.15) jammy; urgency=medium
|
||||
|
||||
* Enable the hwe kernel variant for 22.04.2 (LP: #2006481).
|
||||
- Add it to the server images besides the ga kernel.
|
||||
- Switch to hwe as default for all desktop flavors.
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Tue, 07 Feb 2023 14:57:00 +0100
|
||||
|
||||
livecd-rootfs (2.765.14) jammy; urgency=medium
|
||||
|
||||
[ Samir Akarioh ]
|
||||
* feat: Add metadata on ubuntu-oci image. (LP: #1998229)
|
||||
|
||||
-- Utkarsh Gupta <utkarsh@ubuntu.com> Mon, 12 Dec 2022 15:30:56 +0530
|
||||
|
||||
livecd-rootfs (2.765.13) jammy; urgency=medium
|
||||
|
||||
[ Heinrich Schuchardt ]
|
||||
* Backporting patches to support new RISC-V platforms (LP: #1997233)
|
||||
* Add support for the LicheeRV board (SUBARCH=licheerv)
|
||||
* Add support for the PolarFire Icicle Kit board (SUBARCH=icicle)
|
||||
* Reduce initrd size for Nezha and LicheeRV boards
|
||||
* Use efi=debug earlycon on kernel command line
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Mon, 21 Nov 2022 11:18:14 +0100
|
||||
|
||||
livecd-rootfs (2.765.12) jammy; urgency=medium
|
||||
|
||||
* Remove fwupd, modemmanager, and udisks2 from the cloud images.
|
||||
LP: #1981109.
|
||||
|
||||
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 18 Nov 2022 14:52:49 -0800
|
||||
|
||||
livecd-rootfs (2.765.11) jammy; urgency=medium
|
||||
|
||||
* Rename FK_FORCE_CONTAINER into FK_FORCE as its role was extended to also
|
||||
support chroot (LP: #1989194).
|
||||
|
||||
-- William 'jawn-smith' Wilson <jawn-smith@ubuntu.com> Fri, 07 Oct 2022 09:49:30 -0500
|
||||
|
||||
livecd-rootfs (2.765.10) jammy; urgency=medium
|
||||
|
||||
* The ubuntustudio dkms hook is only created when we're building
|
||||
ubuntustudio, so only chmod it when it exists. LP: #1983521.
|
||||
|
||||
-- Steve Langasek <steve.langasek@ubuntu.com> Thu, 04 Aug 2022 12:11:52 -0700
|
||||
|
||||
livecd-rootfs (2.765.9) jammy; urgency=medium
|
||||
|
||||
* When adding the new RISC-V platforms, some of the generic non-SUBARCH code
|
||||
went missing and some invalid assumptions have been made, causing cloud
|
||||
images to fail building. This upload fixes these (LP: #1983599).
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 04 Aug 2022 17:15:03 +0200
|
||||
|
||||
livecd-rootfs (2.765.8) jammy; urgency=medium
|
||||
|
||||
* Manually blacklist DKMS modules for Ubuntu Studio builds (LP: #1983521).
|
||||
|
||||
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 03 Aug 2022 18:46:23 -0500
|
||||
|
||||
livecd-rootfs (2.765.7) jammy; urgency=medium
|
||||
|
||||
* Install wpasupplicant by default as for now, most of the RISC-V boards
|
||||
embed a Wifi chipset (LP: #1983008)
|
||||
|
||||
-- Alexandre Ghiti <alexandre.ghiti@canonical.com> Thu, 28 Jul 2022 14:17:11 +0200
|
||||
|
||||
livecd-rootfs (2.765.6) jammy; urgency=medium
|
||||
|
||||
[ Alexandre Ghiti ]
|
||||
* Fix SiFive Unmatched build. While merging the VisionFive support, we
|
||||
removed the installation of u-boot-menu for the Unmatched by mistake
|
||||
(LP: #1982735).
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Mon, 25 Jul 2022 10:24:08 +0200
|
||||
|
||||
livecd-rootfs (2.765.5) jammy; urgency=medium
|
||||
|
||||
* 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).
|
||||
|
||||
-- Alexandre Ghiti <alexandre.ghiti@canonical.com> Tue, 05 Jul 2022 10:55:44 +0200
|
||||
|
||||
livecd-rootfs (2.765.4) jammy; urgency=medium
|
||||
|
||||
* 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:15:36 +0200
|
||||
|
||||
livecd-rootfs (2.765.3) jammy; urgency=medium
|
||||
|
||||
* Do not modify /etc/ssh/sshd_config for ubuntu-cpc
|
||||
project builds (LP: #1968873)
|
||||
|
||||
-- Thomas Bechtold <thomas.bechtold@canonical.com> Thu, 30 Jun 2022 19:26:04 +0200
|
||||
|
||||
livecd-rootfs (2.765.2) jammy; urgency=medium
|
||||
|
||||
* Switch the intel-iot images to use the linux-intel-iotg kernel instead.
|
||||
(LP: #1980065)
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 30 Jun 2022 17:26:04 +0200
|
||||
|
||||
livecd-rootfs (2.764.1) jammy; urgency=medium
|
||||
|
||||
* live-build/ubuntu-cpc/hooks.d/base/ovf/ubuntu-ova-v1-vmdk.tmpl:
|
||||
Revert OVF cd-rom controller to be IDE for VMWare (LP: #1970795)
|
||||
|
||||
-- Simon Poirier <simon.poirier@canonical.com> Thu, 16 Jun 2022 19:34:03 -0400
|
||||
|
||||
livecd-rootfs (2.764) jammy; urgency=medium
|
||||
|
||||
[ Michał Sawicz ]
|
||||
|
@ -462,7 +462,12 @@ EOF
|
||||
fi
|
||||
|
||||
if [ "$PROJECT" = "ubuntu-oci" ]; then
|
||||
configure_oci chroot
|
||||
if [ -n "$BUILDSTAMP" ]; then
|
||||
configure_oci chroot "$BUILDSTAMP"
|
||||
else
|
||||
echo "The \$BUILDSTAMP variable is empty"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
configure_network_manager
|
||||
@ -477,6 +482,18 @@ EOF
|
||||
clean_debian_chroot
|
||||
fi
|
||||
|
||||
# XXX: Terrible last-minute hack to work-around issue LP: #2008082 !
|
||||
# This basically needs to be done better, we simply need to make sure
|
||||
# that we don't update the cache after lb cleans up. Since identifying
|
||||
# that might take a moment, for now, for flavors that are generally
|
||||
# affected by this, we manually clear out the archive-related Packages
|
||||
# files in the cache.
|
||||
case $PROJECT in
|
||||
ubuntu|xubuntu|kubuntu|ubuntu-budgie|ubuntukylin|ubuntu-mate)
|
||||
rm -f chroot/var/lib/apt/lists/*ubuntu.com*_Packages
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -n "${PASSES}" ]; then
|
||||
PATH="config/:$PATH" lb binary_layered "$@"
|
||||
else
|
||||
@ -574,12 +591,18 @@ for FLAVOUR in $LB_LINUX_FLAVOURS; do
|
||||
virtual|generic-hwe-*)
|
||||
FLAVOUR="generic"
|
||||
;;
|
||||
lowlatency-hwe-*)
|
||||
FLAVOUR="lowlatency"
|
||||
;;
|
||||
oem-*)
|
||||
FLAVOUR="oem"
|
||||
;;
|
||||
image-intel)
|
||||
FLAVOUR="intel"
|
||||
;;
|
||||
intel-iotg*)
|
||||
FLAVOUR="intel-iotg"
|
||||
;;
|
||||
esac
|
||||
KVERS="$( (cd "binary/$INITFS"; ls vmlinu?-* 2>/dev/null || true) | (fgrep -v .efi || true) | sed -n "s/^vmlinu.-\\([^-]*-[^-]*-$FLAVOUR\\)$/\\1/p" )"
|
||||
if [ -z "$KVERS" ]; then
|
||||
|
@ -345,7 +345,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_*|*: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"
|
||||
@ -704,7 +704,7 @@ case $PROJECT in
|
||||
OPTS="${OPTS:+$OPTS }--ext-fudge-factor=15"
|
||||
;;
|
||||
intel-iot)
|
||||
KERNEL_FLAVOURS='image-intel'
|
||||
KERNEL_FLAVOURS='intel-iotg'
|
||||
COMPONENTS='main restricted'
|
||||
OPTS="${OPTS:+$OPTS }--initramfs=none"
|
||||
OPTS="${OPTS:+$OPTS }--system=normal"
|
||||
@ -723,7 +723,7 @@ case $PROJECT in
|
||||
add_task live ubuntu-desktop-minimal-default-languages ubuntu-desktop-default-languages
|
||||
KERNEL_FLAVOURS='generic-hwe-22.04'
|
||||
if [ "$SUBARCH" = "intel-iot" ]; then
|
||||
KERNEL_FLAVOURS='image-intel'
|
||||
KERNEL_FLAVOURS='intel-iotg'
|
||||
COMPONENTS='main restricted'
|
||||
fi
|
||||
;;
|
||||
@ -736,6 +736,7 @@ case $PROJECT in
|
||||
LIVE_TASK='kubuntu-live'
|
||||
COMPONENTS='main restricted universe'
|
||||
add_chroot_hook remove-gnome-icon-cache
|
||||
KERNEL_FLAVOURS='generic-hwe-22.04'
|
||||
;;
|
||||
|
||||
kubuntu-active)
|
||||
@ -769,7 +770,7 @@ case $PROJECT in
|
||||
LIVE_TASK='xubuntu-live'
|
||||
COMPONENTS='main restricted universe multiverse'
|
||||
case $ARCH in
|
||||
amd64|i386) KERNEL_FLAVOURS=generic ;;
|
||||
amd64|i386) KERNEL_FLAVOURS='generic-hwe-22.04' ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
@ -789,7 +790,7 @@ case $PROJECT in
|
||||
LIVE_TASK='lubuntu-live'
|
||||
COMPONENTS='main restricted universe multiverse'
|
||||
case $ARCH in
|
||||
amd64|i386) KERNEL_FLAVOURS=generic ;;
|
||||
amd64|i386) KERNEL_FLAVOURS='generic-hwe-22.04' ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
@ -803,19 +804,21 @@ case $PROJECT in
|
||||
add_task install minimal standard ubuntu-budgie-desktop
|
||||
LIVE_TASK='ubuntu-budgie-live'
|
||||
COMPONENTS='main restricted universe'
|
||||
KERNEL_FLAVOURS='generic-hwe-22.04'
|
||||
;;
|
||||
|
||||
ubuntu-mate)
|
||||
add_task install minimal standard ubuntu-mate-core ubuntu-mate-desktop
|
||||
LIVE_TASK='ubuntu-mate-live'
|
||||
COMPONENTS='main restricted universe multiverse'
|
||||
KERNEL_FLAVOURS='generic-hwe-22.04'
|
||||
;;
|
||||
|
||||
ubuntustudio-dvd)
|
||||
add_task install minimal standard ubuntustudio-desktop ubuntustudio-audio ubuntustudio-graphics ubuntustudio-video ubuntustudio-photography
|
||||
COMPONENTS='main restricted universe multiverse'
|
||||
case $ARCH in
|
||||
amd64|i386) KERNEL_FLAVOURS=lowlatency ;;
|
||||
amd64|i386) KERNEL_FLAVOURS='lowlatency-hwe-22.04' ;;
|
||||
esac
|
||||
;;
|
||||
|
||||
@ -824,6 +827,7 @@ case $PROJECT in
|
||||
add_package install ubuntukylin-default-settings
|
||||
LIVE_TASK='ubuntukylin-live'
|
||||
COMPONENTS='main restricted universe'
|
||||
KERNEL_FLAVOURS='generic-hwe-22.04'
|
||||
;;
|
||||
|
||||
ubuntu-server)
|
||||
@ -849,8 +853,12 @@ case $PROJECT in
|
||||
# written generically to support both even though a lot of the
|
||||
# time only one kernel is offered.
|
||||
|
||||
# variants='ga hwe'
|
||||
variants='ga'
|
||||
if [ $ARCH = riscv64 ]; then
|
||||
# However, for RISC-V we only offer one kernel
|
||||
variants='ga'
|
||||
else
|
||||
variants='ga hwe'
|
||||
fi
|
||||
|
||||
for variant in $variants; do
|
||||
if [ "$variant" = "ga" ]; then
|
||||
@ -931,14 +939,24 @@ case $PROJECT in
|
||||
if [ "${SUBARCH:-}" = "generic" ]; then
|
||||
KERNEL_FLAVOURS=generic
|
||||
elif [ "${SUBARCH:-}" = "intel-iot" ]; then
|
||||
KERNEL_FLAVOURS=image-intel
|
||||
KERNEL_FLAVOURS=intel-iotg
|
||||
COMPONENTS='main restricted'
|
||||
OPTS="${OPTS:+$OPTS }--initramfs=none"
|
||||
fi
|
||||
;;
|
||||
riscv64*)
|
||||
if [ -n "$SUBARCH" ]; then
|
||||
KERNEL_FLAVOURS=generic
|
||||
case "${SUBARCH:-}" in
|
||||
nezha|licheerv)
|
||||
KERNEL_FLAVOURS=allwinner
|
||||
;;
|
||||
visionfive)
|
||||
KERNEL_FLAVOURS=starfive
|
||||
;;
|
||||
*)
|
||||
KERNEL_FLAVOURS=generic
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@ -1057,7 +1075,7 @@ case $PROJECT in
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$ARCH+${SUBARCH:-}" in
|
||||
case "$ARCH${SUBARCH:++$SUBARCH}" in
|
||||
arm*+raspi)
|
||||
# Common configuration for all Raspberry Pi image variants (server,
|
||||
# desktop etc.)
|
||||
@ -1068,6 +1086,10 @@ case "$ARCH+${SUBARCH:-}" in
|
||||
add_package install linux-firmware-raspi2 pi-bluetooth u-boot-rpi u-boot-tools
|
||||
BINARY_REMOVE_LINUX=false
|
||||
;;
|
||||
riscv*+*)
|
||||
# We'll add wpasupplicant to the seeds when we work on RISC-V seeds.
|
||||
add_package install wpasupplicant
|
||||
;;
|
||||
esac
|
||||
|
||||
case $PROJECT:${SUBPROJECT:-} in
|
||||
@ -1095,7 +1117,7 @@ case $PROJECT in
|
||||
case $SUBARCH in
|
||||
intel-iot)
|
||||
COMPONENTS='main restricted'
|
||||
KERNEL_FLAVOURS='image-intel'
|
||||
KERNEL_FLAVOURS='intel-iotg'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -1283,6 +1305,18 @@ exit 0
|
||||
EOF
|
||||
fi
|
||||
|
||||
if [ "$PROJECT" = "ubuntustudio-dvd" ]; then
|
||||
cat > config/hooks/100-ubuntustudio-dkms.chroot <<EOF
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
env DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get -y autoremove --purge v4l2loopback-dkms v4l2loopback-utils
|
||||
|
||||
EOF
|
||||
chmod +x config/hooks/100-ubuntustudio-dkms.chroot
|
||||
fi
|
||||
|
||||
if $BINARY_REMOVE_LINUX; then
|
||||
cat > config/binary_rootfs/excludes << EOF
|
||||
boot/vmlinu?-*
|
||||
|
@ -922,6 +922,12 @@ configure_oci() {
|
||||
# at https://github.com/tianon/docker-brew-ubuntu-core/blob/master/update.sh
|
||||
|
||||
local chroot=$1
|
||||
local serial=$2
|
||||
|
||||
if [ ! -d "${chroot}" ]; then
|
||||
echo "The chroot does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==== Configuring OCI ===="
|
||||
|
||||
@ -930,6 +936,14 @@ configure_oci() {
|
||||
echo 'exit 101' >> ${chroot}/usr/sbin/policy-rc.d
|
||||
Chroot ${chroot} "chmod +x /usr/sbin/policy-rc.d"
|
||||
|
||||
|
||||
# Inject a build stamp into the image
|
||||
mkdir -p ${chroot}/etc/cloud
|
||||
cat > ${chroot}/etc/cloud/build.info << EOF
|
||||
serial: $serial
|
||||
EOF
|
||||
|
||||
|
||||
# https://github.com/docker/docker/blob/9a9fc01af8fb5d98b8eec0740716226fadb3735c/contrib/mkimage/debootstrap#L54-L56
|
||||
Chroot ${chroot} "dpkg-divert --local --rename --add /sbin/initctl"
|
||||
cp -a ${chroot}/usr/sbin/policy-rc.d ${chroot}/sbin/initctl
|
||||
|
@ -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
|
||||
fi
|
||||
|
||||
# Change image size for preinstalled generic images & all preinstalled riscv64 images
|
||||
# Change image size for preinstalled generic images
|
||||
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
|
||||
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/functions
|
||||
@ -69,6 +73,53 @@ create_partitions() {
|
||||
--typecode=15:ef00 \
|
||||
--new=1:: \
|
||||
--attributes=1:set:2
|
||||
elif [ "${SUBARCH:-}" = "nezha" ] || [ "${SUBARCH:-}" = "licheerv" ]; then
|
||||
# Nezha/LicheeRV D1 boards
|
||||
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:-}" = "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}" \
|
||||
--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
|
||||
# preinstalled server, currently FU540
|
||||
# FU740 too in the future
|
||||
@ -182,40 +233,181 @@ install_grub() {
|
||||
fi
|
||||
;;
|
||||
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
|
||||
|
||||
# TODO grub-efi-riscv64 exists, but is not used by all the images yet
|
||||
if [ -n "${SUBARCH:-}" ]; then
|
||||
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
|
||||
# Per-device images
|
||||
local my_d=$(dirname $(readlink -f ${0}))
|
||||
echo "Adjusting GRUB defaults for ${ARCH}"
|
||||
mkdir -p mountpoint/etc/default/grub.d/
|
||||
cp ${my_d}/riscv64/grub/cmdline.cfg mountpoint/etc/default/grub.d/
|
||||
case "${SUBARCH}" in
|
||||
"icicle")
|
||||
echo "Installing GRUB for ${SUBARCH} board"
|
||||
# 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 'Microchip PolarFire-SoC Icicle Kit' > /etc/flash-kernel/machine"
|
||||
chroot mountpoint bash -c 'FK_FORCE=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 "Reducing initramfs size for ${SUBARCH} board"
|
||||
mkdir -p mountpoint/etc/initramfs-tools/conf.d/
|
||||
cp ${my_d}/riscv64/initramfs-tools/modules_list.conf mountpoint/etc/initramfs-tools/conf.d/
|
||||
chroot mountpoint update-initramfs -c -v -k all
|
||||
echo "Installing U-Boot for ${SUBARCH} board"
|
||||
# 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/${SUBARCH}/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-${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
|
||||
# behind.
|
||||
chroot mountpoint rm -f /boot/boot.scr
|
||||
;;
|
||||
"visionfive")
|
||||
echo "Installing GRUB for VisionFive board"
|
||||
# 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=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
|
||||
;;
|
||||
*)
|
||||
chroot mountpoint apt-get install -qqy u-boot-menu #grub-efi-riscv64
|
||||
efi_target=riscv64-efi
|
||||
chroot mountpoint u-boot-update
|
||||
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
|
||||
else
|
||||
# Other images e.g. cloud images
|
||||
chroot mountpoint apt-get install -qqy u-boot-menu #grub-efi-riscv64
|
||||
efi_target=riscv64-efi
|
||||
|
||||
chroot mountpoint u-boot-update
|
||||
fi
|
||||
|
||||
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
|
||||
mount
|
||||
umount_partition mountpoint
|
||||
rmdir mountpoint
|
||||
return
|
||||
##
|
||||
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
|
||||
|
||||
|
@ -130,7 +130,7 @@
|
||||
<rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
|
||||
<rasd:ElementName>CD-ROM 1</rasd:ElementName>
|
||||
<rasd:InstanceID>9</rasd:InstanceID>
|
||||
<rasd:Parent>3</rasd:Parent>
|
||||
<rasd:Parent>5</rasd:Parent>
|
||||
<rasd:ResourceSubType>vmware.cdrom.remotepassthrough</rasd:ResourceSubType>
|
||||
<rasd:ResourceType>15</rasd:ResourceType>
|
||||
<vmw:Config ovf:required="false" vmw:key="backing.exclusive" vmw:value="false"/>
|
||||
|
@ -0,0 +1,4 @@
|
||||
# Booting on many riscv64 systems is slow. Let the user view progress.
|
||||
# For minimum output use
|
||||
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="efi=debug earlycon"
|
@ -0,0 +1,6 @@
|
||||
# The Nezha and the LicheeRV boards do not have enough memory for an initrd with
|
||||
# most modules. Therefore the number of included modules has to be reduced.
|
||||
#
|
||||
# If further modules are needed, add them to /etc/initramfs-tools/modules.
|
||||
|
||||
MODULES=list
|
@ -91,6 +91,16 @@ if [ -L "${rootd}/boot/initrd.img" ] && [ ! -e "${rootd}/boot/initrd.img" ]; the
|
||||
rm "${rootd}/boot/initrd.img"
|
||||
fi
|
||||
|
||||
# Recommends of ubuntu-server that should not be included in cloud images by
|
||||
# default
|
||||
# unfortunately because we are currently installing ubuntu-server as a task,
|
||||
# all of the recursive dependencies are marked as manually installed and are
|
||||
# not subject to autoremoval. There is discussion of us stopping the use of
|
||||
# tasks in livecd-rootfs but in the meantime, we have to also explicitly
|
||||
# remove the packages providing the services
|
||||
_xchroot "$rootd" env DEBIAN_FRONTEND=noninteractive \
|
||||
apt-get -y autoremove --purge fwupd modemmanager udisks2
|
||||
|
||||
if [ "${SUBPROJECT:-}" = minimized ]; then
|
||||
# Remove various packages that we don't want in the minimized images.
|
||||
# Some of these are tools that don't make sense by default
|
||||
|
Loading…
x
Reference in New Issue
Block a user