Compare commits

...

57 Commits

Author SHA1 Message Date
Dimitri John Ledkov
3e56c4c82e
releasing package livecd-rootfs version 2.664.12 2021-01-15 17:22:31 +00:00
Dimitri John Ledkov
4be305fedc
chroot: disable amd64 codepath on riscv64 2021-01-15 17:22:01 +00:00
Dimitri John Ledkov
bf0b1401ff
releasing package livecd-rootfs version 2.664.11 2021-01-15 17:08:41 +00:00
Dimitri John Ledkov
7680ece7b0
riscv64: backport HiFive unleashed & cloud-image building support
All commits are cherrypicks from hirsute, and includes:

make-lxd-metadata: add riscv64 lxd architecture tag
control: install qemu-utils & snapd on riscv64.
disk-image.binary: actually skip building MBR image on EFI platforms.
disk-image.binary: skip building MBR image on riscv64.
disk-image.binary: however still build MBR image on amd64.
disk-image-uefi.binary: build riscv64 image without a bootloader.
disk-image-uefi: riscv64 add u-boot spl
disk-image-uefi: riscv64 add ubuntu:ubuntu login, without expiry.
riscv64: build preinstalled riscv64 image with uboot SPL and CIDATA.
riscv64: fixup subarch build, unbound variable
qcow2-image: unbreak builds without subarch.
disk-image-uefi: fix riscv64 subarch user-data.

