mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-05-24 09:11:31 +00:00
subiquity: easier bridge kernel setup
For subiquity installs, make it easier to enable bridge kernel, just a boolean to set true/false. Don't enable yet though.
This commit is contained in:
parent
362c5d1f19
commit
d2050181d4
@ -78,6 +78,14 @@ BINARY_HOOKS=
|
|||||||
|
|
||||||
APT_OPTIONS=" --yes -oDebug::pkgDepCache::AutoInstall=yes "
|
APT_OPTIONS=" --yes -oDebug::pkgDepCache::AutoInstall=yes "
|
||||||
|
|
||||||
|
# Should we attempt to offer both the bridge and default kernel?
|
||||||
|
USE_BRIDGE_KERNEL=false
|
||||||
|
# Why are we using bridge kernel? Value is ignored for USE_BRIDGE_KERNEL=false.
|
||||||
|
# Possible reasons are zfs, drivers.
|
||||||
|
BRIDGE_KERNEL_REASONS="zfs,drivers"
|
||||||
|
# When building install-sources, what kernel is the default?
|
||||||
|
DEFAULT_KERNEL=
|
||||||
|
|
||||||
PASSES_TO_LAYERS=false
|
PASSES_TO_LAYERS=false
|
||||||
_PASSES_TO_LAYERS= # Stores the initial value of PASSES_TO_LAYERS
|
_PASSES_TO_LAYERS= # Stores the initial value of PASSES_TO_LAYERS
|
||||||
PASSES=
|
PASSES=
|
||||||
@ -240,28 +248,6 @@ add_snap ()
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
write_kernel_yaml () {
|
|
||||||
# Generate the kernel.yaml fragment used as input for
|
|
||||||
# update-source-catalog. Handles default kernel specification.
|
|
||||||
# $1 kernel metapackage name
|
|
||||||
local metapkg="$1"
|
|
||||||
cat <<-EOF > config/kernel.yaml
|
|
||||||
kernel:
|
|
||||||
default: "$metapkg"
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# To specify fallback to a bridge kernel, construct a kernel.yaml
|
|
||||||
# with the following:
|
|
||||||
#
|
|
||||||
# kernel:
|
|
||||||
# default: foo
|
|
||||||
# bridge: bar
|
|
||||||
# bridge_reasons: [zfs, drivers]
|
|
||||||
#
|
|
||||||
# If an install is using zfs or "drivers", use the bridge kernel, else
|
|
||||||
# use the default kernel.
|
|
||||||
}
|
|
||||||
|
|
||||||
get_seeded_languages () {
|
get_seeded_languages () {
|
||||||
# We assume any seed name of the form ${no_lang_seed}-${foo} where
|
# We assume any seed name of the form ${no_lang_seed}-${foo} where
|
||||||
# ${foo} is only two or three characters long is a default language
|
# ${foo} is only two or three characters long is a default language
|
||||||
@ -812,7 +798,7 @@ do_layered_desktop_image() {
|
|||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
write_kernel_yaml "linux-$KERNEL_FLAVOURS"
|
DEFAULT_KERNEL="linux-$KERNEL_FLAVOURS"
|
||||||
|
|
||||||
if [ "$LOCALE_SUPPORT" != none ]; then
|
if [ "$LOCALE_SUPPORT" != none ]; then
|
||||||
/usr/share/livecd-rootfs/checkout-translations-branch \
|
/usr/share/livecd-rootfs/checkout-translations-branch \
|
||||||
@ -1105,7 +1091,7 @@ case $PROJECT in
|
|||||||
esac
|
esac
|
||||||
NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot
|
NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot
|
||||||
|
|
||||||
write_kernel_yaml $kernel_metapkg
|
DEFAULT_KERNEL="$kernel_metapkg"
|
||||||
/usr/share/livecd-rootfs/checkout-translations-branch \
|
/usr/share/livecd-rootfs/checkout-translations-branch \
|
||||||
https://git.launchpad.net/subiquity po config/catalog-translations
|
https://git.launchpad.net/subiquity po config/catalog-translations
|
||||||
;;
|
;;
|
||||||
@ -1133,7 +1119,8 @@ case $PROJECT in
|
|||||||
add_package base.live linux-image-generic
|
add_package base.live linux-image-generic
|
||||||
|
|
||||||
# Core installer images use the pc-kernel snap for its kernel
|
# Core installer images use the pc-kernel snap for its kernel
|
||||||
write_kernel_yaml "snap:pc-kernel"
|
USE_BRIDGE_KERNEL=false
|
||||||
|
DEFAULT_KERNEL="snap:pc-kernel"
|
||||||
|
|
||||||
/usr/share/livecd-rootfs/checkout-translations-branch \
|
/usr/share/livecd-rootfs/checkout-translations-branch \
|
||||||
https://git.launchpad.net/subiquity po config/catalog-translations
|
https://git.launchpad.net/subiquity po config/catalog-translations
|
||||||
@ -1399,6 +1386,9 @@ echo "BUILDSTAMP=\"$NOW\"" >> config/binary
|
|||||||
echo "SUBPROJECT=\"${SUBPROJECT:-}\"" >> config/binary
|
echo "SUBPROJECT=\"${SUBPROJECT:-}\"" >> config/binary
|
||||||
echo "LB_DISTRIBUTION=\"$SUITE\"" >> config/binary
|
echo "LB_DISTRIBUTION=\"$SUITE\"" >> config/binary
|
||||||
echo "CHANNEL=\"${CHANNEL:-}\"" >> config/binary
|
echo "CHANNEL=\"${CHANNEL:-}\"" >> config/binary
|
||||||
|
echo "USE_BRIDGE_KERNEL=\"${USE_BRIDGE_KERNEL:-}\"" >> config/binary
|
||||||
|
echo "BRIDGE_KERNEL_REASONS=\"${BRIDGE_KERNEL_REASONS:-}\"" >> config/binary
|
||||||
|
echo "DEFAULT_KERNEL=\"${DEFAULT_KERNEL:-}\"" >> config/binary
|
||||||
|
|
||||||
if [ "${IMAGE_HAS_HARDCODED_PASSWORD:-}" = "1" ]; then
|
if [ "${IMAGE_HAS_HARDCODED_PASSWORD:-}" = "1" ]; then
|
||||||
echo IMAGE_HAS_HARDCODED_PASSWORD=1 >> config/binary
|
echo IMAGE_HAS_HARDCODED_PASSWORD=1 >> config/binary
|
||||||
|
@ -1337,3 +1337,39 @@ reset_snapd_state() {
|
|||||||
chroot "$rootdir" apt-get install --reinstall -y snapd
|
chroot "$rootdir" apt-get install --reinstall -y snapd
|
||||||
teardown_mountpoint "$rootdir"
|
teardown_mountpoint "$rootdir"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
write_kernel_yaml() {
|
||||||
|
# Generate the kernel.yaml fragment used as input for
|
||||||
|
# update-source-catalog.
|
||||||
|
#
|
||||||
|
# the newer kernel is the default kernel!
|
||||||
|
# bridge is the older, fallback kernel.
|
||||||
|
# $1 string, default kernel, such as "linux-generic"
|
||||||
|
# $2 string with comma seperated list of bridge reasons,
|
||||||
|
# usually "zfs,drivers"
|
||||||
|
local default="$1"
|
||||||
|
local reasons="$2"
|
||||||
|
|
||||||
|
cat <<EOF > config/kernel.yaml
|
||||||
|
kernel:
|
||||||
|
default: "$default"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# To specify fallback to a bridge kernel, construct a kernel.yaml
|
||||||
|
# with the following:
|
||||||
|
#
|
||||||
|
# kernel:
|
||||||
|
# default: linux-foo
|
||||||
|
# bridge: linux-foo-brg-YY.MM
|
||||||
|
# bridge_reasons: [zfs, drivers]
|
||||||
|
#
|
||||||
|
# If an install is using zfs or "drivers", use the bridge kernel, else
|
||||||
|
# use the default kernel.
|
||||||
|
|
||||||
|
if $USE_BRIDGE_KERNEL ; then
|
||||||
|
cat <<EOF >> config/kernel.yaml
|
||||||
|
bridge: "${default}-brg-$(release_ver)"
|
||||||
|
bridge_reasons: [$reasons]
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
@ -204,7 +204,8 @@ do
|
|||||||
build_layered_squashfs "${_PASS}" ${*}
|
build_layered_squashfs "${_PASS}" ${*}
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ -f config/kernel.yaml ]; then
|
if [ -n "$DEFAULT_KERNEL" -a -f livecd.${PROJECT_FULL}.install-sources.yaml ]; then
|
||||||
|
write_kernel_yaml "$DEFAULT_KERNEL" "$BRIDGE_KERNEL_REASONS"
|
||||||
/usr/share/livecd-rootfs/update-source-catalog merge \
|
/usr/share/livecd-rootfs/update-source-catalog merge \
|
||||||
--output livecd.${PROJECT_FULL}.install-sources.yaml \
|
--output livecd.${PROJECT_FULL}.install-sources.yaml \
|
||||||
--template config/kernel.yaml
|
--template config/kernel.yaml
|
||||||
|
Loading…
x
Reference in New Issue
Block a user