Age | Commit message (Collapse) | Author |
|
Fixes: 6f2a356ca10a ("add a new family of wrappers for EFI based images")
|
|
|
|
|
|
|
|
debefivm-create is based on mmdebstrap-autopkgtest-build-qemu, which is
is co-authored with Johannes Schauer Marin Rodrigues. Also thanks to
Jochen Sprickerhof for suggesting the --rootsize option for use in
Debusine.
|
|
|
|
|
|
|
|
|
|
The long story of this commit can be found in #1079443. Special thanks
to all of the following for investing significant amounts of time into
debugging the root cause:
* Tj <tj.iam.tj@proton.me>
* Jochen Sprickerhof <jspricke@debian.org>
* Chris Hofstaedtler <zeha@debian.org>
In the end, dracut-install fails to install kernel modules (including
virtio_blk) that are being passed as =directory if said directory has an
inode number exceeding 32bit on an arm32 userland. Lots of thought has
been expended into fixing fts on the glibc side with little conclusions.
Since armhf is still somewhat important, we settle on a workaround here.
The problem is acknowledged and we explicitly install the virtio_blk
kernel module that dracut-install should have installed. Doing so at
least makes the debvm boot.
For reproducing the problem, TMPDIR needs to point to a directory where
created directories receive inodes exceeding 32bit. On a tmpfs, this
situation can be achieved by creating and deleting lots of directories.
The following code can be run in parallel to increase the inode counter
in a couple of hours:
#include <sys/stat.h>
#include <unistd.h>
int main(int argc, char **argv) {
for(;;) {
mkdir(argv[1], 0755);
rmdir(argv[1]);
}
}
|
|
|
|
|
|
|
|
This is close to what the debian installer sets up.
|
|
Fixes: 1c98a5b3b36f ("qemu-system-${debarch} as well as qemu-system-any")
|
|
Unless passwd is installed, shadow is not enabled. That is, shadow being
enabled is not a boolean. It can be enabled per user and systemd enables
it for its own users, so shadow exists, but may not contain the root
user. Thus the password deletion logic need a bit more fancyness for
covering systems that lack the passwd package.
|
|
The jessie test was broken by apt defaulting to sqv in the sense that
mmdebstrap's gpgvnoexpkeysig requires gpgv, but it no longer is being
installed. The earlier error message was not diagnosing this, but
Johannes Schauer Marin Rodrigues kindly debugged and fixed that on the
mmdebstrap side. Thanks! Now with a proper error message, a missing gpgv
can be easily addressed. apt will still prefer sqv for everything but
jessie.
|
|
That package is fairly recent and does not exist in bookworm. On the
flip side, it more accurately expresses what we want as debvm-run
actually prefers the qemu-ARCH executable name over the kvm name.
|
|
|
|
loong64 does not yet have a qemu package that provides qemu-kvm, but we
really don't need kvm. All we need is the right qemu binary.
|
|
The native test really wants to run kvm (whether it uses kvm or tcg is
another question), but debvm only depends on qemu-kvm | qemu-system-any.
The latter alternative is of little use for the test and makes it fail.
|
|
Enable amd64 for i386 in current releases.
|
|
|
|
It's already a dependency in debian/control, but was missing from the
README.
Reported-by: Vasyl Vavrychuk
Closes: #18
|
|
|
|
While using the --prefix option is great, it's only available in trixie.
Hence, revert back to sed, this time getting the quoting right (by
avoiding backslashes using character sequences) and also apply to all
lines of the file as systemd seems to be adding users to the front.
Reported-by: Vasyl Vavrychuk
Fixes: 984a1155456d ("debvm-create: revert back to passwd for deleting the root password")
Closes: #17
|
|
We should avoid --root as that will chroot and load libraries. The sed
solution somehow didn't work due to a quoting issue. What we can use is
passed --prefix as that avoids loading libraries and explicitly does not
support NIS and LDAP, which we don't need here.
Reported-by: Vasyl Vavrychuk
Thanks: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
Fixes: e4ecc7f745c5 ("debvm-create: avoid using passwd --delete")
Closes: #17
|
|
passwd will chroot() into the target tree and then load shared
libraries. This tends to work badly for old releases and for foreign
architectures or combinations thereof. As a result, it sometimes fails
with
Cannot determine your user name.
In practice, it removes a single asterisk from the first line of
/etc/shadow (at least for jessie to trixie). This is something, we can
also do via sed.
Reported-by: Sylvain Beucler <beuc@debian.org>
Fixes: d2d8b9965d39 ("debvm-create: avoid failing when we install no passwd")
|
|
The --transport option was added in the middle of the --skip
documentation.
Fixes: d927a5e0cee2 ("debvm-run: add --transport option")
|
|
useraddhook: support autologin for greetd/sway
See merge request helmutg/debvm!46
|
|
|
|
|
|
login has become non-essential and autologin simply respawns
indefinitely when login is not installed. We better install it
explicitly and that works on all releases. If we are only interested in
logging in via ssh (and thus --skip=autologin), no login package is
needed.
|
|
Improve the useradd hook
See merge request helmutg/debvm!41
|
|
USERNAME has uses beyond e.g. in a Windows context, so avoid that. Then
again, this hook may be useful beyond debvm and is installed to
/usr/share/mmdebstrap, so don't use a DEBVM_ prefix either.
Reported-by: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
|
|
tests/create-and-run.sh: Increase timeout by 300 seconds (for ppc64el)
See merge request helmutg/debvm!42
|
|
debvm-create: Increase default VM size to 2G
See merge request helmutg/debvm!43
|
|
The Ubuntu 24.04 (noble) image is 1.1G in size and an image size of 1 GB
does not fit it.
```
$ du -ht 50M /
77M /boot
56M /usr/lib/x86_64-linux-gnu
106M /usr/lib/modules/6.8.0-31-generic/kernel/drivers
147M /usr/lib/modules/6.8.0-31-generic/kernel
154M /usr/lib/modules/6.8.0-31-generic
154M /usr/lib/modules
78M /usr/lib/firmware/mellanox
72M /usr/lib/firmware/mrvl/prestera
78M /usr/lib/firmware/mrvl
59M /usr/lib/firmware/qcom
481M /usr/lib/firmware
721M /usr/lib
780M /usr
86M /var/lib/dpkg
170M /var/lib/apt/lists
170M /var/lib/apt
257M /var/lib
266M /var
1.1G /
```
Increase the default VM size to 2G.
LP: #2064921
|
|
On Ubuntu ppc64el falls back to tcg which is slow and needs an increased
timout.
LP: #2046544
|
|
|
|
|
|
|
|
|
|
|
|
Lintian: spelling-error-in-changelog
|
|
|
|
|
|
|
|
What was named bus earlier is called transport in qemu and we should
name it the same way when exposing it.
|
|
Depending on the machine type, devices reside on different buses. For
most vms, we use the pci bus, but m68k uses the virtio ("device") bus.
Also if we were to use an x86 microvm, we'd also use virtio. This is
common to all devices and we can abstract it into a $BUS.
|