LP: #1903034
2021-01-15 17:06:44 +00:00
Łukasz 'sil2100' Zemczak
4e8e1fed07 Ok, last commit didn't remove enough lines, sorry for that. 2020-12-03 18:21:57 +01:00
Łukasz 'sil2100' Zemczak
2620aacd6a releasing package livecd-rootfs version 2.664.10 2020-12-03 12:22:54 +01:00
Łukasz 'sil2100' Zemczak
2029f49fe6 Still hardcode UC20 amd64 image size, but to the same value as for UC16 and UC18. 2020-12-03 12:22:31 +01:00
Łukasz 'sil2100' Zemczak
a4838e3245 Merge branch 'uc20-no-fixed-size' of git+ssh://git.launchpad.net/livecd-rootfs into ubuntu/focal 2020-11-27 17:59:08 +01:00
Robert C Jennings
5d11633c6c
releasing package livecd-rootfs version 2.664.9 2020-11-20 14:41:10 -06:00
Robert C Jennings
172b217128
Merge focal-open-vm-tools-update into ubuntu/focal [a=jchittum] [r=rcj]
Backport vmtools version in vmdk (LP: #1893898)

Backport
LP: #1893898 describes missing vmtools version from the vmdk headers.
The version should be added as ddb.toolsVersion = "2147483647" however
the sed was no longer replacing a ddb.comment field with the tools
version. Rather than subbing ddb.comment with toolsVersion, this commit
deletes ddb.comment (which the comment mentions could cause errors),
and adds the correct value. There was no visibility into the descriptor
during hook creation, so debug statements were added. This allows us to
quickly verify in the logs that bad statements are removed (the possibly
offending comments), as well as ensuring that the toolsVersion is added

MP: https://code.launchpad.net/~jchittum/livecd-rootfs/+git/livecd-rootfs/+merge/394142
2020-11-20 14:35:25 -06:00
Robert C Jennings
c5e80d80b7
Merge focal-sru-grub into ubuntu/focal [a=powersj] [r=patviafore,rcj]
SRU always install grub-pc with shim-signed (LP: #1901906), and ensure to autoremove packages

MP: https://code.launchpad.net/~powersj/livecd-rootfs/+git/livecd-rootfs-1/+merge/393735
2020-11-20 14:30:23 -06:00
John Chittum
c5cea219f4
re-add sed command
Older version of vmdk-stream-converter has an incorrect header. The
original sed command replaced the incorrect "Description File" comment
with the correct "Disk DescriptorFile".
2020-11-17 15:40:45 -06:00
John Chittum
c56c2475e4
Update changelog
Open release and add information
2020-11-16 09:18:14 -06:00
Joshua Powers
6ee6e4c599
releasing package livecd-rootfs version 2.664.9 2020-11-13 09:10:27 -08:00
Joshua Powers
ef950f5214
amd64: always install grub-pc with shim-signed
shim-signed depends on grub-efi-amd64-signed, which in turn has
alternative depends on either `grub-efi-amd64 | grub-pc`. However to
support booting with either via shim&signed-grub and BIOS, the choice
must be made to install grub-pc, not grub-efi-amd64.

This makes images consistent with Ubuntu Deskop, Live Server, buildd
bootable images; all of which already do install grub-pc and
shim-signed.

Additionally, this will ensure that autoremove is run after installing
anything in the CPC build hooks. This is done to avoid shipping images
that include packages that are autoremovable. This will clean-up as
packages are installed and detect any breakage at build time.

LP: #1901906
2020-11-13 09:07:12 -08:00
John Chittum
56862cd9b8
Backport vmtools version in vmdk (LP: #1893898)
Backport
LP: #1893898 describes missing vmtools version from the vmdk headers.
The version should be added as ddb.toolsVersion = "2147483647" however
the sed was no longer replacing a ddb.comment field with the tools
version. Rather than subbing ddb.comment with toolsVersion, this commit
deletes ddb.comment (which the comment mentions could cause errors),
and adds the correct value. There was no visibility into the descriptor
during hook creation, so debug statements were added. This allows us to
quickly verify in the logs that bad statements are removed (the possibly
offending comments), as well as ensuring that the toolsVersion is added
2020-11-10 12:50:32 -06:00
Łukasz 'sil2100' Zemczak
433c2363d8 Do not hard-code the UC20 amd64 image size anymore 2020-11-03 11:30:23 +01:00
Dimitri John Ledkov
430a6f2ae8
releasing package livecd-rootfs version 2.664.8 2020-10-22 16:01:34 +01:00
Dimitri John Ledkov
558bcbc47e
functions: provide nss_systemd-less nsswitch.conf in chroots.
(cherry picked from commit 4d4f113f42d6c3a58a484582af4d2c02f96a42bf)
2020-10-05 10:32:16 +01:00
Dimitri John Ledkov
2be2852ee0
auto/build: use setup|teardown_mountpoint to reduce duplication
(cherry picked from commit 109e6c6613aae4cbd4e8793709ab52c3cbce214c)
2020-10-05 10:32:15 +01:00
Robert C Jennings
e2ae9c245d
Avoid rbind /sys for chroot snap pre-seeding (cgroups fail to unmount)
Builds in LP with the Xenial kernel were happy with the recursive mount of
/sys inside the chroot while performing snap-preseeding but autopkgtests
with the groovy kernel failed.  With the groovy kernel the build was
unable to unmount sys/kernel/slab/*/cgroup/* (Operation not permitted).

This patch mounts /sys and /sys/kernel/security in the chroot in the
same way we've added for binary hooks.  This provides the paths under
/sys needed for snap-preseed while avoiding issues unmounting other
paths.

(cherry picked from commit 84397b50989670c2cfff01de23a5a73e67cd4088)
2020-10-05 10:32:14 +01:00
Dimitri John Ledkov
260c051032
apparmor: compile all profiles
(cherry picked from commit b14f79ce2e9a18b5832c5488146dbdd7edcd65dd)
2020-10-05 10:32:13 +01:00
Dimitri John Ledkov
ce5a138c79
seccomp: mount more up-to-date seccomp features
(cherry picked from commit 31861fd40dabd62e789aeb6d9e64b1ada7b908d8)
2020-10-05 10:32:12 +01:00
Dimitri John Ledkov
c95652e47d
seccomp: add more up-to-date seccomp actions
(cherry picked from commit bc4d32a422c4558656576cb0d3a1e4f3d0c42f76)
2020-10-05 10:32:11 +01:00
Dimitri John Ledkov
acc7e97f38
apparmor: mount more up-to-date apparmor features in the chroot.
(cherry picked from commit a14a31b7514e3f602f29f9af61e6b7bc97662dc2)
2020-10-05 10:32:10 +01:00
Dimitri John Ledkov
d724069fab
apparmor: Add generic v5.4 kernel apparmor features
(cherry picked from commit 37be000f39a1713c095d6758b41d9dc087079ddb)
2020-10-05 10:32:09 +01:00
Dimitri John Ledkov
56a7169ebe
live-server: remove duplicate snaps, due to overlayfs vs snap-preseed.
(cherry picked from commit 6e6ab16bf268c038392e9f4aa7b8398a53af65d5)
2020-10-05 10:32:08 +01:00
Robert C Jennings
39ebdf6902
Apply snap-preseed optimizations after seeding snaps
The snap-preseed command can do a number of things during the build
that are currently performed at first boot (apparmor profiles, systemd
unit generation, etc).  This patch adds a call to reset the seeding and
apply these optimizations when adding a seeded snap.  As a prerequisite
to calling snap-preseed we need to make /dev/mem available as well as
mounts from the host to perform this work, so those are also added here.

(cherry picked from commit 1ca11c979505ae1b8c4621f034d28070a2715293)
2020-10-05 10:32:07 +01:00
Robert C Jennings
bac2570518
releasing package livecd-rootfs version 2.664.7 2020-09-23 13:33:37 -05:00
John Chittum
3241df930b
Update changelog for SRU 2020-09-22 15:58:17 -05:00
John Chittum
05bba4cbbd
ubuntu-cpc:Vagrant Serial to Null (LP: #1874453)
Original fix proposed by Stanislav German-Evtushenko (giner)

CPC Ubuntu cloud images default to enabling a serial console connection
via the kernel commandline option `console=ttyS0`. Many clouds support
the serial connection, and utilize it for debugging purposes. Virtualbox
supports the serial connection as well. In Bionic and earlier images,
Vagrant boxes created a serial log file in the directory of the
Vagrantfile by default. However this is not standard behaviour for
Vagrant images, and so it was removed in Eoan onwards.

Starting in Eoan, there were reports of image booting slowdown (1874453
is a single example). After testing, it was determined that the serial
connection starting, without a device attached, was the cause of the
slow down. However, we did not want to revert to the old functionality
of creating a file. Much thanks to <giner> for providing the Ruby syntax
for sending to File::NULL.

This option will not create a local file, however, the default
Vagrantfile configuration is overwritable via a users Vagrantfile. The
original syntax for creating a file local to the users Vagrantfile has
been included as an example.
2020-09-22 15:57:52 -05:00
Steve Langasek
f400d7f718 Changelog update for revert of azure change 2020-09-01 15:04:15 -07:00
Jinming Wu, Patrick
a58b91da5f
Revert azure kernel change 2020-09-02 05:48:42 +08:00
Jinming Wu, Patrick
750d52b504 Merge remote-tracking branch 'upstream/ubuntu/focal' into ubuntu/focal 2020-09-02 05:39:18 +08:00
Jinming Wu, Patrick
3b0439208e xRDP fixes for Hyper-V build
- xRDP configuration changes due to the config changes in this version
compared to 18.04.
- 46-allow-update-repo.pkla inclusion to aviod "Authentication required
to refresh system repositories" bug in xRDP
2020-09-02 05:36:26 +08:00
Steve Langasek
ab20f18c2e releasing package livecd-rootfs version 2.664.6 2020-08-26 14:06:35 -07:00
Steve Langasek
9b804b02e9 * Fix xrdp support in hyper-v images.
* Use the linux-azure kernel in hyper-v images instead of linux-virtual.
* LP: #1890980.
2020-08-26 14:06:01 -07:00
Jinming Wu, Patrick
419a21205c Fix a mistake on the location of policy file 2020-08-26 14:06:01 -07:00
Jinming Wu, Patrick
5a0e23fefe Update linux-tools/linux-cloud-tools to use Azure 2020-08-26 14:06:01 -07:00
Jinming Wu, Patrick
92dd127d83 xRDP fixes for Hyper-V build
- use of linux-azure, which is the optimized kernel for Hyper-V by
Microsoft
- xRDP configuration changes due to the config changes in this version
compared to 18.04.
- 46-allow-update-repo.pkla inclusion to aviod "Authentication required
to refresh system repositories" bug in xRDP
2020-08-26 14:06:01 -07:00
Steve Langasek
4e3289d0b8 Add SRU bug link 2020-08-10 12:58:37 -07:00
Steve Langasek
2404d27f5b Merge remote-tracking branch 'codyshepherd/bootable-buildd/dist-upgrade/focal' into ubuntu/focal 2020-08-04 12:40:29 -07:00
Robert C Jennings
136562b837
Handle seeded lxd snap with channel name for ubuntu-cpc:minimized (LP: #1889470)
The seed now specifies the lxd snap in focal as
'lxd=4.0/stable/ubuntu-20.04' which doesn't match the expectations of
the code with looks for lxd as the only snap in the seed for minimized
images.  This patch updates the pattern to accept 'lxd' or 'lxd=*'.
2020-07-29 14:55:19 -05:00
Dimitri John Ledkov
e9f4e97155
releasing package livecd-rootfs version 2.664.4 2020-07-23 19:12:30 +01:00
Dimitri John Ledkov
896b5962db
snap_preseed: support channel specification with snap name
snap_name[/classic]=track/risk/branch is now the supported snap name
specification, which allows to specify the full default track and
optional classic confinemnt.

Supporting such specification in the seedtext allows one to specify a
better default channel. For example, this will allow lxd to switch
from latest/stable/ubuntu-20.04 to 4.0/stable/ubuntu-20.04 as 4.0 is
the LTS track matching 20.04 support timeframe.

LP: #1882374

(cherry picked from commit 7bae9201d20822d6875bcf5949e1fff839b8774c)
(cherry picked from commit 2976a99f292c500f39aace25ad08de21b37d7b31)
(cherry picked from commit d542e8e4a08467ef9b6237b9fcbd9166c8c99e8b)
2020-07-23 19:06:57 +01:00
Łukasz 'sil2100' Zemczak
e39a40e2a5 releasing package livecd-rootfs version 2.664.3 2020-07-23 14:02:40 +02:00
Łukasz 'sil2100' Zemczak
8284a1c680 Sync changelog 2020-07-23 14:02:07 +02:00
Iain Lane
54508e6583
Hack seeding of linux kernel in ubuntustudio/focal
ubuntustudio-default-settings in focal release has a Recommends to this
kernel, which makes it impossible to update the kernel later on, since
we would install the -updates and release kernel, which isn't allowed
and causes FTBFS. Hack out the focal-release kernel and let the rest of
the build process pull in the right one.

LP: #1884915
2020-07-21 16:23:39 +01:00
Cody Shepherd
690522e89b
Remove explicit install of grub-efi-* package as it is not necessary,
and potentially overexplicit
2020-07-13 09:10:05 -07:00
Cody Shepherd
315a453ba6
Perform a dist-upgrade prior to installing packages for bootable-buildd
image in order to pull in package updates
2020-07-08 14:03:56 -07:00
Łukasz 'sil2100' Zemczak
e611dfc1c4 Enable overrides of UC20 grade dangerous channels 2020-05-25 18:44:08 +02:00
Philip Roche
cd098e7c41 Revert of initramfs package removal in KVM image (LP: #1880170)
It was reported and confirmed in LP bug #1875400
(https://bugs.launchpad.net/cloud-images/+bug/1875400) that on the public
KVM cloud image there exists a large list of packages marked for auto-removal.

This should never be the case on a released cloud image.

These packages are marked for auto-removal because in the KVM image binary hook
we removed both initramfs-tools and busybox-initramfs packages. Due to package
dependencies this also removed:

busybox-initramfs* cloud-initramfs-copymods* cloud-initramfs-dyn-netconf*
cryptsetup-initramfs* initramfs-tools* initramfs-tools-core* multipath-tools*
overlayroot* sg3-utils-udev* ubuntu-server*

But it did not remove all the packages that the above list depended on.
This resulted in all those packages being marked for auto-removal because they
were not manually installed nor did they have any manually installed packages
that depended on them.

The removal of initramfs-tools and busybox-initramfs was to avoid the
generation of initramfs in images that should boot initramfsless.

This requirement is obsolete now because the initramfsless boot handling
is now handled via setting GRUB_FORCE_PARTUUID in /etc/default/grub.d/40-force-partuuid.cfg.

In test images I have verified that GRUB_FORCE_PARTUUID is set and that
boot speeds have not regressed.

LP: #1880170
2020-05-22 13:38:22 +01:00
Łukasz 'sil2100' Zemczak
225f2fe504 Fix indentation. 2020-05-07 10:48:51 +02:00
Dimitri John Ledkov
0a2fbb8b99 releasing package livecd-rootfs version 2.664.1 2020-05-01 20:09:06 +01:00
Dimitri John Ledkov
54b8e73a15 ubuntu-image: drop ubuntu-image dep on riscv64, as not installable yet.
LP: #1876359
(cherry picked from commit 282c5a5bd50f9844cc077823b39550c663a013c3)
2020-05-01 20:08:14 +01:00
Dimitri John Ledkov
2d5f9581db ubuntu-image: fix focal+ pi images for armhf to use pi-armhf model name.
LP: #1876358
(cherry picked from commit 6e8b5b94c4a9f8db4afbaf566ebdb36110f08592)
2020-05-01 20:07:58 +01:00
Dimitri John Ledkov
dc456c240d Bump only the UC20 pc image to 8GB, and keep Pi images as small as possible.
LP: #1875430
(cherry picked from commit 668898d92c1a48ac4901661d0e5d7e4b117b09c0)
2020-05-01 20:07:46 +01:00
54 changed files with 653 additions and 48 deletions

120
debian/changelog vendored
View File

@ -1,3 +1,123 @@
livecd-rootfs (2.664.12) focal; urgency=medium
* riscv64: backport HiFive unleashed & cloud-image building support
(LP: #1903034)
-- Dimitri John Ledkov <xnox@ubuntu.com> Fri, 15 Jan 2021 17:07:20 +0000
livecd-rootfs (2.664.10) focal; urgency=medium
* Do not hard-code the UC20 amd64 image size to 8GB as now ubuntu-image
should be able to properly calculate the needed size itself.
* But per discussion, we might want to keep the UC20 images a bit bigger than
what's defined via the gadget/rootfs contents, to make sure writable is
comfortably big enough. Use the same hard-coded value as for UC16 and UC18.
(LP: #1905990)
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Fri, 27 Nov 2020 17:58:38 +0100
livecd-rootfs (2.664.9) focal; urgency=medium
[ John Chittum]
* Backport Ensure toolsVersion set in vmdk header (LP: #1893898)
[ Dimitri John Ledkov & Joshua Powers ]
* amd64: always install grub-pc with shim-signed (LP: #1901906), and
ensure to autoremove packages
-- Robert C Jennings <robert.jennings@canonical.com> Fri, 20 Nov 2020 14:35:51 -0600
livecd-rootfs (2.664.8) focal; urgency=medium
Backport snap-preseed work from groovy to focal LP: #1896755
[ Robert C Jennings ]
* Apply snap-preseed optimizations after seeding snaps
[ Dimitri John Ledkov ]
* live-server: remove duplicate snaps, due to overlayfs vs snap-preseed.
* apparmor: Add generic v5.4 kernel apparmor features
* apparmor: mount more up-to-date apparmor features in the chroot.
* seccomp: add more up-to-date seccomp actions
* seccomp: mount more up-to-date seccomp features
* apparmor: compile all profiles
[ Robert C Jennings ]
* Avoid rbind /sys for chroot snap pre-seeding (cgroups fail to unmount)
[ Dimitri John Ledkov ]
* auto/build: use setup|teardown_mountpoint to reduce duplication
* functions: provide nss_systemd-less nsswitch.conf in chroots.
-- Dimitri John Ledkov <xnox@ubuntu.com> Mon, 05 Oct 2020 10:33:02 +0100
livecd-rootfs (2.664.7) focal; urgency=medium
[ Stanislav German-Evtushenko <giner> / John Chittum ]
* Send Vagrant serial connection to NULL. (LP: #1874453)
-- Robert C Jennings <robert.jennings@canonical.com> Wed, 23 Sep 2020 13:32:32 -0500
livecd-rootfs (2.664.6) focal; urgency=medium
[ Patrick Wu ]
* Fix xrdp support in hyper-v images. LP: #1890980.
-- Steve Langasek <steve.langasek@ubuntu.com> Wed, 26 Aug 2020 14:06:31 -0700
livecd-rootfs (2.664.5) focal; urgency=medium
[ Robert C Jennings ]
* Handle seeded lxd snap with channel name for ubuntu-cpc:minimized
(LP: #1889470)
[ Cody Shepherd ]
* Add dist-upgrade to bootable-buildd hook to ensure the built image
doesn't contain vulnerable kernels or other packages. LP: #1891061.
* Don't explicitly install grub-efi-amd64-signed, it's a dependency of
shim-signed.
-- Steve Langasek <steve.langasek@ubuntu.com> Tue, 04 Aug 2020 12:39:27 -0700
livecd-rootfs (2.664.4) focal; urgency=medium
* snap_preseed: support channel specification with snap name (LP: #1882374)
-- Dimitri John Ledkov <xnox@ubuntu.com> Thu, 23 Jul 2020 19:12:10 +0100
livecd-rootfs (2.664.3) focal; urgency=medium
[ Łukasz 'sil2100' Zemczak ]
* Enable overrides of UC20 grade dangerous channels - as this is possible.
(LP: #1879350)
[ Iain Lane ]
* Hack seeding of linux kernel in ubuntustudio/focal
ubuntustudio-default-settings in focal release has a Recommends to this
kernel, which makes it impossible to update the kernel later on, since we
would install the -updates and release kernel, which isn't allowed and
causes FTBFS. Hack out the focal-release kernel and let the rest of the
build process pull in the right one. (LP: #1884915)
-- Iain Lane <iain.lane@canonical.com> Tue, 21 Jul 2020 16:25:18 +0100
livecd-rootfs (2.664.2) focal; urgency=medium
* Revert of initramfs package removal in KVM image (LP: #1880170)
-- Phil Roche <phil.roche@canonical.com> Fri, 22 May 2020 13:03:20 +0100
livecd-rootfs (2.664.1) focal; urgency=medium
* Bump only the UC20 pc image to 8GB, and keep Pi images as small as possible.
(LP: #1875430)
* ubuntu-image: fix focal+ pi images for armhf to use pi-armhf model name.
(LP: #1876358)
* ubuntu-image: drop ubuntu-image dep on riscv64, as not installable yet.
(LP: #1876359)
-- Dimitri John Ledkov <xnox@ubuntu.com> Fri, 01 May 2020 20:08:23 +0100
livecd-rootfs (2.664) focal; urgency=medium
[ Patrick Viafore ]

6
debian/control vendored
View File

@ -32,13 +32,13 @@ Depends: ${misc:Depends},
python3-apt,
python3-software-properties,
python3-yaml,
qemu-utils [!i386 !riscv64],
qemu-utils [!i386],
rsync,
snapd (>= 2.39) [!i386 !riscv64],
snapd (>= 2.39) [!i386],
squashfs-tools (>= 1:3.3-1),
sudo,
u-boot-tools [armhf arm64],
ubuntu-image [!i386],
ubuntu-image [!i386 !riscv64],
python3-vmdkstream [amd64 i386],
xz-utils,
zerofree

View File

@ -0,0 +1,78 @@
query {label {multi_transaction {yes
}
data {yes
}
perms {allow deny audit quiet
}
}
}
dbus {mask {acquire send receive
}
}
signal {mask {hup int quit ill trap abrt bus fpe kill usr1 segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg xcpu xfsz vtalrm prof winch io pwr sys emt lost
}
}
ptrace {mask {read trace
}
}
caps {mask {chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read
}
}
rlimit {mask {cpu fsize data stack core rss nproc nofile memlock as locks sigpending msgqueue nice rtprio rttime
}
}
capability {0xffffff
}
namespaces {pivot_root {no
}
profile {yes
}
}
mount {mask {mount umount pivot_root
}
}
network {af_unix {yes
}
af_mask {unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp
}
}
network_v8 {af_mask {unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp
}
}
file {mask {create read write exec append mmap_exec link lock
}
}
domain {version {1.2
}
attach_conditions {xattr {yes
}
}
computed_longest_left {yes
}
post_nnp_subset {yes
}
fix_binfmt_elf_mmap {yes
}
stack {yes
}
change_profile {yes
}
change_onexec {yes
}
change_hatv {yes
}
change_hat {yes
}
}
policy {set_load {yes
}
versions {v8 {yes
}
v7 {yes
}
v6 {yes
}
v5 {yes
}
}
}

View File

@ -0,0 +1 @@
0xffffff

View File

@ -0,0 +1 @@
chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read

View File

@ -0,0 +1 @@
acquire send receive

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
1.2

View File

@ -0,0 +1 @@
create read write exec append mmap_exec link lock

View File

@ -0,0 +1 @@
mount umount pivot_root

View File

@ -0,0 +1 @@
no

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
read trace

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
allow deny audit quiet

View File

@ -0,0 +1 @@
cpu fsize data stack core rss nproc nofile memlock as locks sigpending msgqueue nice rtprio rttime

View File

@ -0,0 +1 @@
hup int quit ill trap abrt bus fpe kill usr1 segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg xcpu xfsz vtalrm prof winch io pwr sys emt lost

View File

@ -106,14 +106,17 @@ fi
Setup_cleanup
preinstall_snaps() {
lb chroot_resolv install
setup_mountpoint chroot
snap_prepare chroot
for snap in "$@"; do
SNAP_NO_VALIDATE_SEED=1 snap_preseed chroot "${snap}"
done
snap_validate_seed chroot
lb chroot_resolv remove
teardown_mountpoint chroot
}
rm -f binary.success

View File

@ -359,8 +359,10 @@ case $IMAGEFORMAT in
CHANNEL="${CHANNEL:-edge}"
case $MODEL in
pc-amd64|pc-i386)
[ -z "${SUBARCH:-}" ] \
&& UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --image-size 3700M"
if [ -z "${SUBARCH:-}" ]; then
# This is to make sure there's enough writable space
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --image-size 3700M"
fi
;;
*) ;;
esac
@ -375,7 +377,9 @@ case $IMAGEFORMAT in
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS -c $CHANNEL"
;;
*)
UBUNTU_IMAGE_ARGS="--image-size 10G"
if [ "${MODEL}" = "pi" ]; then
MODEL=pi-armhf
fi
# Ubuntu Core 20
# Currently uc20 assertions do not support global
# channel overrides, instead we have per-channel models
@ -386,6 +390,15 @@ case $IMAGEFORMAT in
candidate|beta|edge|dangerous)
MODEL="ubuntu-core-20-${MODEL#pc-}-${CHANNEL}"
;;
dangerous-*)
# That being said, the dangerous grade *does*
# support channel overrides, so we can use the
# dangerous model assertion and override the channel
# freely.
MODEL="ubuntu-core-20-${MODEL#pc-}-dangerous"
CHANNEL=${CHANNEL#dangerous-}
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS -c $CHANNEL"
;;
*)
echo "Unknown CHANNEL ${CHANNEL} specification for ${SUITE}"
exit 1
@ -669,6 +682,23 @@ case $PROJECT in
ubuntustudio-dvd)
add_task install minimal standard ubuntustudio-desktop ubuntustudio-audio ubuntustudio-fonts ubuntustudio-graphics ubuntustudio-video ubuntustudio-publishing ubuntustudio-photography
case $SUITE in
focal)
# ubuntustudio-default-settings in focal
# release has a Recommends to this kernel,
# which makes it impossible to update the
# kernel later on, since we would install the
# -updates and release kernel, which isn't
# allowed and causes the squashfs to fail to
# build. Hack out the focal-release kernel and
# let the rest of the build process pull in the
# right one. (See right below.)
for package in linux-lowlatency linux-image-lowlatency linux-headers-lowlatency linux-image-5.4.0-26-lowlatency linux-headers-5.4.0-26-lowlatency; do
sed -i "s/$/ -a --not -XFPackage ${package}/" \
"config/package-lists/livecd-rootfs.list.chroot_install"
done
;;
esac
COMPONENTS='main restricted universe multiverse'
case $ARCH in
amd64|i386) KERNEL_FLAVOURS=lowlatency ;;
@ -739,8 +769,7 @@ case $PROJECT in
add_package install grub-pc
;;
amd64)
add_package install grub-pc-bin
add_package install grub-efi-amd64-signed
add_package install grub-pc
add_package install shim-signed
;;
esac
@ -790,6 +819,11 @@ case $PROJECT in
arm64)
add_package install flash-kernel
;;
riscv64)
if [ -n "$SUBARCH" ]; then
KERNEL_FLAVOURS=generic
fi
;;
esac
OPTS="${OPTS:+$OPTS }--system=normal"
OPTS="${OPTS:+$OPTS }--hdd-label=cloudimg-rootfs"
@ -858,7 +892,7 @@ if [ "$PROJECT:${SUBPROJECT:-}" = ubuntu-cpc:minimized ]; then
# build if we see such a snap.
for snap in `cat config/seeded-snaps`; do
case $snap in
lxd)
lxd | lxd=*)
;;
*)
echo "Unexpected seeded snap for ubuntu-cpc:minimized build: $snap"

View File

@ -84,8 +84,7 @@ install_grub() {
efi_target=arm-efi
;;
amd64)
chroot mountpoint apt-get install -qqy grub-pc
chroot mountpoint apt-get install -qqy grub-efi-amd64-signed shim-signed
chroot mountpoint apt-get install -qqy grub-pc shim-signed
efi_target=x86_64-efi
;;
esac

View File

@ -39,6 +39,9 @@ trap cleanup_linux_virtual EXIT
# Install dependencies
env DEBIAN_FRONTEND=noninteractive chroot "$mount_d" apt-get \
update --assume-yes
# Perform a dist-upgrade to pull in package updates
env DEBIAN_FRONTEND=noninteractive chroot "$mount_d" apt-get \
dist-upgrade --assume-yes
env DEBIAN_FRONTEND=noninteractive chroot "$mount_d" apt-get \
install -y lsb-release locales initramfs-tools busybox-initramfs \
udev dbus netplan.io cloud-init openssh-server sudo snapd

View File

@ -0,0 +1,8 @@
# NB! This is a sample, copy to "meta-data" and modify to take effect
# NB! Also see user-data.sample and network-config.sample
# This is the meta-data configuration file for cloud-init. Typically this just
# contains the instance_id. Please refer to the cloud-init documentation for
# more information:
#
# https://cloudinit.readthedocs.io/

View File

@ -0,0 +1,52 @@
# NB! This is a sample, copy to "network-config" and mofiy to take effect
# NB! Also see user-data.sample and meta-data.sample
# This file contains a netplan-compatible configuration which cloud-init will
# apply on first-boot (note: it will *not* update the config after the first
# boot). Please refer to the cloud-init documentation and the netplan reference
# for full details:
#
# https://cloudinit.readthedocs.io/en/latest/topics/network-config.html
# https://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v2.html
# https://netplan.io/reference
#
# Please note that the YAML format employed by this file is sensitive to
# differences in whitespace; if you are editing this file in an editor (like
# Notepad) which uses literal tabs, take care to only use spaces for
# indentation. See the following link for more details:
#
# https://en.wikipedia.org/wiki/YAML
#
#
# The image has stock nocloud-net configuration that will attemp dhcp
# v4 on all ethernet devices, similar to zz-all-en / zz-all-eth
# stanzas below. Hence this file is optional.
#
#version: 2
#ethernets:
# zz-all-en:
# match:
# name: "en*"
# dhcp4: true
# optional: true
# zz-all-eth:
# match:
# name: "eth*"
# dhcp4: true
# optional: true
#wifis:
# wlan0:
# dhcp4: true
# optional: true
# access-points:
# myhomewifi:
# password: "S3kr1t"
# myworkwifi:
# password: "correct battery horse staple"
# workssid:
# auth:
# key-management: eap
# method: peap
# identity: "me@example.com"
# password: "passw0rd"
# ca-certificate: /etc/my_ca.pem

View File

@ -0,0 +1,84 @@
#cloud-config
# NB! This is a sample, copy to "user-data" and modify to take effect
# NB! meta-data is required too! See "meta-data.sample"
# NB! For networking see "network-config.sample"
# This is the user-data configuration file for cloud-init. This image
# has a default nocloud-net metadata available on the first
# partition. By default it sets up an initial user called "ubuntu"
# with password "ubuntu", which must be changed at first
# login. However, one can override and provide many additional actions
# to be initiated on first boot from this file. The cloud-init
# documentation has more details: https://cloudinit.readthedocs.io/
# Some additional examples are provided in comments below the default
# configuration.
# On first boot, set the (default) ubuntu user's password to "ubuntu" and
# expire user passwords
#chpasswd:
# expire: true
# list:
# - ubuntu:ubuntu
# Enable password authentication with the SSH daemon
#ssh_pwauth: true
## On first boot, use ssh-import-id to give the specific users SSH access to
## the default user
#ssh_import_id:
#- lp:my_launchpad_username
#- gh:my_github_username
## Add users and groups to the system, and import keys with the ssh-import-id
## utility
#groups:
#- robot: [robot]
#- robotics: [robot]
#
#users:
#- default
#- name: robot
# gecos: Mr. Robot
# primary_group: robot
# groups: users
# ssh_import_id: foobar
# lock_passwd: false
# passwd: $5$hkui88$nvZgIle31cNpryjRfO9uArF7DYiBcWEnjqq7L1AQNN3
## Update apt database and upgrade packages on first boot
#package_update: true
#package_upgrade: true
## Install additional packages on first boot
#packages:
#- pwgen
#- pastebinit
#- [libpython2.7, 2.7.3-0ubuntu3.1]
## Write arbitrary files to the file-system (including binaries!)
#write_files:
#- path: /etc/default/keyboard
# content: |
# # KEYBOARD configuration file
# # Consult the keyboard(5) manual page.
# XKBMODEL="pc105"
# XKBLAYOUT="gb"
# XKBVARIANT=""
# XKBOPTIONS="ctrl: nocaps"
# permissions: '0644'
# owner: root:root
#- encoding: gzip
# path: /usr/bin/hello
# content: !!binary |
# H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA=
# owner: root:root
# permissions: '0755'
## Run arbitrary commands at rc.local like time
#runcmd:
#- [ ls, -l, / ]
#- [ sh, -xc, "echo $(date) ': hello world!'" ]
#- [ wget, "http://ubuntu.com", -O, /run/mydir/index.html ]

View File

@ -96,14 +96,25 @@ mount_image() {
setup_mountpoint() {
local mountpoint="$1"
if [ ! -c /dev/mem ]; then
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
fi
mount --rbind /dev "$mountpoint/dev"
mount proc-live -t proc "$mountpoint/proc"
mount sysfs-live -t sysfs "$mountpoint/sys"
mount securityfs -t securityfs "$mountpoint/sys/kernel/security"
# Provide more up to date apparmor features, matching target kernel
mount -o bind /usr/share/livecd-rootfs/live-build/apparmor/generic "$mountpoint/sys/kernel/security/apparmor/features/"
mount -o bind /usr/share/livecd-rootfs/live-build/seccomp/generic.actions_avail "$mountpoint/proc/sys/kernel/seccomp/actions_avail"
mount -t tmpfs none "$mountpoint/tmp"
mount -t tmpfs none "$mountpoint/var/lib/apt"
mount -t tmpfs none "$mountpoint/var/cache/apt"
mv "$mountpoint/etc/resolv.conf" resolv.conf.tmp
cp /etc/resolv.conf "$mountpoint/etc/resolv.conf"
mv "$mountpoint/etc/nsswitch.conf" nsswitch.conf.tmp
sed 's/systemd//g' nsswitch.conf.tmp > "$mountpoint/etc/nsswitch.conf"
chroot "$mountpoint" apt-get update
}
@ -121,6 +132,7 @@ teardown_mountpoint() {
umount $submount
done
mv resolv.conf.tmp "$mountpoint/etc/resolv.conf"
mv nsswitch.conf.tmp "$mountpoint/etc/nsswitch.conf"
}
mount_partition() {
@ -230,28 +242,46 @@ modify_vmdk_header() {
# Extract the vmdk header for manipulation
dd if="${vmdk_name}" of="${descriptor}" bs=1 skip=512 count=1024
echo "Cat'ing original vmdk disk descriptor to console for debugging."
# cat header so we are aware of the original descriptor for debugging
cat $descriptor
# trim null bytes to treat as standard text file
tr -d '\000' < $descriptor > $newdescriptor
# The sed lines below is where the magic is. Specifically:
# ddb.toolsVersion: sets the open-vm-tools so that VMware shows
# the tooling as current
# ddb.virtualHWVersion: set the version to 7, which covers most
# current versions of VMware
# createType: make sure its set to stream Optimized
# remove the vmdk-stream-converter comment and replace with
# # Disk DescriptorFile. This is needed for Virtualbox
# remove the comments from vmdk-stream-converter which causes
# VirtualBox and others to fail VMDK validation
sed -e 's|# Description file.*|# Disk DescriptorFile|' \
sed -i -e 's|# Description file.*|# Disk DescriptorFile|' \
-e '/# Believe this is random*/d' \
-e '/# Indicates no parent/d' \
-e '/# The Disk Data Base/d' \
-e 's|ddb.comment.*|ddb.toolsVersion = "2147483647"|' \
"${descriptor}" > "${newdescriptor}"
${newdescriptor}
# The header is cannot be bigger than 1024
expr $(stat --format=%s ${newdescriptor}) \< 1024 > /dev/null 2>&1 || {
echo "descriptor is too large, VMDK will be invalid!"; exit 1; }
# add newline to newdescriptor
echo "" >> $newdescriptor
# add required tools version
echo -n 'ddb.toolsVersion = "2147483647"' >> $newdescriptor
echo "Cat'ing modified descriptor for debugging."
cat $newdescriptor
# diff original descriptor and new descriptor for debugging
# diff exits 1 if difference. pipefail not set so piping diff
# to cat prints diff and swallows exit 1
echo "Printing diff of original and new descriptors."
diff --text $descriptor $newdescriptor | cat
# The header must be 1024 or less before padding
if ! expr $(stat --format=%s ${newdescriptor}) \< 1025 > /dev/null 2>&1; then
echo "descriptor is too large, VMDK will be invalid!";
exit 1
fi
# reset newdescriptor to be 1024
truncate --no-create --size=1K $newdescriptor
# Overwrite the vmdk header with our new, modified one
dd conv=notrunc,nocreat \
@ -626,11 +656,31 @@ snap_prepare() {
snap_preseed() {
# Preseed a snap in the image (snap_prepare must be called once prior)
local CHROOT_ROOT=$1
# $2 can be in the form of snap_name/classic=track/risk/branch
local SNAP=$2
# strip CHANNEL specification
SNAP=${SNAP%=*}
# strip /classic confinement
local SNAP_NAME=${SNAP%/*}
# Per Ubuntu policy, all seeded snaps (with the exception of the core
# snap) must pull from stable/ubuntu-$(release_ver) as their channel.
local CHANNEL=${3:-"stable/ubuntu-$(release_ver)"}
# Seed from the specified channel (e.g. core18 latest/stable)
# Or Channel endcoded in the snap name (e.g. lxd=4.0/stable/ubuntu-20.04)
# Or Ubuntu policy default channel latest/stable/ubuntu-$(release_ver)
local CHANNEL=${3:-}
if [ -z "$CHANNEL" ]; then
case $2 in
*=*)
CHANNEL=${2#*=}
;;
*)
CHANNEL="stable/ubuntu-$(release_ver)"
;;
esac
fi
# At this point:
# SNAP_NAME is just the snap name
# SNAP is either $SNAP_NAME or $SNAP_NAME/classic for classic confined
# CHANNEL is the channel
if [ ! -e "$CHROOT_ROOT/var/lib/snapd/seed/assertions/model" ]; then
echo "ERROR: Snap model assertion not present, snap_prepare must be called"
@ -662,6 +712,9 @@ snap_validate_seed() {
if [ -e "${CHROOT_ROOT}/var/lib/snapd/seed/seed.yaml" ]; then
snap debug validate-seed "${CHROOT_ROOT}/var/lib/snapd/seed/seed.yaml"
/usr/lib/snapd/snap-preseed --reset $(realpath "${CHROOT_ROOT}")
/usr/lib/snapd/snap-preseed $(realpath "${CHROOT_ROOT}")
chroot "${CHROOT_ROOT}" apparmor_parser --skip-read-cache --write-cache --skip-kernel-load --verbose -j `nproc` /etc/apparmor.d
fi
}
@ -905,6 +958,19 @@ is_live_layer () {
return 1
}
setup_cidata() {
local cidata_dev=$1
local mountpoint=$(mktemp -d)
mkfs.vfat -F 32 -n CIDATA ${cidata_dev}
mount ${cidata_dev} ${mountpoint}
cp /usr/share/livecd-rootfs/live-build/cidata/* ${mountpoint}
cat >>${mountpoint}/meta-data.sample <<END
#instance-id: iid-$(openssl rand -hex 8)
END
umount ${mountpoint}
}
replace_kernel () {
mountpoint=$1
new_kernel=$2

View File

@ -17,6 +17,7 @@ lxd_arches = {
"powerpc": "ppc",
"ppc64el": "ppc64le",
"s390x": "s390x",
"riscv64": "riscv64",
}

View File

@ -0,0 +1 @@
kill_process kill_thread trap errno user_notif trace log allow

View File

@ -33,6 +33,7 @@ install_grub() {
chroot mountpoint apt-get -qqy update
chroot mountpoint apt-get -qqy install grub-ieee1275
chroot mountpoint apt-get -qqy remove --purge grub-legacy-ec2
chroot mountpoint apt-get autoremove --purge --assume-yes
# set the kernel commandline to use hvc0
mkdir -p mountpoint/etc/default/grub.d

View File

@ -1,7 +1,7 @@
#!/bin/bash -eux
case $ARCH in
amd64|arm64|armhf)
amd64|arm64|armhf|riscv64)
;;
*)
echo "We don't create EFI images for $ARCH."
@ -21,6 +21,10 @@ case ${PROJECT:-} in
;;
esac
if [ "$ARCH" = "riscv64" ] && [ -n "${SUBARCH:-}" ]; then
IMAGE_SIZE=3758096384 # bump to 3.5G (3584*1024**2), due to linux-generic instead of virtual
fi
. config/binary
. config/functions
@ -35,6 +39,38 @@ create_partitions() {
--typecode=15:ef00 \
--new=1:
;;
riscv64)
# same as arm64/armhf, but set bit 2 legacy bios bootable
# on the first partition for uboot
# and have two loader partitions of uboot SPL & real one
# and have CIDATA partition for preinstalled image
if [ -z "${SUBARCH:-}" ]; then
# cloud-image
sgdisk "${disk_image}" \
--set-alignment=2 \
--new=15::+106M \
--typecode=15:ef00 \
--new=1:: \
--attributes=1:set:2
else
# preinstalled server, currently FU540
# FU740 too in the future
sgdisk "${disk_image}" \
--set-alignment=2 \
--new=13:34:2081 \
--change-name=13:loader1 \
--typecode=13:5B193300-FC78-40CD-8002-E86C45580B47 \
--new=14:2082:10273 \
--change-name=14:loader2 \
--typecode=14:2E54B353-1271-4842-806F-E436D6AF6985 \
--new=15::+106M \
--typecode=15:ef00 \
--new=12::+4M \
--change-name=12:CIDATA \
--new=1:: \
--attributes=1:set:2
fi
;;
amd64)
sgdisk "${disk_image}" \
--new=14::+4M \
@ -97,11 +133,72 @@ install_grub() {
efi_target=arm-efi
;;
amd64)
chroot mountpoint apt-get install -qqy grub-efi-amd64-signed shim-signed
chroot mountpoint apt-get install -qqy grub-pc shim-signed
efi_target=x86_64-efi
;;
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
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/sifive_fu540/u-boot-spl.bin of=$loader1
dd if=mountpoint/usr/lib/u-boot/sifive_fu540/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.
mkdir -p mountpoint/var/lib/cloud/seed/nocloud-net
cat <<EOF >mountpoint/var/lib/cloud/seed/nocloud-net/meta-data
instance-id: iid-$(openssl rand -hex 8)
EOF
cat <<EOF >mountpoint/var/lib/cloud/seed/nocloud-net/user-data
#cloud-config
chpasswd:
expire: True
list:
- ubuntu:ubuntu
ssh_pwauth: True
EOF
cat <<EOF >mountpoint/var/lib/cloud/seed/nocloud-net/network-config
# This is the initial network config.
# It can be overwritten by cloud-init.
version: 2
ethernets:
zz-all-en:
match:
name: "en*"
dhcp4: true
optional: true
zz-all-eth:
match:
name: "eth*"
dhcp4: true
optional: true
EOF
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
chroot mountpoint apt-get autoremove --purge --assume-yes
# This call to rewrite the debian package manifest is added here to capture
# grub-efi packages that otherwise would not make it into the base
# manifest. filesystem.packages is moved into place via symlinking to

View File

@ -19,10 +19,6 @@ case $ARCH:$SUBARCH in
echo "POWER disk images are handled separately"
exit 0
;;
amd64|arm64|armhf)
echo "We only create EFI images for $ARCH."
exit 0
;;
armhf:raspi2)
# matches the size of the snappy image
IMAGE_SIZE=$((4*1000*1000*1000))
@ -31,6 +27,10 @@ case $ARCH:$SUBARCH in
BOOTPART_END=138M
BOOT_MOUNTPOINT=/boot/firmware
;;
arm64:*|armhf:*|riscv64:*)
echo "We only create EFI images for $ARCH."
exit 0
;;
*)
;;
esac
@ -136,6 +136,7 @@ fi
if [ "$ARCH" = "s390x" ]; then
# Do ZIPL install bits
chroot mountpoint apt-get -qqy install s390-tools sysconfig-hardware
chroot mountpoint apt-get autoremove --purge --assume-yes
# Write out cloudy zipl.conf for future kernel updates
cat << EOF > mountpoint/etc/zipl.conf

View File

@ -49,10 +49,6 @@ replace_kernel ${mount_d} "linux-kvm"
chroot "${mount_d}" update-grub
undivert_grub "${mount_d}"
# Remove initramfs for kvm image
env DEBIAN_FRONTEND=noninteractive chroot "${mount_d}" apt-get \
purge -y initramfs-tools busybox-initramfs
env DEBIAN_FRONTEND=noninteractive chroot "${mount_d}" rm \
-rf /boot/initrd.img-* /boot/initrd.img

View File

@ -7,6 +7,10 @@ case $ARCH:$SUBARCH in
xz -T4 -c binary/boot/disk.ext4 > livecd.ubuntu-cpc.disk1.img.xz
exit 0
;;
riscv64:hifive)
xz -T4 -c binary/boot/disk-uefi.ext4 > livecd.ubuntu-cpc.disk1.img.xz
exit 0
;;
esac
. config/functions

View File

@ -153,9 +153,17 @@ Vagrant.configure("2") do |config|
config.vm.base_mac = "${macaddr}"
config.vm.provider "virtualbox" do |vb|
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
# Creating a console log file is not an expected behavior for vagrant boxes. LP #1777827
# vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "${prefix}-console.log") ]
vb.customize [ "modifyvm", :id, "--uart1", "0x3F8", "4" ]
# Create a NULL serial port to skip console logging by default
vb.customize [ "modifyvm", :id, "--uartmode1", "file", File::NULL ]
# If console logging is desired, uncomment this line and remove prior
# vb.customize [ "modifyvm", :id, "--uartmode1", "file", File.join(Dir.pwd, "${prefix}-console.log") ]
# Ubuntu cloud images, by default, enable console=ttyS0. This enables serial consoles to
# connect to the images. With the change related to LP #1777827, removing a serial
# file logger, Vagrant image boot times increased and now run greater than 5 minutes
# Creating a console log file is not an expected default behavior for vagrant boxes.
# As a workaround, we create a console connection to File:NULL. LP #1874453
# This is overrideable in user files to write to a local file
end
end
EOF

View File

@ -35,6 +35,7 @@ cp -a rootfs.dir $rootfs_dir
setup_mountpoint $rootfs_dir
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get -y -qq install ubuntu-wsl
env DEBIAN_FRONTEND=noninteractive chroot $rootfs_dir apt-get autoremove --purge --assume-yes
create_manifest $rootfs_dir livecd.ubuntu-cpc.wsl.rootfs.manifest
teardown_mountpoint $rootfs_dir

View File

@ -116,8 +116,8 @@ fi
case $arch in
# ARM, ppc and s390 images are special
armhf|arm64|powerpc|ppc64el|s390x)
# ARM, ppc, riscv64 and s390x images are special
armhf|arm64|powerpc|ppc64el|s390x|riscv64)
exit 0
;;
esac

View File

@ -21,10 +21,9 @@ if [ -n "$SUBARCH" ]; then
exit 0
fi
. config/binary
. config/functions
. config/common
# somehow i don't have LB_DISTRIBUTION set ?!
. config/bootstrap
FILESYSTEM_ROOT=binary/boot/squashfs.dir
INSTALLER_ROOT=binary/boot/installer.squashfs.dir
@ -84,6 +83,12 @@ sed -i -e'N;/name: lxd/,+2d' $INSTALLER_ROOT/var/lib/snapd/seed/seed.yaml
teardown_mountpoint "$INSTALLER_ROOT"
# Drop core/lxd/snapd that got copied up from base layer, due to
# snap-preseed tool doing --reset & speedup
find $OVERLAY_ROOT/var/lib/snapd/ -name 'core*.snap' -delete
find $OVERLAY_ROOT/var/lib/snapd/ -name 'snapd_*.snap' -delete
find $OVERLAY_ROOT/var/lib/snapd/ -name 'lxd_*.snap' -delete
squashfs_f="${PWD}/livecd.${PROJECT}.installer.squashfs"
(cd "$OVERLAY_ROOT/" &&

View File

@ -55,8 +55,8 @@ EOF
CHANGED_FILE_SUFFIX=.replaced-by-desktop-img-build
# use vsock transport.
sed -i${CHANGED_FILE_SUFFIX} -e 's/use_vsock=false/use_vsock=true/g' "${scratch_d}/etc/xrdp/xrdp.ini"
# use vsock transport
sed -i${CHANGED_FILE_SUFFIX} -e 's/port=3389/port=vsock:\/\/-1:3389/g' "${scratch_d}/etc/xrdp/xrdp.ini"
# use rdp security.
sed -i${CHANGED_FILE_SUFFIX} -e 's/security_layer=negotiate/security_layer=rdp/g' "${scratch_d}/etc/xrdp/xrdp.ini"
# remove encryption validation.
@ -74,6 +74,9 @@ exec /etc/xrdp/startwm.sh
EOF
chmod a+x "${scratch_d}/etc/xrdp/startubuntu.sh"
# set to use the system Window manager
sed -i${CHANGED_FILE_SUFFIX} -e 's/EnableUserWindowManager=true/EnableUserWindowManager=0/g' "${scratch_d}/etc/xrdp/sesman.ini"
# use the script to setup the ubuntu session
sed -i${CHANGED_FILE_SUFFIX} -e 's/startwm/startubuntu/g' "${scratch_d}/etc/xrdp/sesman.ini"
@ -100,6 +103,15 @@ ResultInactive=no
ResultActive=yes
EOF
cat >${scratch_d}/etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla <<EOF
[Allow Package Management all Users]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=yes
ResultActive=yes
EOF
sed -i${CHANGED_FILE_SUFFIX} -e 's|After=|ConditionPathExists=!/var/lib/oem-config/run\nAfter=|g' "${scratch_d}/lib/systemd/system/xrdp.service"
# End xrdp customisation