summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-07debefivm-run: fix --graphicaldebefivmHelmut Grohne
Fixes: 6f2a356ca10a ("add a new family of wrappers for EFI based images")
2025-04-06d/control: extend recommends and suggests for debefivm-* and document their needHelmut Grohne
2025-04-06salsa-ci: add a test case for the mmdebstrap-autopkgtest-build-qemu use caseHelmut Grohne
2025-04-06salsa-ci: add basic tests for debefivm-*Helmut Grohne
2025-04-06add a new family of wrappers for EFI based imagesHelmut Grohne
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.
2025-04-06declare compliance with policy 4.7.2Helmut Grohne
2025-04-06update copyright yearsHelmut Grohne
2025-04-01Trigger autopkgtests on mmdebstrap uploadsHelmut Grohne
2025-03-31upload 0.3.2 to unstableHelmut Grohne
2025-03-30debvm-create: work around arm32 boot failureHelmut Grohne
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]); } }
2025-03-29gitlab-ci: allow choosing the suite for performing architecture testsHelmut Grohne
2025-03-29debvm-run: fix recognizing amd64 kernels with updated file toolHelmut Grohne
2025-03-29autopkgtests: trigger by systemd uploadsHelmut Grohne
2025-03-29debvm-create: create a more sensible /etc/hostsHelmut Grohne
This is close to what the debian installer sets up.
2025-03-29debvm-run: re-enable qemu detection for pre-trixieHelmut Grohne
Fixes: 1c98a5b3b36f ("qemu-system-${debarch} as well as qemu-system-any")
2025-03-27fix deletion of root password againmainHelmut Grohne
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.
2025-03-09.gitlab-ci.yml: explicitly install gpgv for jessieHelmut Grohne
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.
2025-03-05debian/control: add qemu-system-native alternativeHelmut Grohne
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.
2025-03-05debian/control: follow the qemu-user-static -> qemu-user-binfmt transitionHelmut Grohne
2025-03-05debian/tests: explicitly install qemu-system-misc for loong64Helmut Grohne
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.
2025-03-05debian/tests: tighten dependency on qemu-kvmHelmut Grohne
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.
2025-03-05tests: i386 no longer has a linux kernelHelmut Grohne
Enable amd64 for i386 in current releases.
2024-11-12debvm-run: also try resolv.conf for dnssearchHelmut Grohne
2024-08-13document that dpkg-dev is requiredHelmut Grohne
It's already a dependency in debian/control, but was missing from the README. Reported-by: Vasyl Vavrychuk Closes: #18
2024-08-13test for autologin to work using expectHelmut Grohne
2024-08-13debvm-create: implement password deletion with correctly quoted sedHelmut Grohne
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
2024-08-12debvm-create: revert back to passwd for deleting the root passwordHelmut Grohne
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
2024-08-09debvm-create: avoid using passwd --deleteHelmut Grohne
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")
2024-08-09debvm-run: fix manual pageHelmut Grohne
The --transport option was added in the middle of the --skip documentation. Fixes: d927a5e0cee2 ("debvm-run: add --transport option")
2024-06-26Merge branch 'greetd_sway' into 'main'Helmut Grohne
useraddhook: support autologin for greetd/sway See merge request helmutg/debvm!46
2024-06-26useraddhook: support autologin for greetd/swayJochen Sprickerhof
2024-06-23upload 0.3.1 to unstableHelmut Grohne
2024-06-23debvm-create: do install loginHelmut Grohne
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.
2024-05-20Merge branch 'tweak-useradd' into 'main'Helmut Grohne
Improve the useradd hook See merge request helmutg/debvm!41
2024-05-15useraddhook: rename USERNAME environment variable to be less genericHelmut Grohne
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>
2024-05-08Merge branch 'increase-timeout' into 'main'Helmut Grohne
tests/create-and-run.sh: Increase timeout by 300 seconds (for ppc64el) See merge request helmutg/debvm!42
2024-05-08Merge branch 'increase-size' into 'main'Helmut Grohne
debvm-create: Increase default VM size to 2G See merge request helmutg/debvm!43
2024-05-08debvm-create: Increase default VM size to 2GBenjamin Drung
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
2024-05-08tests/create-and-run.sh: Increase timeout by 300 seconds (for ppc64el)Benjamin Drung
On Ubuntu ppc64el falls back to tcg which is slow and needs an increased timout. LP: #2046544
2024-05-02debvm-create: turn of incompatible ext features for jessieHelmut Grohne
2024-04-10debvm-create: clarify that passing an empty string to -r may be okHelmut Grohne
2024-03-28useraddhook: tell which customizations are performedHelmut Grohne
2024-03-28autologinhook: automatically log in with lightdmHelmut Grohne
2024-03-28useraddhook: make username customizableHelmut Grohne
2024-03-28fix spelling error in changelogHelmut Grohne
Lintian: spelling-error-in-changelog
2024-03-27upload 0.3 to unstableHelmut Grohne
2024-03-25Merge feature-virtio-bus into mainHelmut Grohne
2024-03-25Merge feature-mkfs.ext4 into mainHelmut Grohne
2024-03-05debvm-run: add --transport optionHelmut Grohne
What was named bus earlier is called transport in qemu and we should name it the same way when exposing it.
2024-03-05debvm-run: refactor bus managementHelmut Grohne
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.