mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-15 02:34:08 +00:00
Imported 2.765
No reason for CPC update specified.
This commit is contained in:
parent
bdf30fda0b
commit
ca18c993a1
13
debian/changelog
vendored
13
debian/changelog
vendored
@ -1,8 +1,15 @@
|
|||||||
livecd-rootfs (2.764+1) kinetic; urgency=medium
|
livecd-rootfs (2.765) kinetic; urgency=medium
|
||||||
|
|
||||||
* add kinetic
|
[ Michael Hudson-Doyle ]
|
||||||
|
* auto/config: preserve germinate-output directory when removing config to
|
||||||
|
speed up local iteration.
|
||||||
|
* auto/config: Emit error message to stderr in _sanitize_passes.
|
||||||
|
* Produce a tarball of artifacts for netbooting during live-server build.
|
||||||
|
|
||||||
-- Thomas Bechtold <thomas.bechtold@canonical.com> Tue, 26 Apr 2022 15:33:31 +0200
|
[ John Chittum ]
|
||||||
|
* vagrant: use ed25519 insecure key (LP: #1969664)
|
||||||
|
|
||||||
|
-- John Chittum <john.chittum@canonical.com> Thu, 26 May 2022 09:28:26 -0500
|
||||||
|
|
||||||
livecd-rootfs (2.764) jammy; urgency=medium
|
livecd-rootfs (2.764) jammy; urgency=medium
|
||||||
|
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
rm -rf config
|
if [ -e config/germinate-output ]; then
|
||||||
|
mv -T config/germinate-output germ-tmp
|
||||||
|
rm -rf config
|
||||||
|
mkdir config
|
||||||
|
mv -T germ-tmp config/germinate-output
|
||||||
|
else
|
||||||
|
rm -rf config
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Building on $(hostname --fqdn)"
|
echo "Building on $(hostname --fqdn)"
|
||||||
|
|
||||||
@ -298,7 +305,7 @@ _sanitize_passes ()
|
|||||||
# if root pass, no parent to find
|
# if root pass, no parent to find
|
||||||
[ -z "$parent" ] && continue
|
[ -z "$parent" ] && continue
|
||||||
if [ $(echo "$passes"|grep -cE "^$parent\$") -ne 1 ]; then
|
if [ $(echo "$passes"|grep -cE "^$parent\$") -ne 1 ]; then
|
||||||
echo "ERROR: '$parent' is required by '$pass' but is missing. Registered passes are:\n$passes"
|
echo "ERROR: '$parent' is required by '$pass' but is missing. Registered passes are:\n$passes" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -867,6 +874,18 @@ case $PROJECT in
|
|||||||
add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor $kernel_metapkg
|
add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor $kernel_metapkg
|
||||||
LIVE_PASSES="${LIVE_PASSES:+$LIVE_PASSES }ubuntu-server-minimal.ubuntu-server.installer.$flavor"
|
LIVE_PASSES="${LIVE_PASSES:+$LIVE_PASSES }ubuntu-server-minimal.ubuntu-server.installer.$flavor"
|
||||||
done
|
done
|
||||||
|
case $ARCH in
|
||||||
|
amd64)
|
||||||
|
add_package ubuntu-server-minimal.ubuntu-server.installer.generic.netboot grub-pc shim-signed pxelinux
|
||||||
|
;;
|
||||||
|
arm64)
|
||||||
|
add_package ubuntu-server-minimal.ubuntu-server.installer.generic.netboot shim-signed
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
add_package ubuntu-server-minimal.ubuntu-server.installer.generic.netboot
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.generic.netboot
|
||||||
|
|
||||||
/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
|
||||||
|
@ -58,6 +58,18 @@ cleanup_vagrant() {
|
|||||||
}
|
}
|
||||||
trap cleanup_vagrant EXIT
|
trap cleanup_vagrant EXIT
|
||||||
|
|
||||||
|
|
||||||
|
##########################
|
||||||
|
### Vagrant User Setup
|
||||||
|
### Create ed25519 ssh key
|
||||||
|
### the default insecure key is rsa, and that is disabled in Jammy forward
|
||||||
|
### https://github.com/hashicorp/vagrant/tree/main/keys
|
||||||
|
##########################
|
||||||
|
|
||||||
|
ssh-keygen -t ed25519 -C "ubuntu_vagrant_insecure_key" -b 4096 -f ${box_d}/vagrant_insecure_key
|
||||||
|
|
||||||
|
pub_key=$(cat ${box_d}/vagrant_insecure_key.pub)
|
||||||
|
|
||||||
# Create and setup users inside the image.
|
# Create and setup users inside the image.
|
||||||
# Vagrant users expect a "vagrant" user with a "vagrant" username.
|
# Vagrant users expect a "vagrant" user with a "vagrant" username.
|
||||||
# See https://www.vagrantup.com/docs/boxes/base.html
|
# See https://www.vagrantup.com/docs/boxes/base.html
|
||||||
@ -70,12 +82,12 @@ cat << EOF > ${mount_d}/etc/sudoers.d/vagrant
|
|||||||
vagrant ALL=(ALL) NOPASSWD:ALL
|
vagrant ALL=(ALL) NOPASSWD:ALL
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# Add the insecure vagrant pubkey to the vagrant user, as is expected by the
|
# Add an insecure vagrant pubkey to the vagrant user, as is expected by the
|
||||||
# vagrant ecosystem (https://www.vagrantup.com/docs/boxes/base.html)
|
# vagrant ecosystem (https://www.vagrantup.com/docs/boxes/base.html)
|
||||||
chroot ${mount_d} chmod 0440 /etc/sudoers.d/vagrant
|
chroot ${mount_d} chmod 0440 /etc/sudoers.d/vagrant
|
||||||
chroot ${mount_d} mkdir -p /home/vagrant/.ssh
|
chroot ${mount_d} mkdir -p /home/vagrant/.ssh
|
||||||
cat << EOF > ${mount_d}/home/vagrant/.ssh/authorized_keys
|
cat << EOF > ${mount_d}/home/vagrant/.ssh/authorized_keys
|
||||||
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
|
${pub_key}
|
||||||
EOF
|
EOF
|
||||||
chroot ${mount_d} chown -R vagrant:vagrant /home/vagrant/.ssh
|
chroot ${mount_d} chown -R vagrant:vagrant /home/vagrant/.ssh
|
||||||
chroot ${mount_d} chmod 700 /home/vagrant/.ssh
|
chroot ${mount_d} chmod 700 /home/vagrant/.ssh
|
||||||
@ -130,7 +142,6 @@ genisoimage \
|
|||||||
create_vmdk ${seed_d}/seed.iso ${cdrom_vmdk_f} 10
|
create_vmdk ${seed_d}/seed.iso ${cdrom_vmdk_f} 10
|
||||||
|
|
||||||
### END Create ConfigDrive
|
### END Create ConfigDrive
|
||||||
##########################
|
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# VAGRANT meta-data
|
# VAGRANT meta-data
|
||||||
@ -145,6 +156,8 @@ load include_vagrantfile if File.exist?(include_vagrantfile)
|
|||||||
|
|
||||||
Vagrant.configure("2") do |config|
|
Vagrant.configure("2") do |config|
|
||||||
config.vm.base_mac = "${macaddr}"
|
config.vm.base_mac = "${macaddr}"
|
||||||
|
# Set to use our vagrant_insecure_key. Path is relative to Vagrantfile
|
||||||
|
config.ssh.private_key_path = File.join(File.expand_path(File.dirname(__FILE__)), "vagrant_insecure_key")
|
||||||
|
|
||||||
config.vm.provider "virtualbox" do |vb|
|
config.vm.provider "virtualbox" do |vb|
|
||||||
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
|
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
|
||||||
@ -233,6 +246,8 @@ tar -C ${box_d} \
|
|||||||
-cf ${cur_d}/livecd.ubuntu-cpc.vagrant.box \
|
-cf ${cur_d}/livecd.ubuntu-cpc.vagrant.box \
|
||||||
box.ovf \
|
box.ovf \
|
||||||
Vagrantfile \
|
Vagrantfile \
|
||||||
|
vagrant_insecure_key \
|
||||||
|
vagrant_insecure_key.pub \
|
||||||
metadata.json \
|
metadata.json \
|
||||||
${prefix}.mf \
|
${prefix}.mf \
|
||||||
${vmdk_f##*/} \
|
${vmdk_f##*/} \
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
# vi: ts=4 noexpandtab
|
# vi: ts=4 noexpandtab
|
||||||
|
|
||||||
case $PASS in
|
case $PASS in
|
||||||
|
ubuntu-server-minimal.ubuntu-server.installer.*.*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
ubuntu-server-minimal.ubuntu-server.installer.*)
|
ubuntu-server-minimal.ubuntu-server.installer.*)
|
||||||
flavor=${PASS##*.}
|
flavor=${PASS##*.}
|
||||||
if [ "$flavor" = "generic" ]; then
|
if [ "$flavor" = "generic" ]; then
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
# vi: ts=4 noexpandtab
|
# vi: ts=4 noexpandtab
|
||||||
|
|
||||||
case $PASS in
|
case $PASS in
|
||||||
|
ubuntu-server-minimal.ubuntu-server.installer.*.*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
ubuntu-server-minimal.ubuntu-server.installer.*)
|
ubuntu-server-minimal.ubuntu-server.installer.*)
|
||||||
flavor=${PASS##*.}
|
flavor=${PASS##*.}
|
||||||
;;
|
;;
|
||||||
|
117
live-build/ubuntu-server/hooks/05-netboot-tarball.binary
Executable file
117
live-build/ubuntu-server/hooks/05-netboot-tarball.binary
Executable file
@ -0,0 +1,117 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
case $PASS in
|
||||||
|
ubuntu-server-minimal.ubuntu-server.installer.generic.netboot)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
flavor=generic
|
||||||
|
|
||||||
|
KERNEL=${PWD}/livecd.${PROJECT}.kernel-$flavor
|
||||||
|
INITRD=${PWD}/livecd.${PROJECT}.initrd-$flavor
|
||||||
|
|
||||||
|
mkdir -p tarball/$ARCH
|
||||||
|
|
||||||
|
case $ARCH in
|
||||||
|
s390x)
|
||||||
|
cp $INITRD tarball/$ARCH/initrd.ubuntu
|
||||||
|
cp $KERNEL tarball/$ARCH/kernel.ubuntu
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
cp $INITRD tarball/$ARCH/initrd
|
||||||
|
cp $KERNEL tarball/$ARCH/kernel
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $ARCH in
|
||||||
|
amd64)
|
||||||
|
mv chroot/usr/lib/PXELINUX/pxelinux.0 tarball/pxelinux.0
|
||||||
|
mv chroot/usr/lib/syslinux/modules/bios/ldlinux.c32 tarball/ldlinux.c32
|
||||||
|
mv chroot/usr/lib/shim/shimx64.efi tarball/bootx64.efi
|
||||||
|
mv chroot/usr/lib/grub/x86_64-efi-signed/grubnetx64.efi.signed tarball/grubx64.efi
|
||||||
|
|
||||||
|
mkdir tarball/x86_64-efi tarball/pxelinux.cfg
|
||||||
|
cat > tarball/x86_64-efi/grub.cfg.in <<EOF
|
||||||
|
menuentry "Install Ubuntu Server" {
|
||||||
|
set gfxpayload=keep
|
||||||
|
linux amd64/linux url=#ISOURL# ip=dhcp ---
|
||||||
|
initrd amd64/initrd
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
cat > tarball/pxelinux.cfg/default.in <<EOF
|
||||||
|
DEFAULT install
|
||||||
|
LABEL install
|
||||||
|
KERNEL amd64/linux
|
||||||
|
INITRD amd64/initrd
|
||||||
|
APPEND root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=#ISOURL# ---
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
|
||||||
|
arm64)
|
||||||
|
mv chroot/usr/lib/shim/shimaa64.efi tarball/bootaa64.efi
|
||||||
|
mv chroot/usr/lib/grub/arm64-efi-signed/grubnetaa64.efi.signed tarball/grubaa64.efi
|
||||||
|
|
||||||
|
mkdir tarball/arm64-efi
|
||||||
|
cat > tarball/arm64-efi/grub.cfg.in <<EOF
|
||||||
|
menuentry "Install Ubuntu Server" {
|
||||||
|
set gfxpayload=keep
|
||||||
|
linux arm64/linux url=#ISOURL# ip=dhcp ---
|
||||||
|
initrd arm64/initrd
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
|
||||||
|
s390x)
|
||||||
|
cat > tarball/s390x/ubuntu.exec <<EOF
|
||||||
|
/* REXX EXEC TO IPL Ubuntu for */
|
||||||
|
/* z Systems FROM THE VM READER. */
|
||||||
|
/* */
|
||||||
|
'CP CLOSE RDR'
|
||||||
|
'PURGE RDR ALL'
|
||||||
|
'SPOOL PUNCH * RDR'
|
||||||
|
'PUNCH KERNEL UBUNTU * (NOHEADER'
|
||||||
|
'PUNCH PARMFILE UBUNTU * (NOHEADER'
|
||||||
|
'PUNCH INITRD UBUNTU * (NOHEADER'
|
||||||
|
'CHANGE RDR ALL KEEP NOHOLD'
|
||||||
|
'CP IPL 000C CLEAR'
|
||||||
|
EOF
|
||||||
|
cat > tarball/s390x/ubuntu.ins <<EOF
|
||||||
|
* Ubuntu for IBM Z (default kernel)
|
||||||
|
kernel.ubuntu 0x00000000
|
||||||
|
initrd.off 0x0001040c
|
||||||
|
initrd.siz 0x00010414
|
||||||
|
parmfile.ubuntu 0x00010480
|
||||||
|
initrd.ubuntu 0x01000000
|
||||||
|
EOF
|
||||||
|
cat > tarball/s390x/parmfile.ubuntu.in <<EOF
|
||||||
|
url=#ISOURL# ---
|
||||||
|
EOF
|
||||||
|
perl -e "print pack('N', 0x1000000)" > tarball/s390x/initrd.off
|
||||||
|
perl -e "print pack('N', -s 'tarball/s390x/initrd.ubuntu')" > tarball/s390x/initrd.siz
|
||||||
|
cat > tarball/s390x-kvm.cfg.in <<EOF
|
||||||
|
DEFAULT install
|
||||||
|
LABEL install
|
||||||
|
KERNEL amd64/linux.ubuntu
|
||||||
|
INITRD amd64/initrd.ubuntu
|
||||||
|
APPEND ip=dhcp url=#ISOURL# ---
|
||||||
|
EOF
|
||||||
|
cat > tarball/dpm.cfg.in <<EOF
|
||||||
|
PROMPT 1
|
||||||
|
DEFAULT install
|
||||||
|
TIMEOUT 1
|
||||||
|
LABEL install
|
||||||
|
kernel=amd64/linux.ubuntu
|
||||||
|
initrd=amd64/initrd.ubuntu
|
||||||
|
append=ip=dhcp url=#ISOURL# ---
|
||||||
|
EOF
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
tar -C tarball -czf livecd.${PROJECT}.netboot.tar.gz .
|
||||||
|
rm -rf tarball
|
Loading…
x
Reference in New Issue
Block a user