summaryrefslogtreecommitdiff
path: root/bin/debvm-run
AgeCommit message (Collapse)Author
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-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.
2023-01-15debvm-run: fix logic inversion in parent commitHelmut Grohne
Reported-by: Jochen Sprickerhof <git@jochen.sprickerhof.de>
2023-01-15debvm-run: fix for relative symlinks below boot/Helmut Grohne
Reported-by: Jochen Sprickerhof <git@jochen.sprickerhof.de>
2023-01-15debvm-run: guess the location of the kernelHelmut Grohne
2023-01-15Document additional kernel link namesJochen Sprickerhof
Reported-by: Helmut Grohne <helmut@subdivi.de>
2023-01-15Avoid unnecessary debugfs callJochen Sprickerhof
Reported-by: Helmut Grohne <helmut@subdivi.de>
2023-01-15Support kernel links in /boot (Ubuntu)Jochen Sprickerhof
2023-01-13change cmdline variable debvm.term to TERMHelmut Grohne
Jochen Sprickerhof found that systemd interprets the TERM variable according to our intended meaning and applies it to pid 1. It doesn't apply it to serial-getty, though so we keep that code for now.
2023-01-13Merge branch main into helmutHelmut Grohne
Resolve conflicts in debvm-create arising from adding --skip and moving the functionality to be skipped to share/customize-*.sh.
2023-01-13automatically set up agetty TERM when possibleHelmut Grohne
* debvm-create will now parse a new kernel cmdline debvm.term and if present will pass its value to agetty as TERM. * debvm-run will now detect whether it is running in a terminal in non-graphic mode and pass its environment TERM variable as debvm.term to the kernel cmdline thus closing the loop.
2023-01-11move the debvm-* tools to binHelmut Grohne
The purpose of this change is adding support files to be referenced and called from these tools. Those support files shall be located in ../share and this way of locating them shall work both in-source and when installed.