Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qemu-user-i386 error #6141

Closed
SDRausty opened this issue Dec 11, 2020 · 8 comments
Closed

qemu-user-i386 error #6141

SDRausty opened this issue Dec 11, 2020 · 8 comments

Comments

@SDRausty
Copy link

SDRausty commented Dec 11, 2020

The following packages will be upgraded:
apt bash curl libcurl openssl pulseaudio qemu-user-i386

qemu-user-i386/stable,now 1:5.2.0-1 arm [installed]

Newly arisen error:

proot info: vpid 1: terminated with signal 11

Steps to reproduce:
Install Arch Linux 32 on armv7l with qemu support. Command setupTermuxArch v attempts to install and configure Arch Linux 32 on armv7l architecture.

Expected behavior:

PRoot with QEMU enabled run correctly like it did before this last upgrade.

@ghost
Copy link

ghost commented Dec 11, 2020

I've just tested these binaries on armv7l device and it seems like QEMU is working fine:

I will not do tests "distribution-wide", considering as QEMU user mode is usually less stable that system variant and v5.2.0 upstream can have regressions.

Emulation errors are not subject for debugging & fixing by me. Complexity of QEMU's Tiny Code Generator is quite beyond my skills. Reverting to previous version will not be done as well.

Closing.

@ghost ghost closed this as completed Dec 11, 2020
@SDRausty

This comment has been minimized.

@ghost
Copy link

ghost commented Dec 11, 2020

The option apt -o APT::Keep-Downloaded-Packages="true" used to allow local rollback.

Downloaded packages are kept in

/data/data/com.termux/cache

They are no longer stored in $PREFIX to be preserved when termux-reset was executed.

The result has this error; qemu-system-i386: -U: invalid option.

@SDRausty qemu-system-i386 emulates the full machine. It is not usable with proot and operates on disk images instead of file system.

Don't get me wrong, but I only pointed on that qemu-i386 is known to have problems. I have not suggested to replace qemu-i386 with qemu-system-i386 (they are 2 entirely different things).

@SDRausty

This comment was marked as spam.

@SDRausty

This comment was marked as spam.

@ghost
Copy link

ghost commented Dec 12, 2020

Start with these:

Boot downloaded image (basic):

qemu-system-i386 -m 512M -nographic -cdrom alpine-virt-3.12.2-x86.iso

Modified to boot from URL with no local image:

qemu-system-i386 -m 512M -nographic -boot d -drive file=https://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86/alpine-virt-3.12.2-x86.iso,readonly=on,media=cdrom

In both cases output is printed directly to console as image supports serial line emulated by QEMU.
CTRL+a x to terminate VM.

qemu

Extending command line by switching to VirtIO devices (rng, nic, drives), increasing TCG cache (e.g. by -accel tcg,tb-size=512), using musl-based & non-systemd distributions like Alpine Linux makes execution under QEMU faster.


Arch Linux can be booted too, yet it is slower and ISO will require many RAM (1-2 GB, maybe more). Probably will have issues with text-only mode and you will need a VNC.

@SDRausty

This comment was marked as spam.

@SDRausty

This comment was marked as spam.

@ghost ghost locked and limited conversation to collaborators Oct 9, 2021
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant