mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-08-15 02:34:08 +00:00
Compare commits
12 Commits
ubuntu/mas
...
24.04.71
Author | SHA1 | Date | |
---|---|---|---|
|
13ec478feb | ||
|
639f04b7b9 | ||
|
073d7e0404 | ||
|
1f40b60606 | ||
|
5507ca8d83 | ||
|
49a14274d1 | ||
|
5f59eec085 | ||
|
8cc079fe50 | ||
|
34edbb9a1c | ||
|
40c7eac14d | ||
|
b12e271417 | ||
|
fa351ac77b |
6
.idea.bkup/inspectionProfiles/profiles_settings.xml
Normal file
6
.idea.bkup/inspectionProfiles/profiles_settings.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
8
.idea.bkup/livecd-rootfs.iml
Normal file
8
.idea.bkup/livecd-rootfs.iml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
4
.idea.bkup/misc.xml
Normal file
4
.idea.bkup/misc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (cpc-sbom) (2)" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
.idea.bkup/modules.xml
Normal file
8
.idea.bkup/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/livecd-rootfs.iml" filepath="$PROJECT_DIR$/.idea/livecd-rootfs.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
7
.idea.bkup/vcs.xml
Normal file
7
.idea.bkup/vcs.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$/livecd-rootfs" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
50
.idea.bkup/workspace.xml
Normal file
50
.idea.bkup/workspace.xml
Normal file
@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="8b53e4fe-d06b-4120-bca1-09aab0c0e0b8" name="Changes" comment="">
|
||||
<change beforePath="$PROJECT_DIR$/debian/changelog" beforeDir="false" afterPath="$PROJECT_DIR$/debian/changelog" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary" beforeDir="false" afterPath="$PROJECT_DIR$/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/livecd-rootfs/debian/changelog" beforeDir="false" afterPath="$PROJECT_DIR$/livecd-rootfs/debian/changelog" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/livecd-rootfs/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary" beforeDir="false" afterPath="$PROJECT_DIR$/livecd-rootfs/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="ProjectColorInfo"><![CDATA[{
|
||||
"associatedIndex": 3
|
||||
}]]></component>
|
||||
<component name="ProjectId" id="2VtkQwj0NQBRHE5uOcNk4KgQ7sF" />
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
<component name="PropertiesComponent"><![CDATA[{
|
||||
"keyToString": {
|
||||
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||
"WebServerToolWindowFactoryState": "false",
|
||||
"last_opened_file_path": "/home/philroche/Working/livecd-rootfs",
|
||||
"vue.rearranger.settings.migration": "true"
|
||||
}
|
||||
}]]></component>
|
||||
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="8b53e4fe-d06b-4120-bca1-09aab0c0e0b8" name="Changes" comment="" />
|
||||
<created>1695662751675</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1695662751675</updated>
|
||||
<workItem from="1695662752677" duration="2000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="3" />
|
||||
</component>
|
||||
</project>
|
6
.idea.bkup2/inspectionProfiles/profiles_settings.xml
Normal file
6
.idea.bkup2/inspectionProfiles/profiles_settings.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
8
.idea.bkup2/livecd-rootfs.iml
Normal file
8
.idea.bkup2/livecd-rootfs.iml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
8
.idea.bkup2/modules.xml
Normal file
8
.idea.bkup2/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/livecd-rootfs.iml" filepath="$PROJECT_DIR$/.idea/livecd-rootfs.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
7
.idea.bkup2/workspace.xml
Normal file
7
.idea.bkup2/workspace.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
</project>
|
6
.idea.bkup3/inspectionProfiles/profiles_settings.xml
Normal file
6
.idea.bkup3/inspectionProfiles/profiles_settings.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
8
.idea.bkup3/livecd-rootfs.iml
Normal file
8
.idea.bkup3/livecd-rootfs.iml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
8
.idea.bkup3/modules.xml
Normal file
8
.idea.bkup3/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/livecd-rootfs.iml" filepath="$PROJECT_DIR$/.idea/livecd-rootfs.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
7
.idea.bkup3/workspace.xml
Normal file
7
.idea.bkup3/workspace.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
</project>
|
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
8
.idea/livecd-rootfs.iml
generated
Normal file
8
.idea/livecd-rootfs.iml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/livecd-rootfs.iml" filepath="$PROJECT_DIR$/.idea/livecd-rootfs.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
7
.idea/workspace.xml
generated
Normal file
7
.idea/workspace.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectViewState">
|
||||
<option name="hideEmptyMiddlePackages" value="true" />
|
||||
<option name="showLibraryContents" value="true" />
|
||||
</component>
|
||||
</project>
|
40
arm64-minimized-alignment.patch
Normal file
40
arm64-minimized-alignment.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff --git a/live-build/auto/config b/live-build/auto/config
|
||||
index 20d28139..8f188b5d 100755
|
||||
--- a/live-build/auto/config
|
||||
+++ b/live-build/auto/config
|
||||
@@ -1048,12 +1048,13 @@ case $PROJECT in
|
||||
add_task install ubuntu-server-raspi
|
||||
;;
|
||||
armhf*)
|
||||
- add_package install flash-kernel
|
||||
+ if [ "${SUBPROJECT:-}" != minimized ]; then
|
||||
+ add_package install flash-kernel
|
||||
+ fi
|
||||
;;
|
||||
arm64*)
|
||||
- add_package install flash-kernel
|
||||
- if [ "${SUBARCH:-}" = "generic" ]; then
|
||||
- KERNEL_FLAVOURS=generic
|
||||
+ if [ "${SUBPROJECT:-}" != minimized ]; then
|
||||
+ add_package install flash-kernel
|
||||
fi
|
||||
;;
|
||||
amd64*)
|
||||
diff --git a/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary b/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary
|
||||
index 3685e464..4602267c 100755
|
||||
--- a/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary
|
||||
+++ b/live-build/ubuntu-cpc/hooks.d/base/disk-image-uefi.binary
|
||||
@@ -112,11 +112,11 @@ install_grub() {
|
||||
# please file a bug against grub2 to include the affected module.
|
||||
case $ARCH in
|
||||
arm64)
|
||||
- chroot mountpoint apt-get -qqy install --no-install-recommends shim-signed grub-efi-arm64-signed
|
||||
+ chroot mountpoint apt-get install -qqy shim-signed
|
||||
efi_target=arm64-efi
|
||||
;;
|
||||
armhf)
|
||||
- chroot mountpoint apt-get -qqy install --no-install-recommends grub-efi-arm grub-efi-arm-bin
|
||||
+ chroot mountpoint apt-get -qqy install grub-efi-arm grub-efi-arm-bin
|
||||
efi_target=arm-efi
|
||||
;;
|
||||
amd64)
|
63
buildd-noble-ls-python-3-apt.patch
Normal file
63
buildd-noble-ls-python-3-apt.patch
Normal file
@ -0,0 +1,63 @@
|
||||
diff --git a/live-build/buildd/hooks/02-disk-image-uefi.binary b/live-build/buildd/hooks/02-disk-image-uefi.binary
|
||||
index 44a7ff42..a90f19c7 100755
|
||||
--- a/live-build/buildd/hooks/02-disk-image-uefi.binary
|
||||
+++ b/live-build/buildd/hooks/02-disk-image-uefi.binary
|
||||
@@ -53,6 +53,26 @@ LABEL=UEFI /boot/efi vfat defaults 0 1
|
||||
EOF
|
||||
}
|
||||
|
||||
+
|
||||
+divert_lsb_release() {
|
||||
+ CHROOT_ROOT="$1"
|
||||
+ chroot "$CHROOT_ROOT" dpkg-divert --local \
|
||||
+ --divert /usr/bin/lsb_release.dpkg-divert \
|
||||
+ --rename /usr/bin/lsb_release
|
||||
+ echo "echo Ubuntu" > "$CHROOT_ROOT"/usr/bin/lsb_release
|
||||
+ chmod +x "$CHROOT_ROOT"/usr/bin/lsb_release
|
||||
+
|
||||
+}
|
||||
+
|
||||
+undivert_lsb_release() {
|
||||
+ CHROOT_ROOT="$1"
|
||||
+ if grep -q "^echo Ubuntu$" "$CHROOT_ROOT"/usr/bin/lsb_release; then
|
||||
+ rm "$CHROOT_ROOT"/usr/bin/lsb_release
|
||||
+ fi
|
||||
+ chroot "$CHROOT_ROOT" dpkg-divert --remove --local \
|
||||
+ --rename /usr/bin/lsb_release
|
||||
+}
|
||||
+
|
||||
install_grub() {
|
||||
mkdir mountpoint
|
||||
mount_partition "${rootfs_dev_mapper}" mountpoint
|
||||
@@ -69,7 +89,8 @@ install_grub() {
|
||||
fi
|
||||
|
||||
chroot mountpoint apt-get -y update
|
||||
-
|
||||
+ divert_lsb_release mountpoint
|
||||
+ chroot mountpoint lsb_release
|
||||
# UEFI GRUB modules are meant to be used equally by Secure Boot and
|
||||
# non-Secure Boot systems. If you need an extra module not already
|
||||
# provided or run into "Secure Boot policy forbids loading X" problems,
|
||||
@@ -84,7 +105,7 @@ install_grub() {
|
||||
efi_target=arm-efi
|
||||
;;
|
||||
amd64)
|
||||
- chroot mountpoint apt-get install -qqy grub-pc shim-signed
|
||||
+ chroot mountpoint apt-get install -qqy grub-pc shim-signed python3-apt
|
||||
efi_target=x86_64-efi
|
||||
;;
|
||||
esac
|
||||
@@ -121,10 +142,12 @@ GRUB_RECORDFAIL_TIMEOUT=0
|
||||
GRUB_TERMINAL=console
|
||||
EOF
|
||||
|
||||
+
|
||||
divert_grub mountpoint
|
||||
chroot mountpoint update-grub
|
||||
replace_grub_root_with_label mountpoint
|
||||
undivert_grub mountpoint
|
||||
+ undivert_lsb_release mountpoint
|
||||
|
||||
chroot mountpoint apt-get -y clean
|
||||
|
14
debian/changelog
vendored
14
debian/changelog
vendored
@ -1,9 +1,19 @@
|
||||
livecd-rootfs (24.04.70) UNRELEASED; urgency=medium
|
||||
livecd-rootfs (24.04.71) noble; urgency=medium
|
||||
|
||||
* Re-enable ability to build HyperV desktop images (LP: #2064280)
|
||||
|
||||
-- Philip Roche <phil.roche@canonical.com> Mon, 27 May 2024 12:05:33 +0100
|
||||
|
||||
livecd-rootfs (24.04.70) noble; urgency=medium
|
||||
|
||||
[ Łukasz 'sil2100' Zemczak ]
|
||||
* Add experimental support for building ubuntu-core-desktop installer images
|
||||
(LP: #2063203)
|
||||
|
||||
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Wed, 24 Apr 2024 10:53:27 +0100
|
||||
[ Philip Roche ]
|
||||
* No longer install LXD snap in unminimize script (LP: #2066905)
|
||||
|
||||
-- Philip Roche <phil.roche@canonical.com> Fri, 24 May 2024 15:47:48 +0100
|
||||
|
||||
livecd-rootfs (24.04.69) noble; urgency=medium
|
||||
|
||||
|
1
debian/files
vendored
Normal file
1
debian/files
vendored
Normal file
@ -0,0 +1 @@
|
||||
livecd-rootfs_2.765.30_source.buildinfo devel optional
|
@ -284,18 +284,6 @@ fi
|
||||
EOF
|
||||
|
||||
fi
|
||||
if [ "$PROJECT" = "ubuntu-cpc" ] || [ "$PROJECT" = "ubuntu-server" ]; then
|
||||
cat >> chroot/usr/local/sbin/unminimize <<'EOF'
|
||||
|
||||
# installing LXD using the lxd-installer by simply invoking it
|
||||
echo "Invoking LXD so that it can be installed by the lxd-installer's script.."
|
||||
lxd --version
|
||||
|
||||
echo "Removing lxd installer package..."
|
||||
apt-get purge -y lxd-installer
|
||||
|
||||
EOF
|
||||
fi
|
||||
cat >> chroot/usr/local/sbin/unminimize <<'EOF'
|
||||
|
||||
# unminimization succeeded, there is no need to mention it in motd
|
||||
|
43
live-build/genbuildinfo.py
Executable file
43
live-build/genbuildinfo.py
Executable file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/python3
|
||||
import apt
|
||||
import os
|
||||
import platform
|
||||
import datetime
|
||||
from datetime import datetime, timezone
|
||||
|
||||
# Get the current date and time in UTC timezone aware
|
||||
utc_now = datetime.now(timezone.utc)
|
||||
|
||||
def get_system_architecture():
|
||||
arch = platform.machine()
|
||||
if arch == 'x86_64':
|
||||
return 'amd64'
|
||||
elif arch == 'aarch64':
|
||||
return 'arm64'
|
||||
else:
|
||||
return f"Unknown architecture: {arch}"
|
||||
|
||||
print("Format: 1.0")
|
||||
print("Build-Origin: Ubuntu")
|
||||
print(f"Build-Architecture: {get_system_architecture()}")
|
||||
print(f"Build-Date: {utc_now}")
|
||||
# Using python-apt to gather installed packages
|
||||
try:
|
||||
package_cache = apt.Cache()
|
||||
|
||||
print("List of installed packages:")
|
||||
for package in package_cache:
|
||||
if package.is_installed:
|
||||
print(f" {package.name} (= {package.installed.version}),")
|
||||
|
||||
except Exception as e:
|
||||
print(f"An error occurred while fetching installed packages: {e}")
|
||||
|
||||
# Using os module to list all environment variables
|
||||
try:
|
||||
print("\nEnvironment variables:")
|
||||
for param, value in os.environ.items():
|
||||
print(f" {param}={value}")
|
||||
|
||||
except Exception as e:
|
||||
print(f"An error occurred while fetching environment variables: {e}")
|
@ -9,21 +9,6 @@ case $ARCH in
|
||||
;;
|
||||
esac
|
||||
|
||||
case ${PROJECT:-}:${SUBPROJECT:-} in
|
||||
ubuntu:)
|
||||
echo "We don't create EFI images for Ubuntu Desktop."
|
||||
exit 0
|
||||
;;
|
||||
ubuntu)
|
||||
IMAGE_STR="# DESKTOP_IMG: This file was created/modified by the Desktop Image build process"
|
||||
FS_LABEL="desktop-rootfs"
|
||||
IMAGE_SIZE=12884901888 # 12G
|
||||
;;
|
||||
*)
|
||||
IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
|
||||
FS_LABEL="cloudimg-rootfs"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$ARCH" = "amd64" ]; then
|
||||
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2); Since Kinetic amd64 need more then the default 2.2G
|
||||
@ -44,6 +29,22 @@ 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
|
||||
|
||||
case ${PROJECT:-}:${SUBPROJECT:-} in
|
||||
ubuntu:)
|
||||
echo "We don't create EFI images for Ubuntu Desktop."
|
||||
exit 0
|
||||
;;
|
||||
ubuntu:desktop-preinstalled)
|
||||
IMAGE_STR="# DESKTOP_IMG: This file was created/modified by the Desktop Image build process"
|
||||
FS_LABEL="desktop-rootfs"
|
||||
IMAGE_SIZE=12884901888 # 12G
|
||||
;;
|
||||
*)
|
||||
IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
|
||||
FS_LABEL="cloudimg-rootfs"
|
||||
;;
|
||||
esac
|
||||
|
||||
. config/binary
|
||||
|
||||
. config/functions
|
||||
|
@ -10,31 +10,6 @@ case ${PASS} in
|
||||
;;
|
||||
esac
|
||||
|
||||
# The unminimize script will try to install the lxd snap using the shim script
|
||||
# /usr/sbin/lxd from the lxd-installer package.
|
||||
# We can't do that at this stage so just neuter the lxd command (the snap
|
||||
# will get properly seeded by generic machinery).
|
||||
if [ -f "/usr/sbin/lxd" ]; then
|
||||
dpkg-divert --add --divert /usr/sbin/lxd.REAL --rename /usr/sbin/lxd
|
||||
ln -s /bin/true /usr/sbin/lxd
|
||||
yes | /usr/local/sbin/unminimize
|
||||
# unminimize also uninstalls lxd-installer package
|
||||
# and also removed `/usr/sbin/lxd` as a result, so we don't need to restore, but
|
||||
# we do need to remove the mock we used as part of dpkg-divert
|
||||
# first we need to remove the diversion
|
||||
dpkg-divert --remove --no-rename /usr/sbin/lxd
|
||||
# now remove the renamed file that we originally diverted to
|
||||
rm -v /usr/sbin/lxd.REAL
|
||||
else
|
||||
# if /usr/sbin/lxd doesn't exist then lxd-installer package isn't installed.
|
||||
# Instead, we can mock the command to avoid the unminimize script failing
|
||||
ln -s /bin/true /usr/sbin/lxd
|
||||
yes | /usr/local/sbin/unminimize
|
||||
# as the lxd-installer package was not installed and thus not removed by `unminimize`
|
||||
# the mock /usr/sbin/lxd will still be present, so we need to remove it
|
||||
rm -v /usr/sbin/lxd
|
||||
fi
|
||||
|
||||
# Fix up missing recommends. Other non-layered flavors handle this in
|
||||
# live-build/auto/build, but we need to do it here. Also, there are
|
||||
# additional recommends missing from server-minimal that wouldn't be
|
||||
|
@ -39,8 +39,14 @@ trap cleanup_hyperv EXIT
|
||||
|
||||
# Perform customisations
|
||||
|
||||
# For Ubuntu 24.04 and later cloud-init is included in desktop images. This is not applicable for Hyperv images so
|
||||
# we can disable cloud-init. This leaves the cloud-init package installed but disabled so users can still
|
||||
# use it if they want.
|
||||
touch "${scratch_d}/etc/cloud/cloud-init.disabled"
|
||||
|
||||
|
||||
chroot "${scratch_d}" apt-get update -y
|
||||
chroot "${scratch_d}" apt-get -y install xrdp linux-azure linux-tools-azure linux-cloud-tools-azure
|
||||
chroot "${scratch_d}" apt-get -y install xrdp linux-azure linux-tools-azure linux-cloud-tools-azure polkitd-pkla oem-config-gtk language-pack-en-base oem-config-slideshow-ubuntu
|
||||
|
||||
cat > ${scratch_d}/etc/modules-load.d/hyperv.conf << EOF
|
||||
${IMAGE_STR}
|
||||
@ -124,20 +130,19 @@ touch "${scratch_d}/var/lib/oem-config/run"
|
||||
|
||||
chroot "${scratch_d}" apt-get clean
|
||||
|
||||
raw_img=binary/boot/disk-hyperv-uefi.ext4
|
||||
vhd_img=livecd.ubuntu-desktop-hyperv.vhdx
|
||||
|
||||
create_manifest "${scratch_d}" "$vhd_img.zip.manifest"
|
||||
# End customisations
|
||||
|
||||
cleanup_hyperv
|
||||
trap - EXIT
|
||||
|
||||
raw_img=binary/boot/disk-hyperv-uefi.ext4
|
||||
vhd_img=livecd.ubuntu-desktop-hyperv.vhdx
|
||||
|
||||
qemu-img convert -O vhdx "$raw_img" "$vhd_img"
|
||||
rm "$raw_img"
|
||||
|
||||
apt-get install -y zip
|
||||
|
||||
create_manifest chroot "$vhd_img.zip.manifest"
|
||||
|
||||
zip "$vhd_img.zip" "$vhd_img"
|
||||
rm "$vhd_img"
|
||||
|
1
livecd-rootfs
Symbolic link
1
livecd-rootfs
Symbolic link
@ -0,0 +1 @@
|
||||
/home/philroche/Working/livecd-rootfs
|
Loading…
x
Reference in New Issue
Block a user