We want for at least the pre-installed KDE software to be buildable on
the OS image with no hassle. Add some packages to the
packages-development.conf file.
Fixes#220
These aren't strictly speaking development tools. We don't want them to
disappear should we ever make the developer packages an optional overlay
or something.
Right now we don't have any swap, which can cause various memory
management complications, especially on systems with little physical
RAM.
Let's remedy this by using zram. This makes the system much less likely
to OOM in memory pressure situations, while being much faster than
disk-backed swap and avoiding the security issues of having RAM
contents on disk.
I chose some fairly aggressive settings based on research and testing:
- zram value of double the physical RAM, because it gets compressed
anyway and appears to have internal limits to avoid letting the
compressed memory completely crowd out the uncompressed memory.
- lz4 as the compression algorithm because it's super fast at the
expense of worse compression compared to zstd (the second best
option), but this is mitigated by having a large zram value.
- Tune the kernel parameters to make sense for swap being fast, since
the defaults assume slow swap which isn't true for us now.
The only thing we don't gain is hibernation support, but that can be
done later; these aren't mutually exclusive.
Resolves#84
we can't have the packages pipeline use the linux equipped file because
then it'd download the binary packages instead of building them, risking
BIC crashes and the like
unfrotunately we need a code copy for this because bootstrap must be
self contained. not too much to worry about since they are both in the
same repo so I expect people will grep for stuff (hopefully :D)
with ephemeral VMs the base image is old so we need to update the
mirrorlist during build.sh as well. also turn the copies around. now we
always pull copies out of /etc
Reduce system requirements to 3.5 GB to account for some of it being
taken up by the GPU and firmware. This should allow installing on
systems with 4 GB of physical RAM.
Fixes#198
Add Toolbox to the base image. Its the base of distrobox
but is still useful, as its faster and lighter etc. It's
also needed for https://invent.kde.org/system/kontainer
Second Backend. It was replaced by distrobox earlier but
toolbx has been rewritten in an actual programming
language and is useful again.
it doesn't work on master for reasons I do not understand since it
passed in the MR CI
```
+ /usr/lib/systemd/systemd-sysupdate list
Found container virtualization container-other.
Directory "/boot" is not the root of the file system.
File system "/efi" is not a FAT EFI System Partition (ESP) file system.
File system "/boot" is not a FAT EFI System Partition (ESP) file system.
Failed to check file system type of "/boot/efi": No such file or
directory
Failed to resolve $BOOT: Required key not available
```