summaryrefslogtreecommitdiff
path: root/bin/debvm-run
AgeCommit message (Collapse)Author
2025-03-29debvm-run: re-enable qemu detection for pre-trixieHelmut Grohne
Fixes: 1c98a5b3b36f ("qemu-system-${debarch} as well as qemu-system-any")
2024-11-12debvm-run: also try resolv.conf for dnssearchHelmut Grohne
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-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.
2024-03-05debvm-run: skip rngdev for sparc64 via opt_skipHelmut 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-07-04bin/debvm-run: commas in the image filename must be escapedJohannes Schauer Marin Rodrigues
2023-06-24bin/debvm-run: allow being run in environments without TERM setJohannes Schauer Marin Rodrigues
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-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-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-09the argument to setterm is --resize, not -resizeHelmut Grohne
2023-06-07debvm-run: add an --append optionHelmut Grohne
Unlike qemu's -append, it has append semantics both to repeated use and to internal defaults.
2023-03-30debvm-run: do not apply pauth-impdef=on to arm32Helmut Grohne
I really should have tested this part, but CI did. Fixes: 954ba600ffb7 ("debvm-run: massively speed up tcg emulation of arm cpus")
2023-03-29debvm-run: massively speed up tcg emulation of arm cpusHelmut Grohne
pauth emulation is very intensive on the CPU and thus there is a non-cryptographic alternative that provides a speedup of 3 to 4. https://qemu-project.gitlab.io/qemu/system/arm/cpu-features.html#tcg-vcpu-features Suggested-by: Arnd Bergmann <arnd@arndb.de> Reported-by: Emanuele Rocca <ema@debian.org> Tested-by: Emanuele Rocca <ema@debian.org> Closes: #1033643
2023-03-11debvm-run: --graphical should not require an argumentHelmut Grohne
2023-03-06debvm-create: autodetect size of serial consolesHelmut Grohne
We now extend /etc/profile to invoke setterm -resize when detecting an interactive login on a serial console. This should fix 90% of wrongly sized serial consoles.
2023-03-06support a mips64el kernel in a mipsel image via multiarchHelmut Grohne
Reported-by: Fabian Gruenbichler
2023-03-05debvm-run: always use virtio input devices for graphical modeHelmut Grohne
These clearly benefit the amd64 case as well. Experience with the virtio gpu is not as clear cut as it may crash qemu.
2023-03-02debvm-run: be more explicit about graphics and cloud kernelsHelmut Grohne
Reported-by: Arnd Bergmann <arnd@arndb.de>
2023-03-02debvm-run: improve graphical experience on !x86Arnd Bergmann
2023-02-02debvm-run: deal with arbitrary disk labelsHelmut Grohne
Reported-by: Gioele Barabucci <gioele@svario.it> Closes: #1030255
2023-01-26debvm-run: be a bit more verbose about detected architectureHelmut Grohne
2023-01-25Merge branch 'multiarch' into 'main'Helmut Grohne
install and use multiarch kernels for sibling architectures See merge request helmutg/debvm!28
2023-01-25debvm-run: always pass gic-version=max for arm64Helmut Grohne
We already pass it in the kvm case where it should become host and all should be fine. However in the non-kvm case, the default gic can only support 8 cores. If we want to go beyond that, we need a higher gic-version. We couldn't measure a performance difference between max and unset, so we'll just always pass max. Thanks: Arnd Bergmann <arnd@arndb.de> Thanks: Johannes Schauer Marin Rodrigues <josch@debian.org>
2023-01-25debvm-run: disable kvm for armhf -> arm64 when the cpu cannot run itHelmut Grohne
Reported-by: Arnd Bergmann <arnd@arndb.de>
2023-01-25debvm-run: internally differentiate between VMARCH and KERNELARCHHelmut Grohne
In a multiarch setting, VMARCH shall describe the contained userland and KERNELARCH shall describe the architecture of the contained kernel.
2023-01-25debvm-run: make shellcheck happyHelmut Grohne
Fixes: 66b9374cc19c ("debvm-run: extract kernel image before inspecting it")
2023-01-25debvm-run: also handle upgrading armHelmut Grohne
elf-arch may report armel and armhf as arm.
2023-01-25debvm-run: extract kernel image before inspecting itHelmut Grohne
Reported-by: Arnd Bergmann <arnd@arndb.de>
2023-01-25debvm-run: handle some multiarch kernelsHelmut Grohne
We completely treat all 32bit arm as armhf now. Booting the rpi kernel installed by debvm-create for armel will not work at all. The only sane way to boot armel is to enable a multiarch kernel. Refine the VMARCH guess from /bin/true using the file output for the kernel image for the common cases of i386+amd64 and armel/armhf+arm64.
2023-01-24debvm-run: do not pass -smp on unicore systemsHelmut Grohne
2023-01-22debvm-run: arm virt machine cannot do more than 8 coresHelmut Grohne
2023-01-22debv-run: apply smp limits for the native caseHelmut Grohne
This was never tried, but autopkgtests indicate that smp limits also apply to the native case.
2023-01-21debvm-run: also avoid pci networking for m68kHelmut Grohne
2023-01-21debvm-run: refactor rng deviceHelmut Grohne
It's not as simple as disabling the rng when pci is unavailable. For m68k, we can select -machine virt and then we can have a virtio-rng-device. Thus make that part configurable.
2023-01-21debvm-run: use gic-version=max for arm64Helmut Grohne
While the host version only works on kvm, max means the same and also works on tcg. Signed-off-by: Johannes Schauer Marin Rodrigues <josch@debian.org> Signed-off-by: Helmut Grohne <helmut@subdivi.de>