summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-05debvm-run: skip rngdev for sparc64 via opt_skipHelmut Grohne
2024-02-27debvm-create: explain the trap 'exit 1'Helmut Grohne
Reported-by: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
2024-02-27debvm-create: emit an empty /devHelmut Grohne
With the change from genext2fs to mkfs.ext4, we no longer create an intermediate tar archive and thus no longer create device nodes if using unshare. Thus our output is slightly unreproducible. At the same time, we never need devices, because /dev is mounted as devtmpfs. Hence, we unconditionally skip them and thus improve reproducibility. Reported-by: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
2024-02-27debvm-create: fix --skip ext4Helmut Grohne
We were truncating the output file after generating it. Instead, split the logic and create the file prior to running mmdebstrap to make permission failures fail early.
2024-02-26debvm-create: allow running without unshare againHelmut Grohne
In a CI-environment such as salsa-ci, we tend to run as root and want --mode=root rather than --mode=unshare.
2024-02-26debvm-create: switch from genext2fs to mkfs.ext4Helmut Grohne
Why? genext2fs is slow. It has O(n^2) behaviour, which becomes annoying with larger filesystems. It also creates an ext2 image and we have to upgrade it to ext4 in multiple steps. Even then, the image has an inode size of 128, which is incompatible with 2038 and does not allow storing sub-second precision time stamps. How? We use mkfs.ext4 from e2fsprogs (which is required anyway) instead. Running this from within a --customize-hook does not work, because the user namespace used for the hook often has no privileges to write to the output image. Instead, we now ask mmdebstrap to output to a directory and create the filesystem separately. We construct a special namespace that has both access to the tree and to the output image and perform the mkfs.ext4 there. As a consequence, we no longer support any mode but unshare and since mkfs.ext4 consumes the size parameter, the size syntax is reduced a bit.
2024-02-26tests/dist-upgrades.sh: add trixieHelmut Grohne
2024-02-26tests/dist-upgrades.sh: must use archive.d.o for old releasesHelmut Grohne
2024-01-09debvm-run: use -cpu max for kvmHelmut Grohne
When kvm works, passing "max" will get us "host" as before. When it does not, "host" doesn't work at all, but "max" will somewhat. Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
2024-01-09disable highmem for 32bit arm by defaultHelmut Grohne
Since recent qemu, a non-lpae kernel cannot boot a highmem-enabled virtual machine. A typical failure is: pci-host-generic 4010000000.pcie: can't claim ECAM area [mem 0x10000000-0x1fffffff]: address conflict with pcie@10000000 [mem 0x10000000-0x3efeffff] Since the default kernel image is non-lpae, we disable highmem by default. Link: https://lists.nongnu.org/archive/html/qemu-devel/2024-01/msg01444.html Thanks: Michael Tokarev <mjt@tls.msk.ru>
2024-01-07debvm-run.1: more details on disabling networkHelmut Grohne
Reported-by: Johannes Schauer Marin Rodrigues <josch@mister-muffin.de>
2023-12-28autopkgtest: use negation to exclude 32bit armHelmut Grohne
Suggested-by: Paul Gevers <elbrus@debian.org>
2023-10-31customize-autologin.sh: bump minimum setterm versionHelmut Grohne
There was a bug that would cause setterm to randomly enable O_ASYNC on the console due to the use of uninitialized memory. As a consequence, any keystroke would raise SIGIO and kill the shell. Since setterm is a convenience feature and killing the shell is bad, disable it for earlier versions. Reported-by: Emanuele Rocca <ema@debian.org> Thanks: Chris Hofstaedtler <zeha@debian.org>
2023-09-28upload 0.2.13 to unstableHelmut Grohne
2023-09-28autopkgtest: contain possible damage by killpgHelmut Grohne
When mmdebstrap fails, it kills its child processes by killing its process group. This is harmless in many cases. For instance, when run from an interactive shell, the shell creates a process group. When run with user namespaces as non-root, not being root limits the possible damage. But when run as root from autopkgtest, mmdebstrap runs in the initial process group and takes down the entire lxc container. Using setsid, we can isolate the container from this killpg call.
2023-09-24make autopkgtest non-flakyHelmut Grohne
When passing an empty release to ./tests/create-and-run.sh, we now use the host's apt sources and pinning. This is an additional gitlab-ci test and replaces the previous autopkgtest involving unstable, which thus becomes non-flaky.
2023-09-24add curl dependency to autopkgtestsHelmut Grohne
Fixes: e2e003c4415f ("tests/create-and-run.sh: choose ports mirror automatically")
2023-09-24Merge branch 'waitssh-timeout' into 'main'Helmut Grohne
bin/debvm-waitssh: make --timeout=N work See merge request helmutg/debvm!38
2023-09-24bin/debvm-waitssh: make --timeout=N workJohannes Schauer Marin Rodrigues
2023-09-14Merge fix_ports into mainHelmut Grohne
2023-09-14tests/create-and-run.sh: Correctly handle an empty $MIRRORHelmut Grohne
Fixes: d1e2c48b9b39 ("Fix ports mirror (tested on riscv64)")
2023-09-14tests/create-and-run.sh: choose ports mirror automaticallyHelmut Grohne
2023-09-07gitlab-ci: update test matrixHelmut Grohne
* mipsel is removed from unstable * riscv64 is added to unstable * also test trixie
2023-07-25Merge branch 'fix_stretch' into 'main'Helmut Grohne
Fix resolv.conf in stretch See merge request helmutg/debvm!37
2023-07-25Fix resolv.conf in stretchJochen Sprickerhof
stub-resolv.conf was introduced in systemd 236 (e6b2d948f8). Regression of c751e22.
2023-07-06Merge branch 'commas' into 'main'Helmut Grohne
bin/debvm-run: if the image filename contains a comma, then that comma must be... See merge request helmutg/debvm!35
2023-07-04bin/debvm-run: commas in the image filename must be escapedJohannes Schauer Marin Rodrigues
2023-06-30Merge branch 'bug-1039532' into 'main'Helmut Grohne
add test dep on debian-archive-keyring See merge request helmutg/debvm!34
2023-06-29add test dep on debian-archive-keyringBrian Murray
2023-06-24Fix ports mirror (tested on riscv64)Jochen Sprickerhof
2023-06-24Merge branch 'term' into 'main'Helmut Grohne
bin/debvm-run: allow being run in environments without TERM set See merge request helmutg/debvm!33
2023-06-24bin/debvm-run: allow being run in environments without TERM setJohannes Schauer Marin Rodrigues
2023-06-23upload 0.2.12 to unstableHelmut Grohne
Fix a syntax error in control. Fixes: 1c98a5b3b36f ("bin/debvm-run: qemu (>> 1:8.0) provides symlinks for qemu-system-${debarch} as well as qemu-system-any")
2023-06-22upload 0.2.11 to unstableHelmut Grohne
2023-06-22Merge run-skip into mainHelmut Grohne
2023-06-22debvm-run: restore behaviour of repeated --sshport flagsHelmut Grohne
When issuing multiple --sshport options, the last one should win. Fixes: a2db07766257 ("debvm-run: add a --netopt option to customize the -netdev")
2023-06-22Merge run-netopt into mainHelmut Grohne
2023-06-22Merge qemu-append into mainHelmut Grohne
2023-06-22debvm-run: expand the rootdev skipHelmut Grohne
2023-06-21debvm-run: add a --netopt option to customize the -netdevHelmut Grohne
2023-06-20debvm-run: add a --skip optionHelmut Grohne
As with debvm-create, this option allows skipping default configuration to let a user override things in their way. Link: https://bugs.debian.org/1036918
2023-06-20debvm-run: fix local emulation of set -exHelmut Grohne
Should be using stderr. Fixes: 7d0b160531d6 ("debvm-run: replace shell process with qemu process")
2023-06-19Merge branch 'qemu8exp' into 'main'Helmut Grohne
bin/debvm-run: qemu provides symlinks for qemu-system- starting with 1:8.0~rc4+dfsg-2 See merge request helmutg/debvm!31
2023-06-19debvm-run: match on DEB_HOTS_ARCH_CPU rather than DEB_HOST_ARCHHelmut Grohne
This way we loose unnecessary detail such as libc, kernel and abi. For one thing this simplifies the arm* match. For another, this makes us stop think about arm64ilp32 or x32.
2023-06-19gitlab-ci: copy dpkg-dev dependencyHelmut Grohne
Fixes: 1c98a5b3b36f ("bin/debvm-run: qemu (>> 1:8.0) provides symlinks for qemu-system-${debarch} as well as qemu-system-any")
2023-06-19debvm-run: make shellcheck happyHelmut Grohne
Fixes: 1c98a5b3b36f ("bin/debvm-run: qemu (>> 1:8.0) provides symlinks for qemu-system-${debarch} as well as qemu-system-any")
2023-06-19bin/debvm-run: qemu (>> 1:8.0) provides symlinks for qemu-system-${debarch} ↵Johannes Schauer Marin Rodrigues
as well as qemu-system-any
2023-06-19debvm-run: avoid hard coding fds for kernel and initrdHelmut Grohne
qemu makes heavy use of fd passing, so we better avoid user-passed fds.
2023-06-19debvm-run: replace shell process with qemu processHelmut Grohne
We need the intermediate shell process to clean the temporary files with the kernel and the initrd - unless we delete them before running qemu. This method should help with killing a qemu e.g. using a timeout.
2023-06-19gitlab-ci: register binfmts againHelmut Grohne