summaryrefslogtreecommitdiff
path: root/bin/debvm-run
AgeCommit message (Collapse)Author
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>
2023-01-21debvm-run: skip virtio-rng-pci for architectures that lack pciHelmut Grohne
Fixes: aee1eb3d1c28 ("debvm-run: no need for true randomness -- use /dev/urandom to be faster")
2023-01-21debvm-run: also pass reasonable -cpu for native non-kvmHelmut Grohne
2023-01-21debvm-run: prefer qemu-system-* over kvmHelmut Grohne
Now that we pass accel=kvm:tcg, there is no difference anymore.
2023-01-21debvm-run: pass -M accel=kvm:tcg rather than -enable-kvmHelmut Grohne
-enable-kvm is equivalent to -M accel=kvm, but we allow a fallback to tcg in case kvm is not available thus shifting this test into qemu. Reported-by: Bastian Blank <waldi@debian.org> Reported-by: Johannes Schauer Marin Rodrigues <josch@debian.org>
2023-01-21debvm-run: only pass gic-version when kvm is availableHelmut Grohne
Fixes: bfaa3d124fab ("debvm-run: on arm64 there is no default machine -- set one")
2023-01-21debvm-run: compute -machine independently of being nativeHelmut Grohne
When running on armhf natively, there also is no default machine, so we should also pass -machine virt there. That likely affects all arms and riscv64 as well.
2023-01-20use ssh option NoHostAuthenticationForLocalhostHelmut Grohne
2023-01-18Update FAQ about console renderingsJochen Sprickerhof
2023-01-18Add better Qemu optionsJochen Sprickerhof
2023-01-17expand architecture coverageHelmut Grohne
Give an example of how to use it with ports and add a few architecture-specific cases. Note that m68k and sparc64 do not actually work, because they lack PCI.