Age | Commit message (Collapse) | Author |
|
|
|
|
|
The option would previously cause an error message scrolling by and
proceed as if the option wasn't given.
|
|
These files are normally deleted by mmdebstrap. However, debefivm-create
invokes mkfs.ext4 itself and thereby implicitly skips all cleanup
actions normally done by mmdebstrap. This happens to include the
truncation of /etc/machine-id and that results in non-reproducibility as
well as reused images sharing a machine-id even though they should never
do that.
Reported-by: Stefano Rivera <stefanor@debian.org>
Closes: #1107719
|
|
|
|
According to Michael, a key ingredient to reproducing #1106792 is
concurrency. By disabling smp, we skip the problem
Closes: #1106397
|
|
|
|
|
|
|
|
debefivm-create: pull in systemd-boot-efi for stub binary
See merge request helmutg/debvm!52
|
|
301s I: running special hook: download '/usr/lib/systemd/boot/efi/linuxx64.efi.stub' '/tmp/tmp.p5ZnciDkKP/stub'
301s W: hooklistener errored out: E: received error on socket
301s
301s E: setup failed: E: hookhelper failed: E: path does not exist: /tmp/mmdebstrap.Isamzv02mH/usr/lib/systemd/boot/efi/linuxx64.efi.stub
systemd-boot prefers the package containing the signed EFI binary now, if
available. The stub is in the unsigned package, given it's needed, depend on
it directly.
Closes: #1106847
|
|
|
|
|
|
debefivm-create: fix typo in usage message
See merge request helmutg/debvm!51
|
|
|
|
|
|
On stretch, the nosymfollow mount option is not supported. Given that
vfat does not do symlinks at all, the simple way forward is skipping it.
Reported-by: Stefano Rivera <stefanor@debian.org>
|
|
|
|
debefivm-create is able to create an image compatible with
autopkgtest-virt-qemu. We can test this.
|
|
This is available since 1:9.2.0+ds-5 and more suitable than qemu-kvm as
it is universally available now.
|
|
|
|
We primarily run the systemd network stack inside debvm and that comes
with turning /etc/resolv.conf into a symbolic link. Unfortunately, we
may break networking during VM construction that way. The behavior is
quite release dependent.
For trixie and later, systemd-resolved.postinst takes a copy of
/etc/resolv.conf and places it at the symlink target.
For bookworm, systemd-resolved.postinst overwrites /etc/resolv.conf with
a link that becomes dead.
For bullseye and earlier, customize-resolved.conf overwrites
/etc/resolv.conf with a link that becomes dead.
That being dead means that passing any further customize hooks will not
be able to utilize networking as DNS resolution fails. To improve the
user experience, customize-resolved.sh will now turn ensure that those
symlink targets are reasonably popoulated.
|
|
|
|
add a new family of wrappers for EFI based images
See merge request helmutg/debvm!49
|
|
|
|
|
|
debvm-create: --skip=autologin also covers deletion of the root password
See merge request helmutg/debvm!50
|
|
This gets rid of unidiomatic "at once". It drops implementation details
such as which hook performs the action and focuses on the user visible
effects.
Reported-by: Gioele Barabucci <gioele@debian.org>
|
|
Suggested-by: Gioele Barabucci <gioele@debian.org>
|
|
|
|
|
|
|
|
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.
|