NoteAfterNote-7

Reading and writing a USB drive connected to a Linux server using Termux, termux-usb, usbredirect, and QEMU on a smartphone that is not rooted

Published: May 19, 2024

Link: https://gist.github.com/NoteAfterNote/7a197233de3d60ff1e23ca90ed2f595a

Updated: May 28, 2024

Termux: Enable Wake-Lock

Smartphone Configuration

The Android 11 smartphone is not rooted and it has never been rooted

Three gigabytes of RAM

Four cores/CPUs, "MT6761V/WAB" according to "neofetch" in Termux

~ $ lscpu Architecture: armv7l Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: ARM Model name: Cortex-A53 Model: 4 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Stepping: r0p4 CPU(s) scaling MHz: 65% CPU max MHz: 2001.0000 CPU min MHz: 850.0000 BogoMIPS: 27.96 Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32

Internal storage: /data/data/com.termux/files

Adoptable storage: /storage/emulated/0/Download/usb1 and /storage/emulated/0

Create Termux Sessions: termux (Session 1), usbredirect (Session 2), qemu (Session 3)

From The termux Session: Create a disk, a file named vmtest, for the virtual machine (VM), the QEMU Linux Server will be installed on vmtest

~ $ mkdir $HOME/termux-qemu-usb ~ $ cd $HOME/termux-qemu-usb ~/termux-qemu-usb $ qemu-img create -f raw -o preallocation=full vmtest 3G Formatting 'vmtest', fmt=raw size=3221225472 preallocation=full ~/termux-qemu-usb $

From The usbredirect Session:

~ $ cd $HOME/termux-qemu-usb ~/termux-qemu-usb $

From The qemu Session: The QEMU Linux Server can only be accessed from 127.0.0.1

~ $ cd $HOME/termux-qemu-usb ~/termux-qemu-usb $

Read Carefully

"Termux And The ext4 Filesystem, Part 3 Of 5: QEMU, A Guest Operating System, LUKS Encryption, lighttpd, WebDAV ": https://gist.github.com/NoteAfterNote/cabd411777f2ad5ae57d3d98c576471c (@NoteAfterNote, NoteAfterNote-4, April 12, 2023), https://github.com/NoteAfterNote (@NoteAfterNote, NoteAfterNote-4, April 12, 2023) , https://gist.github.com/NoteAfterNote (@NoteAfterNote, NoteAfterNote-4, April 12, 2023) "Alpine User Handbook": https://docs.alpinelinux.org/user-handbook/0.1a/index.html In https://github.com/termux/termux-packages/issues/19635 (termux/termux-packages#19635 , https://archive.ph/9Xmh1 , https://web.archive.org/web/20240518054131/github.com/termux/termux-packages/issues/19635): "Connecting a USB device to QEMU using termux, termux-usb, usbredirect" echo 'chardev-add socket,host=127.0.0.1,port=10000,id=c1' | nc -UN qemu.socket echo 'device_add usb-redir,chardev=c1,id=u1,debug=3' | nc -UN qemu.socket

"Modified source code: usbredirect.c" (the original source code for usbredirect.c is at https://gitlab.freedesktop.org/spice/usbredir)

Usage-1: Update-6, Update-7, Update-8, Update-9, Update-10 Usage-1 Note: mkfs.ext4, mount, cryptsetup

Usage-2: "Making A Filesystem(s) Mounted On The QEMU Linux Server More Accessible" by using the FTP protocol in the vsftpd server (passive mode and anonymous mode) that is running on the Alpine Linux operating system Usage-2 Note: Symbolic link and vsftpd, use "mount --bind /dev/shm /media/ramdisk" instead of "ln -s /dev/shm /media/ramdisk"

ich9-ehci-uhci.cfg from https://github.com/qemu/qemu/blob/master/docs/config/ich9-ehci-uhci.cfg or https://raw.githubusercontent.com/qemu/qemu/master/docs/config/ich9-ehci-uhci.cfg as of April 2024 and May 2024:

########################################################################### # # You can pass this file directly to qemu using the -readconfig # command line switch. # # This config file creates a EHCI adapter with companion UHCI # controllers as multifunction device in PCI slot "1d". # # Specify "bus=ehci.0" when creating usb devices to hook them up # there. # [device "ehci"] driver = "ich9-usb-ehci1" addr = "1d.7" multifunction = "on" [device "uhci-1"] driver = "ich9-usb-uhci1" addr = "1d.0" multifunction = "on" masterbus = "ehci.0" firstport = "0" [device "uhci-2"] driver = "ich9-usb-uhci2" addr = "1d.1" multifunction = "on" masterbus = "ehci.0" firstport = "2" [device "uhci-3"] driver = "ich9-usb-uhci3" addr = "1d.2" multifunction = "on" masterbus = "ehci.0" firstport = "4"

Equivalent options for qemu-system-x86_64 if the ich9-ehci-uhci.cfg file (-readconfig $HOME/ich9-ehci-uhci.cfg) is not used: -device ich9-usb-ehci1,id=ehci,addr=1d.7,multifunction=on -device ich9-usb-uhci1,id=uhci-1,addr=1d.0,multifunction=on,masterbus=ehci.0,firstport=0 -device ich9-usb-uhci2,id=uhci-2,addr=1d.1,multifunction=on,masterbus=ehci.0,firstport=2 -device ich9-usb-uhci3,id=uhci-3,addr=1d.2,multifunction=on,masterbus=ehci.0,firstport=4

QEMU_SOCKET_FILENAME=$HOME/termux-qemu-usb/qemu.socket ; touch $QEMU_SOCKET_FILENAME ; VM=$HOME/termux-qemu-usb/vmtest ; qemu-system-x86_64 -m 1500M -machine q35 -smp 4 -device virtio-rng-pci -device pci-bridge,id=bridge0,chassis_nr=1 -nographic -monitor unix:$QEMU_SOCKET_FILENAME,server,wait=off -serial mon:stdio -device ich9-usb-ehci1,id=ehci,addr=1d.7,multifunction=on -device ich9-usb-uhci1,id=uhci-1,addr=1d.0,multifunction=on,masterbus=ehci.0,firstport=0 -device ich9-usb-uhci2,id=uhci-2,addr=1d.1,multifunction=on,masterbus=ehci.0,firstport=2 -device ich9-usb-uhci3,id=uhci-3,addr=1d.2,multifunction=on,masterbus=ehci.0,firstport=4 -drive if=none,id=vm,format=raw,file=$VM -device virtio-blk-pci,id=vmvirt1,drive=vm,bootindex=1 -virtfs local,security_model=none,id=host-all,mount_tag=host-all,path=/storage/emulated/0 -virtfs local,security_model=none,id=termux,mount_tag=termux,path=/data/data/com.termux/files -virtfs local,security_model=none,id=host,mount_tag=host,path=/storage/emulated/0/Download/usb1 -device virtio-serial -device e1000,netdev=net0,mac=52:54:12:34:56:78 -netdev user,id=net0,ipv6=off,hostfwd=tcp:127.0.0.1:9080-:80,hostfwd=tcp:127.0.0.1:9022-:22,hostfwd=tcp:127.0.0.1:9445-:445,hostfwd=:127.0.0.1:50021-:21,hostfwd=:127.0.0.1:50001-:50001,hostfwd=:127.0.0.1:50002-:50002,hostfwd=:127.0.0.1:50003-:50003,hostfwd=:127.0.0.1:50004-:50004,hostfwd=:127.0.0.1:50005-:50005,hostfwd=:127.0.0.1:50006-:50006,hostfwd=:127.0.0.1:50007-:50007,hostfwd=:127.0.0.1:50008-:50008,hostfwd=:127.0.0.1:50009-:50009,hostfwd=:127.0.0.1:50010-:50010,hostfwd=:127.0.0.1:50011-:50011,hostfwd=:127.0.0.1:50012-:50012,hostfwd=:127.0.0.1:50013-:50013,hostfwd=:127.0.0.1:50014-:50014,hostfwd=:127.0.0.1:50015-:50015,hostfwd=:127.0.0.1:50016-:50016,hostfwd=:127.0.0.1:50017-:50017,hostfwd=:127.0.0.1:50018-:50018,hostfwd=:127.0.0.1:50019-:50019,hostfwd=:127.0.0.1:50020-:50020 -chardev socket,host=127.0.0.1,port=10000,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=3

Alpine Linux: https://alpinelinux.org , https://wiki.alpinelinux.org/wiki/Main_Page , https://wiki.alpinelinux.org , https://alpinelinux.org/downloads/ "Alpine User Handbook": https://docs.alpinelinux.org/user-handbook/0.1a/index.html

https://docs.alpinelinux.org/user-handbook/0.1a/Installing/manual.html#_repositories http://dl-cdn.alpinelinux.org/alpine/v3.20/main http://dl-cdn.alpinelinux.org/alpine/v3.20/community

https://mirrors.alpinelinux.org

https://wiki.alpinelinux.org/wiki/How_to_setup_a_Alpine_Linux_mirror rsync://rsync.alpinelinux.org/alpine

https://dl-cdn.alpinelinux.org/alpine/MIRRORS.txt

https://wiki.alpinelinux.org/wiki/Upgrading_Alpine

https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-virt-3.20.0-x86_64.iso , https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-virt-3.20.0-x86_64.iso.sha256 , https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-virt-3.20.0-x86_64.iso.sha512 , https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-virt-3.20.0-x86_64.iso.asc

https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-extended-3.20.0-x86_64.iso , https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-extended-3.20.0-x86_64.iso.sha256 , https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-extended-3.20.0-x86_64.iso.sha512 , https://dl-cdn.alpinelinux.org/alpine/v3.20/releases/x86_64/alpine-extended-3.20.0-x86_64.iso.asc

apk add linux-virt fscrypt fscrypt-doc fscryptctl libpwquality libpwquality-doc zstd zstd-doc pwgen sfdisk dos2unix gptfdisk sgdisk parted zfs zfs-doc btrfs-progs btrfs-progs-extra btrbk btrfs-progs-doc rpm cifs-utils perl perl-digest-sha3 perl-utils perl-doc miniperl perl-dev bash-doc haveged davfs2 f2fs-tools f2fs-tools-doc jfsutils xfsprogs xfsprogs-extra xfsprogs-doc lsof-doc cpio whois unzip mount umount libarchive-tools libarchive-doc binutils binutils-doc sudo sshfs sharutils file apk-tools apk-tools-doc mandoc man-pages mandoc-apropos docs hdparm util-linux-misc util-linux-login fuse fuse-exfat fuse-exfat-utils fuse-exfat-doc nfs-utils less smartmontools grep gawk sed utmps udisks2 udisks2-doc procps-ng findutils ntfs-3g ntfs-3g-progs xz zip 7zip lvm2 mkinitfs grub grub-efi efibootmgr syslinux net-tools archivemount darkhttpd vsftpd vsftpd-doc socat curl ncurses shadow abuild samba apache2 apache2-doc apache2-webdav apache2-utils apache2-ctl apache2-brotli apache2-dev apache2-error apache2-http2 apache2-icons apache2-ldap apache2-lua apache2-proxy apache2-proxy-html apache2-ssl nginx nginx-mod-http-fancyindex nginx-mod-http-upload nginx-mod-http-upload-progress nginx-debug nginx-doc nginx-mod-devel-kit nginx-mod-http-accounting nginx-mod-http-array-var nginx-mod-http-auth-jwt nginx-mod-http-brotli nginx-mod-http-cache-purge nginx-mod-http-cookie-flag nginx-mod-http-dav-ext nginx-mod-http-echo nginx-mod-http-encrypted-session nginx-mod-http-geoip nginx-mod-http-geoip2 nginx-mod-http-headers-more nginx-mod-http-image-filter nginx-mod-http-js nginx-mod-http-keyval nginx-mod-http-log-zmq nginx-mod-http-lua nginx-mod-http-lua-upstream nginx-mod-http-naxsi nginx-mod-http-nchan nginx-mod-http-perl nginx-mod-http-redis2 nginx-mod-http-set-misc nginx-mod-http-shibboleth nginx-mod-http-untar nginx-mod-http-upstream-fair nginx-mod-http-upstream-jdomain nginx-mod-http-vod nginx-mod-http-vts nginx-mod-http-xslt-filter nginx-mod-http-zip nginx-mod-mail nginx-mod-rtmp nginx-mod-stream nginx-mod-stream-geoip nginx-mod-stream-geoip2 nginx-mod-stream-js nginx-mod-stream-keyval nginx-vim rng-tools cryptsetup coreutils util-linux e2fsprogs e2fsprogs-extra bash vim nano dosfstools tar usbutils iproute2 iproute2-ss pciutils ethtool wget lsof hwdata

On the QEMU Linux Server enable passive mode and anonymous mode for vsftpd by adding the following directives to the default server configuration file at "/etc/vsftpd/vsftpd.conf"; the configuration works for "lftp" and "mc" ("FTP Link" in the Midnight Commander file manager) and the FTP clients must use the passive mode and port 50021; anonymous is the username and no password is required:

anon_world_readable_only=NO ftp_username=ftp nopriv_user=ftp anon_root=/media seccomp_sandbox=NO pasv_address=127.0.0.1 port_enable=YES pasv_enable=YES pasv_min_port=50001 pasv_max_port=50010 port_promiscuous=YES connect_from_port_20=YES anonymous_enable=YES no_anon_password=YES write_enable=YES anon_other_write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES ls_recurse_enable=YES

The QEMU Linux Server can only be accessed from 127.0.0.1

(a) "How to manage your Linux command history: Taking the mystery out of your Bash history.": https://www.redhat.com/sysadmin/history-command (Ken Hess, December 21, 2020) (b) "Difference Between .bashrc, .bash-profile, and .profile": https://www.baeldung.com/linux/bashrc-vs-bash-profile-vs-profile (baeldung, March 18, 2024) (c) "Bash HISTSIZE vs. HISTFILESIZE": https://www.baeldung.com/linux/bash-histsize-vs-histfilesize (Shubhneesh K, March 18, 2024) (d) "Debugging a Bash Script": https://www.baeldung.com/linux/debug-bash-script (Shubhneesh K, March 18, 2024)

From The usbredirect Session:

~/termux-qemu-usb $ ~/termux-qemu-usb $ ls -1 meson-1.4.0.tar.gz meson-1.4.0.zip ~/termux-qemu-usb $ ~/termux-qemu-usb $ tar xf meson-1.4.0.tar.gz ~/termux-qemu-usb $ ~/termux-qemu-usb $ pwd /data/data/com.termux/files/home/termux-qemu-usb ~/termux-qemu-usb $ ~/termux-qemu-usb $ ls -1 meson-1.4.0 meson-1.4.0.tar.gz meson-1.4.0.zip ~/termux-qemu-usb $ tar xf usbredir-main.tar.gz ~/termux-qemu-usb $ ~/termux-qemu-usb $ cd $HOME/termux-qemu-usb/usbredir-main ~/termux-qemu-usb/usbredir-main $ ~/termux-qemu-usb/usbredir-main $ $HOME/termux-qemu-usb/meson-1.4.0/meson.py setup build The Meson build system Version: 1.4.0 Source dir: /data/data/com.termux/files/home/termux-qemu-usb/usbredir-main Build dir: /data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/build Build type: native build Project name: usbredir Project version: 0.14.0 C compiler for the host machine: cc (clang 17.0.6 "clang version 17.0.6") C linker for the host machine: cc ld.lld 17.0.6 Host machine cpu family: arm Host machine cpu: armv7l Compiler for C supports arguments --param=ssp-buffer-size=4: YES Compiler for C supports arguments -D_FORTIFY_SOURCE=2: YES Compiler for C supports arguments -fstack-protector: YES Checking if "visibility check" compiles: YES Has header "inttypes.h" : YES Has header "stdint.h" : YES Has header "stdlib.h" : YES Has header "strings.h" : YES Has header "string.h" : YES Has header "sys/stat.h" : YES Has header "sys/types.h" : YES Has header "unistd.h" : YES Configuring config.h using configuration Compiler for C supports link arguments -Wl,--version-script=/data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/usbredirparser/ usbredirparser.map: NO Compiler for C supports link arguments -Wl,--no-undefined: YES Compiler for C supports link arguments -Wl,-dead_strip: NO Found pkg-config: YES (/data/data/com.termux/files/usr/bin/pkg-config) 0.29.2 Compiler for C supports link arguments -Wl,--version-script=/data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/usbredirhost/ usbredirhost.map: NO Compiler for C supports link arguments -Wl,--no-undefined: YES (cached) Compiler for C supports link arguments -Wl,-dead_strip: NO (cached) Run-time dependency libusb-1.0 found: YES 1.0.26 Run-time dependency glib-2.0 found: YES 2.78.3 Run-time dependency gio-unix-2.0 found: YES 2.78.3 Dependency glib-2.0 found: YES 2.78.3 (cached) Build targets in project: 6 usbredir 0.14.0 prefix : /usr/local libusbredirparser.so version: 1.2.1 libusbredirhost.so version : 1.0.3 Found ninja-1.11.1 at /data/data/com.termux/files/usr/bin/ninja ~/termux-qemu-usb/usbredir-main $ ~/termux-qemu-usb/usbredir-main $ ls build/tools usbredirect.p ~/termux-qemu-usb/usbredir-main $ ~/termux-qemu-usb/usbredir-main $ ls -1 COPYING COPYING.LIB ChangeLog.md README.md TODO build build-aux data docs fuzzing meson.build meson_options.txt tests tools usbredirhost usbredirparser usbredirtestclient ~/termux-qemu-usb/usbredir-main $ ~/termux-qemu-usb/usbredir-main $ cd $HOME/termux-qemu-usb/usbredir-main/tools ~/.../usbredir-main/tools $ ~/.../usbredir-main/tools $ ls -1 meson.build usbredirect.c ~/.../usbredir-main/tools $ ~/.../usbredir-main/tools $ mv -vi usbredirect.c usbredirect.c-original renamed 'usbredirect.c' -> 'usbredirect.c-original' ~/.../usbredir-main/tools $ ~/.../usbredir-main/tools $ cp -vi $HOME/termux-qemu-usb/usbredirect.c . '/data/data/com.termux/files/home/termux-qemu-usb/usbredirect.c' -> './usbredirect.c' ~/.../usbredir-main/tools $ ~/.../usbredir-main/tools $ pwd /data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/tools ~/.../usbredir-main/tools $ ~/.../usbredir-main/tools $ head -3 usbredirect.c #define FOR_TERMUX 1 #ifdef THIS_IS_A_COMMENT ~/.../usbredir-main/tools $ ~/.../usbredir-main/tools $ cd $HOME/termux-qemu-usb/usbredir-main/build ~/.../usbredir-main/build $ ~/.../usbredir-main/build $ pwd /data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/build ~/.../usbredir-main/build $ ~/.../usbredir-main/build $ $HOME/termux-qemu-usb/meson-1.4.0/meson.py compile INFO: autodetecting backend as ninja INFO: calculating backend command to run: /data/data/com.termux/files/usr/bin/ninja [6/15] Compiling C object tools/usbredirect.p/usbredirect.c.o ../tools/usbredirect.c:605:1: warning: unused function 'open_usb_device' [-Wunused-function] 605 | open_usb_device(redirect *self) | ^~~~~~~~~~~~~~~ 1 warning generated. [8/15] Generating symbol file usbredirpars...1.2.1.p/libusbredirparser.so.1.2.1.symbols WARNING: ['readelf'] not found. Relinking will always happen on source changes. [15/15] Linking target tools/usbredirect ~/.../usbredir-main/build $ ~/.../usbredir-main/build $ ls -1 tools usbredirect usbredirect.p ~/.../usbredir-main/build $ ~/.../usbredir-main/build $ termux-usb -l [ "/dev/bus/usb/001/003" ] ~/.../usbredir-main/build $ ~/.../usbredir-main/build $ termux-usb -r /dev/bus/usb/001/003 Access granted. ~/termux-qemu-usb $ ~/termux-qemu-usb $ termux-usb -e "/data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/003 --as 127.0.0.1:10000" /dev/bus/usb/001/003 IN-MAIN-BEFORE-parse_opts argc = 6 IN-MAIN-BEFORE-parse_opts argv[0] = /data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/build/tools/usbredirect IN-MAIN-BEFORE-parse_opts argv[1] = --device IN-MAIN-BEFORE-parse_opts argv[2] = /dev/bus/usb/001/003 IN-MAIN-BEFORE-parse_opts argv[3] = --as IN-MAIN-BEFORE-parse_opts argv[4] = 127.0.0.1:10000 IN-MAIN-BEFORE-parse_opts argv[5] = 7 IN-MAIN-BEFORE sscanf argc = 2 IN-MAIN-BEFORE sscanf argv[0] = /data/data/com.termux/files/home/termux-qemu-usb/usbredir-main/build/tools/usbredirect IN-MAIN-BEFORE sscanf argv[1] = 7 IN-MAIN-BEFORE sscanf argv[2] = (null) IN-MAIN-BEFORE sscanf argv[3] = (null) IN-MAIN-BEFORE sscanf argv[4] = (null) IN-MAIN-BEFORE sscanf argv[5] = (null) Vendor ID: 0718 Product ID: 7722 Manufacturer: Memorex Product: USB Flash Drive Serial No:

The QEMU Linux Server

From The qemu Session:

Session Note-1: http://dl-cdn.alpinelinux.org/alpine/v3.20/main and http://dl-cdn.alpinelinux.org/alpine/v3.20/community Add to /etc/apk/repositories

Session Note-2: Backup vmtest

~/termux-qemu-usb $ ~/termux-qemu-usb $ QEMU_SOCKET_FILENAME=$HOME/termux-qemu-usb/qemu.socket ; touch $QEMU_SOCKET_FILENAME ; VM=$HOME/termux-qemu-usb/vmtest ; ISO1=$HOME/termux-qemu-usb/alpine-virt-3.20.0-x86_64.iso ; ISO2=$HOME/termux-qemu-usb/alpine-extended-3.20.0-x86_64.iso ; qemu-system-x86_64 -m 1500M -machine q35 -smp 4 -device virtio-rng-pci -device pci-bridge,id=bridge0,chassis_nr=1 -nographic -monitor unix:$QEMU_SOCKET_FILENAME,server,wait=off -serial mon:stdio -device ich9-usb-ehci1,id=ehci,addr=1d.7,multifunction=on -device ich9-usb-uhci1,id=uhci-1,addr=1d.0,multifunction=on,masterbus=ehci.0,firstport=0 -device ich9-usb-uhci2,id=uhci-2,addr=1d.1,multifunction=on,masterbus=ehci.0,firstport=2 -device ich9-usb-uhci3,id=uhci-3,addr=1d.2,multifunction=on,masterbus=ehci.0,firstport=4 -drive if=none,id=iso1,readonly=on,format=raw,file=$ISO1 -device virtio-blk-pci,id=virt1,drive=iso1,bootindex=1 -drive if=none,id=iso2,readonly=on,format=raw,file=$ISO2 -device virtio-blk-pci,id=virt2,drive=iso2 -drive if=none,id=vm,format=raw,file=$VM -device virtio-blk-pci,id=vmvirt1,drive=vm -virtfs local,security_model=none,id=termux,mount_tag=termux,path=/data/data/com.termux/files -virtfs local,security_model=none,id=host,mount_tag=host,path=/storage/emulated/0/Download/usb1 -device virtio-serial -device e1000,netdev=net0,mac=52:54:12:34:56:78 -netdev user,id=net0,ipv6=off,hostfwd=tcp:127.0.0.1:9080-:80,hostfwd=tcp:127.0.0.1:9022-:22 Welcome to Alpine Linux 3.19 Kernel 6.6.14-0-virt on an x86_64 (/dev/ttyS0) localhost login: root Welcome to Alpine! The Alpine Wiki contains a large amount of how-to guides and general information about administrating Alpine systems. See <https://wiki.alpinelinux.org/>. You can setup the system with the command: setup-alpine You may change this message by editing /etc/motd. localhost:~# localhost:~# setup-apkcache Enter apk cache directory (or '?' or 'none') [/var/cache/apk] localhost:~# localhost:~# apk add rng-tools cryptsetup coreutils util-linux e2fsprogs e2fsprogs-extra bash vim nano dosfstools tar usbutils iproute2 iproute2-ss pciutils ethtool wget lsof hwdata (1/100) Installing ncurses-terminfo-base (6.4_p20231125-r0) (2/100) Installing libncursesw (6.4_p20231125-r0) (3/100) Installing readline (8.2.1-r2) (4/100) Installing bash (5.2.21-r0) Executing bash-5.2.21-r0.post-install (5/100) Installing coreutils-env (9.4-r2) (6/100) Installing coreutils-fmt (9.4-r2) (7/100) Installing coreutils-sha512sum (9.4-r2) (8/100) Installing libacl (2.3.1-r4) (9/100) Installing libattr (2.5.1-r5) (10/100) Installing skalibs (2.14.0.1-r0) (11/100) Installing utmps-libs (0.1.2.2-r0) (12/100) Installing coreutils (9.4-r2) (13/100) Installing libblkid (2.39.3-r0) (14/100) Installing argon2-libs (20190702-r5) (15/100) Installing device-mapper-libs (2.03.23-r0) (16/100) Installing json-c (0.17-r0) (17/100) Installing libuuid (2.39.3-r0) (18/100) Installing cryptsetup-libs (2.6.1-r8) (19/100) Installing popt (1.19-r3) (20/100) Installing cryptsetup (2.6.1-r8) (21/100) Installing cryptsetup-openrc (2.6.1-r8) (22/100) Installing dosfstools (4.2-r2) (23/100) Installing libcom_err (1.47.0-r5) (24/100) Installing e2fsprogs-libs (1.47.0-r5) (25/100) Installing e2fsprogs (1.47.0-r5) (26/100) Installing e2fsprogs-extra (1.47.0-r5) (27/100) Installing libmnl (1.0.5-r2) (28/100) Installing ethtool (6.6-r0) (29/100) Installing ifupdown-ng-ethtool (0.12.1-r4) (30/100) Installing hwdata-usb (0.377.2-r0) (31/100) Installing hwdata-pci (0.377.2-r0) (32/100) Installing hwdata-pnp (0.377.2-r0) (33/100) Installing hwdata-net (0.377.2-r0) (34/100) Installing hwdata (0.377.2-r0) (35/100) Installing zstd-libs (1.5.5-r8) (36/100) Installing libelf (0.190-r1) (37/100) Installing iproute2-minimal (6.6.0-r0) (38/100) Installing ifupdown-ng-iproute2 (0.12.1-r4) (39/100) Installing libxtables (1.8.10-r3) (40/100) Installing iproute2-tc (6.6.0-r0) (41/100) Installing iproute2-ss (6.6.0-r0) (42/100) Installing iproute2 (6.6.0-r0) Executing iproute2-6.6.0-r0.post-install (43/100) Installing lsof (4.99.0-r0) (44/100) Installing nano (7.2-r1) (45/100) Installing pciutils-libs (3.10.0-r0) (46/100) Installing pciutils (3.10.0-r0) (47/100) Installing jitterentropy-library (3.4.1-r0) (48/100) Installing rng-tools (6.16-r3) Executing rng-tools-6.16-r3.pre-install (49/100) Installing rng-tools-openrc (6.16-r3) (50/100) Installing tar (1.35-r2) (51/100) Installing udev-init-scripts (35-r1) (52/100) Installing udev-init-scripts-openrc (35-r1) (53/100) Installing eudev-libs (3.2.14-r0) (54/100) Installing xz-libs (5.4.5-r0) (55/100) Installing kmod-libs (31-r2) (56/100) Installing eudev (3.2.14-r0) (57/100) Installing eudev-hwids (3.2.14-r0) (58/100) Installing eudev-openrc (3.2.14-r0) (59/100) Installing pkgconf (2.1.0-r0) (60/100) Installing eudev-dev (3.2.14-r0) (61/100) Installing libusb (1.0.26-r3) (62/100) Installing libusb-dev (1.0.26-r3) (63/100) Installing usbutils (017-r0) (64/100) Installing util-linux (2.39.3-r0) (65/100) Installing setarch (2.39.3-r0) (66/100) Installing libfdisk (2.39.3-r0) (67/100) Installing libmount (2.39.3-r0) (68/100) Installing libsmartcols (2.39.3-r0) (69/100) Installing util-linux-misc (2.39.3-r0) (70/100) Installing libeconf (0.5.2-r2) (71/100) Installing linux-pam (1.5.3-r7) (72/100) Installing runuser (2.39.3-r0) (73/100) Installing mount (2.39.3-r0) (74/100) Installing losetup (2.39.3-r0) (75/100) Installing hexdump (2.39.3-r0) (76/100) Installing uuidgen (2.39.3-r0) (77/100) Installing blkid (2.39.3-r0) (78/100) Installing sfdisk (2.39.3-r0) (79/100) Installing mcookie (2.39.3-r0) (80/100) Installing agetty (2.39.3-r0) (81/100) Installing agetty-openrc (0.52.1-r2) (82/100) Installing wipefs (2.39.3-r0) (83/100) Installing cfdisk (2.39.3-r0) (84/100) Installing umount (2.39.3-r0) (85/100) Installing util-linux-openrc (2.39.3-r0) (86/100) Installing flock (2.39.3-r0) (87/100) Installing lsblk (2.39.3-r0) (88/100) Installing libcap-ng (0.8.3-r4) (89/100) Installing setpriv (2.39.3-r0) (90/100) Installing logger (2.39.3-r0) (91/100) Installing partx (2.39.3-r0) (92/100) Installing fstrim (2.39.3-r0) (93/100) Installing findmnt (2.39.3-r0) (94/100) Installing vim-common (9.0.2127-r0) (95/100) Installing xxd (9.0.2127-r0) (96/100) Installing vim (9.0.2127-r0) (97/100) Installing libunistring (1.1-r2) (98/100) Installing libidn2 (2.3.4-r4) (99/100) Installing pcre2 (10.42-r2) (100/100) Installing wget (1.21.4-r0) Executing busybox-1.36.1-r15.trigger Executing eudev-3.2.14-r0.trigger Executing eudev-hwids-3.2.14-r0.trigger OK: 80 MiB in 126 packages localhost:~# localhost:~# cat /etc/apk/repositories /media/vda/apks /media/vdb/apks localhost:~# localhost:~# vi /etc/apk/repositories localhost:~# nano /etc/apk/repositories localhost:~# localhost:~# setup-alpine ALPINE LINUX INSTALL ---------------------- Hostname ---------- Enter system hostname (fully qualified form, e.g. 'foo.example.org') [localhost] Interface ----------- Available interfaces are: eth0. Enter '?' for help on bridges, bonding and vlans. Which one do you want to initialize? (or '?' or 'done') [eth0] Ip address for eth0? (or 'dhcp', 'none', '?') [dhcp] Do you want to do any manual network configuration? (y/n) [n] udhcpc: started, v1.36.1 udhcpc: broadcasting discover udhcpc: broadcasting select for 10.0.2.15, server 10.0.2.2 udhcpc: lease of 10.0.2.15 obtained from 10.0.2.2, lease time 86400 Root Password --------------- Changing password for root New password: Retype password: passwd: password for root changed by root Timezone ---------- Africa/ Chile/ GB-Eire Israel Navajo US/ America/ Cuba GMT Jamaica PRC UTC Antarctica/ EET GMT+0 Japan PST8PDT Universal Arctic/ EST GMT-0 Kwajalein Pacific/ W-SU Asia/ EST5EDT GMT0 Libya Poland WET Atlantic/ Egypt Greenwich MET Portugal Zulu Australia/ Eire HST MST ROC leap-seconds.list Brazil/ Etc/ Hongkong MST7MDT ROK posixrules CET Europe/ Iceland Mexico/ Singapore right/ CST6CDT Factory Indian/ NZ Turkey Canada/ GB Iran NZ-CHAT UCT Which timezone are you in? [UTC] * Seeding random number generator ... * Saving 256 bits of creditable seed for next boot [ ok ] * Starting busybox acpid ... [ ok ] * Starting busybox crond ... [ ok ] Proxy ------- HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] Network Time Protocol ----------------------- Which NTP client to run? ('busybox', 'openntpd', 'chrony' or 'none') [chrony] none APK Mirror ------------ (f) Find and use fastest mirror (s) Show mirrorlist (r) Use random mirror (e) Edit /etc/apk/repositories with text editor (c) Community repo enable (skip) Skip setting up apk repositories Enter mirror number or URL: [1] skip User ------ Setup a user? (enter a lower-case loginname, or 'no') [no] Which ssh server? ('openssh', 'dropbear' or 'none') [openssh] Allow root ssh login? ('?' for help) [prohibit-password] ? Valid options are: yes root will be able to login with password or ssh key no root will not be allowed to login with ssh prohibit-password root will be able to login with ssh key but not with password Allow root ssh login? ('?' for help) [prohibit-password] yes Enter ssh key or URL for root (or 'none') [none] * service sshd added to runlevel default * Caching service dependencies ... [ ok ] ssh-keygen: generating new host keys: RSA ECDSA ED25519 * Starting sshd ... [ ok ] Disk & Install ---------------- Available disks are: sr0 (0.0 GB QEMU QEMU DVD-ROM ) vdc (3.2 GB 0x1af4 ) Which disk(s) would you like to use? (or '?' for help or 'none') [none] vdc The following disk is selected: vdc (3.2 GB 0x1af4 ) How would you like to use it? ('sys', 'data', 'crypt', 'lvm' or '?' for help) [?] sys WARNING: The following disk(s) will be erased: vdc (3.2 GB 0x1af4 ) WARNING: Erase the above disk(s) and continue? (y/n) [n] y Creating file systems... Installing system on /dev/vdc3: /mnt/boot is device /dev/vdc1 100% ████████████████████████████████████████████==> initramfs: creating /boot/initramfs-virt for 6.6.31-0-virt /boot is device /dev/vdc1 Installation is complete. Please reboot. localhost:~# localhost:~# poweroff localhost:~# ~/termux-qemu-usb $ ~/termux-qemu-usb $ QEMU_SOCKET_FILENAME=$HOME/termux-qemu-usb/qemu.socket ; touch $QEMU_SOCKET_FILENAME ; VM=$HOME/termux-qemu-usb/vmtest ; qemu-system-x86_64 -m 1500M -machine q35 -smp 4 -device virtio-rng-pci -device pci-bridge,id=bridge0,chassis_nr=1 -nographic -monitor unix:$QEMU_SOCKET_FILENAME,server,wait=off -serial mon:stdio -device ich9-usb-ehci1,id=ehci,addr=1d.7,multifunction=on -device ich9-usb-uhci1,id=uhci-1,addr=1d.0,multifunction=on,masterbus=ehci.0,firstport=0 -device ich9-usb-uhci2,id=uhci-2,addr=1d.1,multifunction=on,masterbus=ehci.0,firstport=2 -device ich9-usb-uhci3,id=uhci-3,addr=1d.2,multifunction=on,masterbus=ehci.0,firstport=4 -drive if=none,id=vm,format=raw,file=$VM -device virtio-blk-pci,id=vmvirt1,drive=vm,bootindex=1 -virtfs local,security_model=none,id=host-all,mount_tag=host-all,path=/storage/emulated/0 -virtfs local,security_model=none,id=termux,mount_tag=termux,path=/data/data/com.termux/files -virtfs local,security_model=none,id=host,mount_tag=host,path=/storage/emulated/0/Download/usb1 -device virtio-serial -device e1000,netdev=net0,mac=52:54:12:34:56:78 -netdev user,id=net0,ipv6=off,hostfwd=tcp:127.0.0.1:9080-:80,hostfwd=tcp:127.0.0.1:9022-:22,hostfwd=tcp:127.0.0.1:9445-:445,hostfwd=:127.0.0.1:50021-:21,hostfwd=:127.0.0.1:50001-:50001,hostfwd=:127.0.0.1:50002-:50002,hostfwd=:127.0.0.1:50003-:50003,hostfwd=:127.0.0.1:50004-:50004,hostfwd=:127.0.0.1:50005-:50005,hostfwd=:127.0.0.1:50006-:50006,hostfwd=:127.0.0.1:50007-:50007,hostfwd=:127.0.0.1:50008-:50008,hostfwd=:127.0.0.1:50009-:50009,hostfwd=:127.0.0.1:50010-:50010,hostfwd=:127.0.0.1:50011-:50011,hostfwd=:127.0.0.1:50012-:50012,hostfwd=:127.0.0.1:50013-:50013,hostfwd=:127.0.0.1:50014-:50014,hostfwd=:127.0.0.1:50015-:50015,hostfwd=:127.0.0.1:50016-:50016,hostfwd=:127.0.0.1:50017-:50017,hostfwd=:127.0.0.1:50018-:50018,hostfwd=:127.0.0.1:50019-:50019,hostfwd=:127.0.0.1:50020-:50020 Welcome to Alpine Linux 3.19 Kernel 6.6.31-0-virt on an x86_64 (/dev/ttyS0) localhost login:

From The termux Session:

Session Note-3: Backup vmtest again

~/termux-qemu-usb $ ~/termux-qemu-usb $ ssh root@127.0.0.1 -p 9022 The authenticity of host '[127.0.0.1]:9022 ([127.0.0.1]:9022)' can't be established. ED25519 key fingerprint is SHA256:pTaQOdYI7fiw+AqwT5EFkm6JM4GqqaRafdfeIoiIu5g. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[127.0.0.1]:9022' (ED25519) to the list of known hosts. root@127.0.0.1's password: Welcome to Alpine! The Alpine Wiki contains a large amount of how-to guides and general information about administrating Alpine systems. See <https://wiki.alpinelinux.org/>. You can setup the system with the command: setup-alpine You may change this message by editing /etc/motd. localhost:~# localhost:~# mkdir -p /media/host /media/termux /media/usb1 /media/usb2 /media/usb3 /media/usb4 localhost:~# localhost:~# mount -t 9p -o trans=virtio,version=9p2000.L,msize=1048576 host /media/host localhost:~# localhost:~# mount -t 9p -o trans=virtio,version=9p2000.L,msize=1048576 termux /media/termux localhost:~# localhost:~# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 10M 0 10M 0% /dev shm 721M 0 721M 0% /dev/shm /dev/vda3 1.9G 135M 1.7G 8% / tmpfs 289M 128K 289M 1% /run /dev/vda1 272M 24M 230M 10% /boot tmpfs 721M 0 721M 0% /tmp host 117G 107G 8.6G 93% /media/host termux 24G 17G 6.7G 72% /media/termux localhost:~# localhost:~# cat /media/termux/home/add-packages.sh apk add libpwquality linux-virt libpwquality-doc zstd zstd-doc pwgen sfdisk dos2unix gptfdisk sgdisk parted zfs zfs-doc btrfs-progs btrfs-progs-extra btrbk btrfs-progs-doc rpm cifs-utils perl perl-digest-sha3 perl-utils perl-doc miniperl perl-dev bash-doc haveged davfs2 f2fs-tools f2fs-tools-doc jfsutils xfsprogs xfsprogs-extra xfsprogs-doc lsof-doc cpio whois unzip mount umount libarchive-tools libarchive-doc binutils binutils-doc sudo sshfs sharutils file apk-tools apk-tools-doc mandoc man-pages mandoc-apropos docs hdparm util-linux-misc util-linux-login fuse fuse-exfat fuse-exfat-utils fuse-exfat-doc nfs-utils less smartmontools grep gawk sed utmps udisks2 udisks2-doc procps-ng findutils ntfs-3g ntfs-3g-progs xz zip 7zip lvm2 mkinitfs grub grub-efi efibootmgr syslinux net-tools archivemount darkhttpd vsftpd vsftpd-doc socat curl ncurses shadow abuild samba apache2 apache2-doc apache2-webdav apache2-utils apache2-ctl apache2-brotli apache2-dev apache2-error apache2-http2 apache2-icons apache2-ldap apache2-lua apache2-proxy apache2-proxy-html apache2-ssl nginx nginx-mod-http-fancyindex nginx-mod-http-upload nginx-mod-http-upload-progress nginx-debug nginx-doc nginx-mod-devel-kit nginx-mod-http-accounting nginx-mod-http-array-var nginx-mod-http-auth-jwt nginx-mod-http-brotli nginx-mod-http-cache-purge nginx-mod-http-cookie-flag nginx-mod-http-dav-ext nginx-mod-http-echo nginx-mod-http-encrypted-session nginx-mod-http-geoip nginx-mod-http-geoip2 nginx-mod-http-headers-more nginx-mod-http-image-filter nginx-mod-http-js nginx-mod-http-keyval nginx-mod-http-log-zmq nginx-mod-http-lua nginx-mod-http-lua-upstream nginx-mod-http-naxsi nginx-mod-http-nchan nginx-mod-http-perl nginx-mod-http-redis2 nginx-mod-http-set-misc nginx-mod-http-shibboleth nginx-mod-http-untar nginx-mod-http-upstream-fair nginx-mod-http-upstream-jdomain nginx-mod-http-vod nginx-mod-http-vts nginx-mod-http-xslt-filter nginx-mod-http-zip nginx-mod-mail nginx-mod-rtmp nginx-mod-stream nginx-mod-stream-geoip nginx-mod-stream-geoip2 nginx-mod-stream-js nginx-mod-stream-keyval nginx-vim rng-tools cryptsetup coreutils util-linux e2fsprogs e2fsprogs-extra bash vim nano dosfstools tar usbutils iproute2 iproute2-ss pciutils ethtool wget lsof hwdata localhost:~# /media/termux/home/add-packages.sh (1/492) Installing libgcc (13.2.1_git20231014-r0) (2/492) Installing libstdc++ (13.2.1_git20231014-r0) (3/492) Installing 7zip (23.01-r0) (4/492) Installing attr (2.5.1-r5) (5/492) Installing libcap-getcap (2.69-r1) (6/492) Installing fakeroot (1.32.1-r0) (7/492) Installing lzip (1.23-r1) (8/492) Installing patch (2.7.6-r10) (9/492) Installing ca-certificates (20240226-r0) (10/492) Installing brotli-libs (1.1.0-r1) (11/492) Installing c-ares (1.27.0-r0) (12/492) Installing nghttp2-libs (1.58.0-r0) (13/492) Installing libcurl (8.5.0-r0) (14/492) Installing curl (8.5.0-r0) (15/492) Installing abuild (3.12.0-r0) Executing abuild-3.12.0-r0.pre-install (16/492) Installing apr (1.7.4-r0) (17/492) Installing libexpat (2.6.2-r0) (18/492) Installing apr-util (1.6.3-r1) (19/492) Installing apache2 (2.4.59-r0) Executing apache2-2.4.59-r0.pre-install (20/492) Installing apache2-openrc (2.4.59-r0) (21/492) Installing apache2-brotli (2.4.59-r0) (22/492) Installing less (643-r2) (23/492) Installing gzip (1.13-r0) (24/492) Installing libintl (0.22.3-r0) (25/492) Installing lynx (2.8.9_p1-r9) (26/492) Installing apache2-ctl (2.4.59-r0) (27/492) Installing libbz2 (1.0.8-r6) (28/492) Installing perl (5.38.2-r0) (29/492) Installing expat (2.6.2-r0) (30/492) Installing expat-dev (2.6.2-r0) (31/492) Installing gdbm (1.23-r1) (32/492) Installing gdbm-tools (1.23-r1) (33/492) Installing gdbm-dev (1.23-r1) (34/492) Installing libpq (16.3-r0) (35/492) Installing openssl-dev (3.1.5-r0) (36/492) Installing libpq-dev (16.3-r0) (37/492) Installing fmt (10.1.1-r0) (38/492) Installing fmt-dev (10.1.1-r0) (39/492) Installing zlib-dev (1.3.1-r0) (40/492) Installing mariadb-connector-c (3.3.8-r0) (41/492) Installing mariadb-connector-c-dev (3.3.8-r0) (42/492) Installing mariadb-common (10.11.6-r0) (43/492) Installing libaio (0.3.113-r2) (44/492) Installing mariadb-embedded (10.11.6-r0) (45/492) Installing mariadb-dev (10.11.6-r0) (46/492) Installing libsasl (2.1.28-r5) (47/492) Installing cyrus-sasl-dev (2.1.28-r5) (48/492) Installing libffi (3.4.4-r3) (49/492) Installing mpdecimal (2.5.1-r2) (50/492) Installing libpanelw (6.4_p20231125-r0) (51/492) Installing sqlite-libs (3.44.2-r0) (52/492) Installing python3 (3.11.9-r0) (53/492) Installing python3-pycache-pyc0 (3.11.9-r0) (54/492) Installing pyc (3.11.9-r0) (55/492) Installing python3-pyc (3.11.9-r0) (56/492) Installing libevent (2.1.12-r7) (57/492) Installing libevent-dev (2.1.12-r7) (58/492) Installing libsodium (1.0.19-r0) (59/492) Installing libsodium-dev (1.0.19-r0) (60/492) Installing util-linux-dev (2.39.3-r0) (61/492) Installing libldap (2.6.6-r1) (62/492) Installing openldap-dev (2.6.6-r1) (63/492) Installing sqlite (3.44.2-r0) (64/492) Installing sqlite-dev (3.44.2-r0) (65/492) Installing apr-dev (1.7.4-r0) (66/492) Installing apr-util-dev (1.6.3-r1) (67/492) Installing apache2-dev (2.4.59-r0) (68/492) Installing apache2-doc (2.4.59-r0) (69/492) Installing apache2-error (2.4.59-r0) (70/492) Installing apache2-http2 (2.4.59-r0) (71/492) Installing apache2-icons (2.4.59-r0) (72/492) Installing apr-util-ldap (1.6.3-r1) (73/492) Installing apache2-ldap (2.4.59-r0) (74/492) Installing lua5.1-libs (5.1.5-r13) (75/492) Installing apache2-lua (2.4.59-r0) (76/492) Installing apache2-proxy (2.4.59-r0) (77/492) Installing libxml2 (2.11.8-r0) (78/492) Installing apache2-proxy-html (2.4.59-r0) (79/492) Installing apache2-ssl (2.4.59-r0) Executing apache2-ssl-2.4.59-r0.post-install (80/492) Installing apache2-utils (2.4.59-r0) (81/492) Installing apache2-webdav (2.4.59-r0) (82/492) Installing apk-tools-doc (2.14.4-r0) (83/492) Installing lz4-libs (1.9.4-r5) (84/492) Installing libarchive (3.7.4-r0) (85/492) Installing fuse-common (3.16.2-r0) (86/492) Installing fuse-openrc (3.16.2-r0) (87/492) Installing fuse (2.9.9-r5) (88/492) Installing archivemount (0.9.1-r2) (89/492) Installing bash-doc (5.2.21-r0) (90/492) Installing jansson (2.14-r4) (91/492) Installing binutils (2.41-r0) (92/492) Installing binutils-doc (2.41-r0) (93/492) Installing lzo (2.10-r5) (94/492) Installing btrfs-progs (6.6.2-r0) (95/492) Installing btrfs-progs-openrc (6.6.2-r0) (96/492) Installing btrbk (0.32.6-r0) (97/492) Installing btrfs-progs-doc (6.6.2-r0) (98/492) Installing btrfs-progs-extra (6.6.2-r0) (99/492) Installing krb5-conf (1.0-r2) (100/492) Installing keyutils-libs (1.6.3-r3) (101/492) Installing libverto (0.3.2-r2) (102/492) Installing krb5-libs (1.21.2-r0) (103/492) Installing talloc (2.4.2-r0) (104/492) Installing libwbclient (4.18.9-r0) (105/492) Installing cifs-utils (7.0-r2) (106/492) Installing cpio (2.14-r0) (107/492) Installing darkhttpd (1.14-r1) Executing darkhttpd-1.14-r1.pre-install (108/492) Installing darkhttpd-openrc (1.14-r1) (109/492) Installing neon (0.32.5-r2) (110/492) Installing davfs2 (1.6.1-r2) Executing davfs2-1.6.1-r2.pre-install (111/492) Installing mandoc (1.14.6-r12) (112/492) Installing mandoc-doc (1.14.6-r12) (113/492) Installing man-pages (6.05.01-r0) (114/492) Installing docs (0.2-r6) (115/492) Installing lzo-doc (2.10-r5) (116/492) Installing lynx-doc (2.8.9_p1-r9) (117/492) Installing less-doc (643-r2) (118/492) Installing busybox-doc (1.36.1-r18) (119/492) Installing davfs2-doc (1.6.1-r2) (120/492) Installing cifs-utils-doc (7.0-r2) (121/492) Installing fmt-doc (10.1.1-r0) (122/492) Installing attr-doc (2.5.1-r5) (123/492) Installing libffi-doc (3.4.4-r3) (124/492) Installing gzip-doc (1.13-r0) (125/492) Installing popt-doc (1.19-r3) (126/492) Installing abuild-doc (3.12.0-r0) (127/492) Installing mpdecimal-doc (2.5.1-r2) (128/492) Installing gdbm-doc (1.23-r1) (129/492) Installing 7zip-doc (23.01-r0) (130/492) Installing ca-certificates-doc (20240226-r0) (131/492) Installing fuse-doc (2.9.9-r5) (132/492) Installing libarchive-doc (3.7.4-r0) (133/492) Installing acct-doc (6.6.4-r2) (134/492) Installing openssl-doc (3.1.5-r0) (135/492) Installing pkgconf-doc (2.1.0-r0) (136/492) Installing libaio-doc (0.3.113-r2) (137/492) Installing openrc-doc (0.52.1-r2) (138/492) Installing pcre2-doc (10.42-r2) (139/492) Installing coreutils-doc (9.4-r2) (140/492) Installing talloc-doc (2.4.2-r0) (141/492) Installing sqlite-doc (3.44.2-r0) (142/492) Installing tar-doc (1.35-r2) (143/492) Installing cryptsetup-doc (2.6.1-r8) (144/492) Installing libxml2-doc (2.11.8-r0) (145/492) Installing patch-doc (2.7.6-r10) (146/492) Installing neon-doc (0.32.5-r2) (147/492) Installing ifupdown-ng-doc (0.12.1-r4) (148/492) Installing expat-doc (2.6.2-r0) (149/492) Installing cpio-doc (2.14-r0) (150/492) Installing archivemount-doc (0.9.1-r2) (151/492) Installing skalibs-doc (2.14.0.1-r0) (152/492) Installing libidn2-doc (2.3.4-r4) (153/492) Installing lzip-doc (1.23-r1) (154/492) Installing perl-doc (5.38.2-r0) (155/492) Installing zlib-doc (1.3.1-r0) (156/492) Installing btrbk-doc (0.32.6-r0) (157/492) Installing readline-doc (8.2.1-r2) (158/492) Installing curl-doc (8.5.0-r0) (159/492) Installing python3-doc (3.11.9-r0) (160/492) Installing c-ares-doc (1.27.0-r0) (161/492) Installing fakeroot-doc (1.32.1-r0) (162/492) Installing libunistring-doc (1.1-r2) (163/492) Installing json-c-doc (0.17-r0) (164/492) Installing dos2unix (7.5.1-r0) (165/492) Installing dos2unix-doc (7.5.1-r0) (166/492) Installing dosfstools-doc (4.2-r2) (167/492) Installing e2fsprogs-doc (1.47.0-r5) (168/492) Installing efivar-libs (38-r4) (169/492) Installing efibootmgr (18-r2) (170/492) Installing efibootmgr-doc (18-r2) (171/492) Installing ethtool-doc (6.6-r0) (172/492) Installing f2fs-tools-libs (1.16.0-r3) (173/492) Installing f2fs-tools (1.16.0-r3) (174/492) Installing f2fs-tools-doc (1.16.0-r3) (175/492) Installing libmagic (5.45-r1) (176/492) Installing file (5.45-r1) (177/492) Installing file-doc (5.45-r1) (178/492) Installing findutils (4.9.0-r5) (179/492) Installing findutils-doc (4.9.0-r5) (180/492) Installing fuse3-libs (3.16.2-r0) (181/492) Installing fuse-exfat (1.4.0-r1) (182/492) Installing fuse-exfat-doc (1.4.0-r1) (183/492) Installing fuse-exfat-utils (1.4.0-r1) (184/492) Installing gawk (5.3.0-r0) (185/492) Installing gawk-doc (5.3.0-r0) (186/492) Installing gptfdisk (1.0.9-r4) (187/492) Installing gptfdisk-doc (1.0.9-r4) (188/492) Installing grep (3.11-r0) (189/492) Installing grep-doc (3.11-r0) (190/492) Installing kmod-doc (31-r2) (191/492) Installing mkinitfs-doc (3.9.1-r0) (192/492) Installing grub (2.06-r17) (193/492) Installing grub-doc (2.06-r17) (194/492) Installing grub-efi (2.06-r17) (195/492) Installing haveged (1.9.18-r2) (196/492) Installing haveged-openrc (1.9.18-r2) (197/492) Installing haveged-doc (1.9.18-r2) (198/492) Installing hdparm (9.65-r2) (199/492) Installing hdparm-doc (9.65-r2) (200/492) Installing iproute2-doc (6.6.0-r0) (201/492) Installing jfsutils (1.1.15-r7) (202/492) Installing jfsutils-doc (1.1.15-r7) (203/492) Installing libarchive-tools (3.7.4-r0) (204/492) Installing cracklib-words (2.9.11-r6) (205/492) Installing cracklib (2.9.11-r6) (206/492) Installing cracklib-doc (2.9.11-r6) (207/492) Installing linux-pam-doc (1.5.3-r7) (208/492) Installing libpwquality (1.4.5-r1) (209/492) Installing libpwquality-doc (1.4.5-r1) (210/492) Installing lsof-doc (4.99.0-r0) (211/492) Installing device-mapper-event-libs (2.03.23-r0) (212/492) Installing lvm2-libs (2.03.23-r0) (213/492) Installing lvm2 (2.03.23-r0) (214/492) Installing lvm2-openrc (2.03.23-r0) (215/492) Installing lvm2-doc (2.03.23-r0) (216/492) Installing mandoc-apropos (1.14.6-r12) (217/492) Installing miniperl (5.38.2-r0) (218/492) Installing nano-doc (7.2-r1) (219/492) Installing ncurses (6.4_p20231125-r0) (220/492) Installing ncurses-doc (6.4_p20231125-r0) (221/492) Installing mii-tool (2.10-r3) (222/492) Installing net-tools (2.10-r3) (223/492) Installing net-tools-doc (2.10-r3) (224/492) Installing libtirpc-conf (1.3.4-r0) (225/492) Installing libtirpc (1.3.4-r0) (226/492) Installing libtirpc-doc (1.3.4-r0) (227/492) Installing rpcbind (1.2.6-r2) Executing rpcbind-1.2.6-r2.pre-install (228/492) Installing rpcbind-doc (1.2.6-r2) (229/492) Installing rpcbind-openrc (1.2.6-r2) (230/492) Installing libnfsidmap (2.6.4-r0) (231/492) Installing nfs-utils (2.6.4-r0) (232/492) Installing nfs-utils-doc (2.6.4-r0) (233/492) Installing nfs-utils-openrc (2.6.4-r0) (234/492) Installing pcre (8.45-r3) (235/492) Installing pcre-doc (8.45-r3) (236/492) Installing nginx (1.24.0-r16) Executing nginx-1.24.0-r16.pre-install Executing nginx-1.24.0-r16.post-install (237/492) Installing nginx-openrc (1.24.0-r16) (238/492) Installing nginx-doc (1.24.0-r16) (239/492) Installing nginx-debug (1.24.0-r16) (240/492) Installing nginx-mod-devel-kit (1.24.0-r16) (241/492) Installing nginx-mod-http-accounting (1.24.0-r16) (242/492) Installing nginx-mod-http-array-var (1.24.0-r16) (243/492) Installing nginx-mod-http-auth-jwt (1.24.0-r16) (244/492) Installing nginx-mod-http-brotli (1.24.0-r16) (245/492) Installing nginx-mod-http-cache-purge (1.24.0-r16) (246/492) Installing nginx-mod-http-cookie-flag (1.24.0-r16) (247/492) Installing nginx-mod-http-dav-ext (1.24.0-r16) (248/492) Installing nginx-mod-http-echo (1.24.0-r16) (249/492) Installing nginx-mod-http-encrypted-session (1.24.0-r16) (250/492) Installing nginx-mod-http-fancyindex (1.24.0-r16) (251/492) Installing geoip (1.6.12-r5) (252/492) Installing geoip-doc (1.6.12-r5) (253/492) Installing nginx-mod-http-geoip (1.24.0-r16) (254/492) Installing libmaxminddb-libs (1.7.1-r2) (255/492) Installing nginx-mod-http-geoip2 (1.24.0-r16) (256/492) Installing nginx-mod-http-headers-more (1.24.0-r16) (257/492) Installing libxau (1.0.11-r3) (258/492) Installing libxau-doc (1.0.11-r3) (259/492) Installing libmd (1.1.0-r0) (260/492) Installing libmd-doc (1.1.0-r0) (261/492) Installing libbsd (0.11.7-r3) (262/492) Installing libbsd-doc (0.11.7-r3) (263/492) Installing libxdmcp (1.1.4-r3) (264/492) Installing libxdmcp-doc (1.1.4-r3) (265/492) Installing libxcb (1.16-r0) (266/492) Installing libxcb-doc (1.16-r0) (267/492) Installing libx11 (1.8.7-r0) (268/492) Installing libx11-doc (1.8.7-r0) (269/492) Installing libxext (1.3.5-r3) (270/492) Installing libxext-doc (1.3.5-r3) (271/492) Installing libice (1.1.1-r5) (272/492) Installing libice-doc (1.1.1-r5) (273/492) Installing libsm (1.2.4-r3) (274/492) Installing libsm-doc (1.2.4-r3) (275/492) Installing libxt (1.3.0-r4) (276/492) Installing libxt-doc (1.3.0-r4) (277/492) Installing libxpm (3.5.17-r0) (278/492) Installing libxpm-doc (3.5.17-r0) (279/492) Installing aom-libs (3.7.1-r0) (280/492) Installing libdav1d (1.3.0-r1) (281/492) Installing libsharpyuv (1.3.2-r0) (282/492) Installing libavif (1.0.3-r0) (283/492) Installing libpng (1.6.40-r0) (284/492) Installing libpng-doc (1.6.40-r0) (285/492) Installing freetype (2.13.2-r0) (286/492) Installing freetype-doc (2.13.2-r0) (287/492) Installing fontconfig (2.14.2-r4) (288/492) Installing fontconfig-doc (2.14.2-r4) (289/492) Installing libjpeg-turbo (3.0.1-r0) (290/492) Installing libjpeg-turbo-doc (3.0.1-r0) (291/492) Installing libwebp (1.3.2-r0) (292/492) Installing libwebp-doc (1.3.2-r0) (293/492) Installing tiff (4.6.0-r0) (294/492) Installing tiff-doc (4.6.0-r0) (295/492) Installing libgd (2.3.3-r8) (296/492) Installing nginx-mod-http-image-filter (1.24.0-r16) (297/492) Installing nginx-mod-http-js (1.24.0-r16) (298/492) Installing hiredis (1.2.0-r0) (299/492) Installing nginx-mod-http-keyval (1.24.0-r16) (300/492) Installing nginx-mod-http-log-zmq (1.24.0-r16) (301/492) Installing luajit (2.1_p20230410-r3) (302/492) Installing luajit-doc (2.1_p20230410-r3) (303/492) Installing lua-resty-lrucache (0.13-r1) (304/492) Installing lua-resty-core (0.1.27-r0) (305/492) Installing nginx-mod-http-lua (1.24.0-r16) (306/492) Installing nginx-mod-http-lua-upstream (1.24.0-r16) (307/492) Installing nginx-mod-http-naxsi (1.24.0-r16) (308/492) Installing nginx-mod-http-nchan (1.24.0-r16) (309/492) Installing nginx-mod-http-perl (1.24.0-r16) (310/492) Installing nginx-mod-http-redis2 (1.24.0-r16) (311/492) Installing nginx-mod-http-set-misc (1.24.0-r16) (312/492) Installing nginx-mod-http-shibboleth (1.24.0-r16) (313/492) Installing nginx-mod-http-untar (1.24.0-r16) (314/492) Installing nginx-mod-http-upload (1.24.0-r16) (315/492) Installing nginx-mod-http-upload-progress (1.24.0-r16) (316/492) Installing nginx-mod-http-upstream-fair (1.24.0-r16) (317/492) Installing nginx-mod-http-upstream-jdomain (1.24.0-r16) (318/492) Installing nginx-mod-http-vod (1.24.0-r16) (319/492) Installing nginx-mod-http-vts (1.24.0-r16) (320/492) Installing libgpg-error (1.47-r2) (321/492) Installing libgpg-error-doc (1.47-r2) (322/492) Installing libgcrypt (1.10.3-r0) (323/492) Installing libgcrypt-doc (1.10.3-r0) (324/492) Installing libxslt (1.1.39-r0) (325/492) Installing libxslt-doc (1.1.39-r0) (326/492) Installing nginx-mod-http-xslt-filter (1.24.0-r16) (327/492) Installing nginx-mod-http-zip (1.24.0-r16) (328/492) Installing nginx-mod-mail (1.24.0-r16) (329/492) Installing nginx-mod-rtmp (1.24.0-r16) (330/492) Installing nginx-mod-stream (1.24.0-r16) (331/492) Installing nginx-mod-stream-geoip (1.24.0-r16) (332/492) Installing nginx-mod-stream-geoip2 (1.24.0-r16) (333/492) Installing nginx-mod-stream-js (1.24.0-r16) (334/492) Installing nginx-mod-stream-keyval (1.24.0-r16) (335/492) Installing nginx-vim (1.24.0-r16) (336/492) Installing ntfs-3g-libs (2022.10.3-r3) (337/492) Installing ntfs-3g (2022.10.3-r3) (338/492) Installing ntfs-3g-doc (2022.10.3-r3) (339/492) Installing ntfs-3g-progs (2022.10.3-r3) (340/492) Installing libedit-doc (20230828.3.1-r3) (341/492) Installing openssh-doc (9.6_p1-r0) (342/492) Installing parted (3.6-r2) (343/492) Installing parted-doc (3.6-r2) (344/492) Installing pciutils-doc (3.10.0-r0) (345/492) Installing perl-utils (5.38.2-r0) (346/492) Installing perl-dev (5.38.2-r0) (347/492) Installing perl-digest-sha3 (1.05-r1) (348/492) Installing perl-digest-sha3-doc (1.05-r1) (349/492) Installing libproc2 (4.0.4-r0) (350/492) Installing procps-ng (4.0.4-r0) (351/492) Installing procps-ng-doc (4.0.4-r0) (352/492) Installing pwgen (2.08-r3) (353/492) Installing pwgen-doc (2.08-r3) (354/492) Installing jitterentropy-library-doc (3.4.1-r0) (355/492) Installing rng-tools-doc (6.16-r3) (356/492) Installing musl-fts (1.2.7-r6) (357/492) Installing libdw (0.190-r1) (358/492) Installing libgomp (13.2.1_git20231014-r0) (359/492) Installing lua5.4-libs (5.4.6-r1) (360/492) Installing rpm (4.19.0-r0) (361/492) Installing rpm-doc (4.19.0-r0) (362/492) Installing samba-common (4.18.9-r0) (363/492) Installing gmp (6.3.0-r0) (364/492) Installing gmp-doc (6.3.0-r0) (365/492) Installing nettle (3.9.1-r0) (366/492) Installing libtasn1 (4.19.0-r2) (367/492) Installing libtasn1-doc (4.19.0-r2) (368/492) Installing p11-kit (0.25.3-r0) (369/492) Installing p11-kit-doc (0.25.3-r0) (370/492) Installing gnutls (3.8.4-r0) (371/492) Installing gnutls-doc (3.8.4-r0) (372/492) Installing tevent (0.15.0-r0) (373/492) Installing samba-util-libs (4.18.9-r0) (374/492) Installing lmdb (0.9.31-r0) (375/492) Installing lmdb-doc (0.9.31-r0) (376/492) Installing tdb-libs (1.4.9-r0) (377/492) Installing ldb (2.7.2-r1) (378/492) Installing ldb-doc (2.7.2-r1) (379/492) Installing samba-libs (4.18.9-r0) (380/492) Installing dbus-libs (1.14.10-r0) (381/492) Installing avahi-libs (0.8-r16) (382/492) Installing samba-common-server-libs (4.18.9-r0) (383/492) Installing samba-client-libs (4.18.9-r0) (384/492) Installing cups-libs (2.4.7-r0) (385/492) Installing liburing (2.5-r1) (386/492) Installing liburing-doc (2.5-r1) (387/492) Installing samba-server (4.18.9-r0) (388/492) Installing samba-server-openrc (4.18.9-r0) (389/492) Installing libformw (6.4_p20231125-r0) (390/492) Installing libsmbclient (4.18.9-r0) (391/492) Installing samba-client (4.18.9-r0) (392/492) Installing samba-common-tools (4.18.9-r0) (393/492) Installing samba (4.18.9-r0) (394/492) Installing samba-doc (4.18.9-r0) (395/492) Installing sed (4.9-r2) (396/492) Installing sed-doc (4.9-r2) (397/492) Installing sgdisk (1.0.9-r4) (398/492) Installing shadow (4.14.2-r0) (399/492) Installing shadow-doc (4.14.2-r0) (400/492) Installing bzip2 (1.0.8-r6) (401/492) Installing bzip2-doc (1.0.8-r6) (402/492) Installing xz (5.4.5-r0) (403/492) Installing xz-doc (5.4.5-r0) (404/492) Installing sharutils (4.15.2-r5) (405/492) Installing sharutils-doc (4.15.2-r5) (406/492) Installing smartmontools (7.4-r1) (407/492) Installing smartmontools-openrc (7.4-r1) (408/492) Installing smartmontools-doc (7.4-r1) (409/492) Installing socat (1.8.0.0-r0) (410/492) Installing socat-doc (1.8.0.0-r0) (411/492) Installing fuse3 (3.16.2-r0) (412/492) Installing fuse3-doc (3.16.2-r0) (413/492) Installing glib (2.78.6-r0) (414/492) Installing glib-doc (2.78.6-r0) (415/492) Installing sshfs (3.7.3-r1) (416/492) Installing sshfs-doc (3.7.3-r1) (417/492) Installing sudo (1.9.15_p2-r0) (418/492) Installing sudo-doc (1.9.15_p2-r0) (419/492) Installing mtools-doc (4.0.43-r1) (420/492) Installing syslinux-doc (6.04_pre1-r15) (421/492) Installing dbus (1.14.10-r0) Executing dbus-1.14.10-r0.pre-install Executing dbus-1.14.10-r0.post-install (422/492) Installing dbus-doc (1.14.10-r0) (423/492) Installing dbus-openrc (1.14.10-r0) (424/492) Installing dbus-daemon-launch-helper (1.14.10-r0) (425/492) Installing libatasmart (0.19-r3) (426/492) Installing libatasmart-doc (0.19-r3) (427/492) Installing mpfr4 (4.2.1-r0) (428/492) Installing mpfr4-doc (4.2.1-r0) (429/492) Installing libbytesize (2.10-r2) (430/492) Installing libbytesize-doc (2.10-r2) (431/492) Installing ndctl-libs (78-r1) (432/492) Installing nspr (4.35-r4) (433/492) Installing nss (3.99-r0) (434/492) Installing libnvme (1.6-r0) (435/492) Installing libassuan (2.5.6-r1) (436/492) Installing libassuan-doc (2.5.6-r1) (437/492) Installing pinentry (1.2.1-r1) Executing pinentry-1.2.1-r1.post-install (438/492) Installing pinentry-doc (1.2.1-r1) (439/492) Installing gnupg-gpgconf (2.4.4-r0) (440/492) Installing libksba (1.6.5-r0) (441/492) Installing libksba-doc (1.6.5-r0) (442/492) Installing npth (1.6-r4) (443/492) Installing gnupg-dirmngr (2.4.4-r0) (444/492) Installing gnupg-keyboxd (2.4.4-r0) (445/492) Installing gpg (2.4.4-r0) (446/492) Installing gpg-agent (2.4.4-r0) (447/492) Installing gpgsm (2.4.4-r0) (448/492) Installing gpgme (1.23.2-r0) (449/492) Installing gpgme-doc (1.23.2-r0) (450/492) Installing volume_key (0.3.12-r6) (451/492) Installing volume_key-doc (0.3.12-r6) (452/492) Installing libblockdev (3.0.4-r0) (453/492) Installing libgudev (238-r0) (454/492) Installing polkit-noelogind-libs (123-r0) (455/492) Installing udisks2-libs (2.10.1-r0) (456/492) Installing udisks2 (2.10.1-r0) (457/492) Installing udisks2-doc (2.10.1-r0) (458/492) Installing unzip (6.0-r14) (459/492) Installing unzip-doc (6.0-r14) (460/492) Installing eudev-doc (3.2.14-r0) (461/492) Installing usbutils-doc (017-r0) (462/492) Installing libeconf-doc (0.5.2-r2) (463/492) Installing util-linux-doc (2.39.3-r0) (464/492) Installing libcap-ng-doc (0.8.3-r4) (465/492) Installing util-linux-login (2.39.3-r0) (466/492) Installing util-linux-login-doc (2.39.3-r0) (467/492) Installing s6-ipcserver (2.12.0.2-r0) (468/492) Installing utmps (0.1.2.2-r0) Executing utmps-0.1.2.2-r0.pre-install (469/492) Installing utmps-doc (0.1.2.2-r0) (470/492) Installing utmps-openrc (0.1.2.2-r0) (471/492) Installing vim-doc (9.0.2127-r0) (472/492) Installing vsftpd (3.0.5-r2) Executing vsftpd-3.0.5-r2.pre-install (473/492) Installing vsftpd-doc (3.0.5-r2) (474/492) Installing vsftpd-openrc (3.0.5-r2) (475/492) Installing wget-doc (1.21.4-r0) (476/492) Installing whois (5.5.20-r0) (477/492) Installing whois-doc (5.5.20-r0) (478/492) Installing inih (57-r1) (479/492) Installing userspace-rcu (0.14.0-r2) (480/492) Installing userspace-rcu-doc (0.14.0-r2) (481/492) Installing xfsprogs (6.5.0-r0) (482/492) Installing xfsprogs-doc (6.5.0-r0) (483/492) Installing xfsprogs-extra (6.5.0-r0) (484/492) Installing zfs-libs (2.2.2-r0) (485/492) Installing zfs (2.2.2-r0) (486/492) Installing zfs-doc (2.2.2-r0) (487/492) Installing zfs-openrc (2.2.2-r0) (488/492) Installing zfs-virt (6.6.31-r0) (489/492) Installing zip (3.0-r12) (490/492) Installing zip-doc (3.0-r12) (491/492) Installing zstd (1.5.5-r8) (492/492) Installing zstd-doc (1.5.5-r8) Executing busybox-1.36.1-r18.trigger Executing ca-certificates-20240226-r0.trigger Executing kmod-31-r2.trigger Executing mkinitfs-3.9.1-r0.trigger ==> initramfs: creating /boot/initramfs-virt for 6.6.31-0-virt Executing grub-2.06-r17.trigger Generating grub configuration file ... Found linux image: /boot/vmlinuz-virt Found initrd image: /boot/initramfs-virt Warning: os-prober will not be executed to detect other bootable partitions. Systems on them will not be added to the GRUB boot configuration. Check GRUB_DISABLE_OS_PROBER documentation entry. done Executing cracklib-2.9.11-r6.trigger Executing mandoc-apropos-1.14.6-r12.trigger Executing glib-2.78.6-r0.trigger Executing dbus-1.14.10-r0.trigger Executing eudev-3.2.14-r0.trigger OK: 649 MiB in 637 packages localhost:~# localhost:~# chsh --shell /bin/bash root localhost:~# localhost:~# echo 'HISTFILESIZE=1000000' >> /root/.bash_profile localhost:~# echo 'HISTSIZE=1000000' >> /root/.bash_profile localhost:~# localhost:~# exit Connection to 127.0.0.1 closed. ~/termux-qemu-usb $ ~/termux-qemu-usb $ ssh root@127.0.0.1 -p 9022 root@127.0.0.1's password: Welcome to Alpine! The Alpine Wiki contains a large amount of how-to guides and general information about administrating Alpine systems. See <https://wiki.alpinelinux.org/>. You can setup the system with the command: setup-alpine You may change this message by editing /etc/motd. localhost:~# echo $SHELL /bin/bash localhost:~# localhost:~# echo $HISTFILESIZE 1000000 localhost:~# echo $HISTSIZE 1000000 localhost:~# localhost:~# grep default_kernel_opts /etc/update-extlinux.conf # default_kernel_opts default_kernel_opts="quiet rootfstype=ext4" localhost:~# localhost:~# cp -pvi /etc/update-extlinux.conf $HOME '/etc/update-extlinux.conf' -> '/root/update-extlinux.conf' localhost:~# localhost:~# sed -i -e 's/^default_kernel_opts="quiet/default_kernel_opts="console=ttyS0,115200,8n1/' /etc/update-extlinux.conf localhost:~# localhost:~# grep default_kernel_opts /etc/update-extlinux.conf # default_kernel_opts default_kernel_opts="console=ttyS0,115200,8n1 rootfstype=ext4" localhost:~# localhost:~# update-extlinux /boot is device /dev/vda1 localhost:~# localhost:~# cat /etc/modules af_packet ipv6 localhost:~# localhost:~# cp -vip /etc/modules /root '/etc/modules' -> '/root/modules' localhost:~# localhost:~# echo fuse >> /etc/modules localhost:~# localhost:~# cat /etc/modules af_packet ipv6 fuse localhost:~# cp -pvi /etc/vsftpd/vsftpd.conf $HOME '/etc/vsftpd/vsftpd.conf' -> '/root/vsftpd.conf' localhost:~# localhost:~# vi /etc/vsftpd/vsftpd.conf localhost:~# nano /etc/vsftpd/vsftpd.conf

vsftpd FTP Server: Add to /etc/vsftpd/vsftpd.conf

anon_world_readable_only=NO ftp_username=ftp nopriv_user=ftp anon_root=/media seccomp_sandbox=NO pasv_address=127.0.0.1 port_enable=YES pasv_enable=YES pasv_min_port=50001 pasv_max_port=50010 port_promiscuous=YES connect_from_port_20=YES anonymous_enable=YES no_anon_password=YES write_enable=YES anon_other_write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES ls_recurse_enable=YES

localhost:~# rc-update add vsftpd * service vsftpd added to runlevel default localhost:~# localhost:~# rc-status * Caching service dependencies ... [ ok ] Runlevel: default crond [ started ] vsftpd [ stopped ] acpid [ started ] sshd [ started ] Dynamic Runlevel: hotplugged Dynamic Runlevel: needed/wanted sysfs [ started ] udev [ started ] fsck [ started ] root [ started ] localmount [ started ] udev-settle [ started ] Dynamic Runlevel: manual localhost:~# localhost:~# poweroff localhost:~# exit logout Connection to 127.0.0.1 closed. ~/termux-qemu-usb $

From The qemu Session: USB drive connected to the smartphone's USB-C (USB Type-C) 2.0 port

Session Note-4: Start usbredirect before starting qemu-system-x86_64

~/termux-qemu-usb $ QEMU_SOCKET_FILENAME=$HOME/termux-qemu-usb/qemu.socket ; touch $QEMU_SOCKET_FILENAME ; VM=$HOME/termux-qemu-usb/vmtest ; qemu-system-x86_64 -m 1500M -machine q35 -smp 4 -device virtio-rng-pci -device pci-bridge,id=bridge0,chassis_nr=1 -nographic -monitor unix:$QEMU_SOCKET_FILENAME,server,wait=off -serial mon:stdio -device ich9-usb-ehci1,id=ehci,addr=1d.7,multifunction=on -device ich9-usb-uhci1,id=uhci-1,addr=1d.0,multifunction=on,masterbus=ehci.0,firstport=0 -device ich9-usb-uhci2,id=uhci-2,addr=1d.1,multifunction=on,masterbus=ehci.0,firstport=2 -device ich9-usb-uhci3,id=uhci-3,addr=1d.2,multifunction=on,masterbus=ehci.0,firstport=4 -drive if=none,id=vm,format=raw,file=$VM -device virtio-blk-pci,id=vmvirt1,drive=vm,bootindex=1 -virtfs local,security_model=none,id=host-all,mount_tag=host-all,path=/storage/emulated/0 -virtfs local,security_model=none,id=termux,mount_tag=termux,path=/data/data/com.termux/files -virtfs local,security_model=none,id=host,mount_tag=host,path=/storage/emulated/0/Download/usb1 -device virtio-serial -device e1000,netdev=net0,mac=52:54:12:34:56:78 -netdev user,id=net0,ipv6=off,hostfwd=tcp:127.0.0.1:9080-:80,hostfwd=tcp:127.0.0.1:9022-:22,hostfwd=tcp:127.0.0.1:9445-:445,hostfwd=:127.0.0.1:50021-:21,hostfwd=:127.0.0.1:50001-:50001,hostfwd=:127.0.0.1:50002-:50002,hostfwd=:127.0.0.1:50003-:50003,hostfwd=:127.0.0.1:50004-:50004,hostfwd=:127.0.0.1:50005-:50005,hostfwd=:127.0.0.1:50006-:50006,hostfwd=:127.0.0.1:50007-:50007,hostfwd=:127.0.0.1:50008-:50008,hostfwd=:127.0.0.1:50009-:50009,hostfwd=:127.0.0.1:50010-:50010,hostfwd=:127.0.0.1:50011-:50011,hostfwd=:127.0.0.1:50012-:50012,hostfwd=:127.0.0.1:50013-:50013,hostfwd=:127.0.0.1:50014-:50014,hostfwd=:127.0.0.1:50015-:50015,hostfwd=:127.0.0.1:50016-:50016,hostfwd=:127.0.0.1:50017-:50017,hostfwd=:127.0.0.1:50018-:50018,hostfwd=:127.0.0.1:50019-:50019,hostfwd=:127.0.0.1:50020-:50020 -chardev socket,host=127.0.0.1,port=10000,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=3 [ 0.000000] Linux version 6.6.32-0-virt (buildozer@build-3-20-x86_64) (gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309, GNU ld (GNU Binutils) 2.42) #1-Alpine SMP PREEMPT_DYNAMIC Fri, 24 May 2024 10:11:26 +0000 [ 0.000000] Command line: BOOT_IMAGE=vmlinuz-virt root=UUID=ae7bb8b0-5180-432a-80a5-e4a3065e4684 modules=sd-mod,usb-storage,ext4 console=ttyS0,115200,8n1 rootfstype=ext4 initrd=initramfs-virt [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000005dbd7fff] usable [ 0.000000] BIOS-e820: [mem 0x000000005dbd8000-0x000000005dbfffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved [ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved [ 0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] APIC: Static calls initialized [ 0.000000] SMBIOS 2.8 present. [ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.16.2-0-gea1b7a073390-prebuilt.qemu.org 04/01/2014 [ 0.000000] tsc: Fast TSC calibration failed [ 0.000000] last_pfn = 0x5dbd8 max_arch_pfn = 0x400000000 [ 0.000000] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs [ 0.000000] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT [ 0.000000] RAMDISK: [mem 0x5d3eb000-0x5dbd7fff] [ 0.000000] ACPI: Early table checksum verification disabled [ 0.000000] ACPI: RSDP 0x00000000000F5970 000014 (v00 BOCHS ) [ 0.000000] ACPI: RSDT 0x000000005DBE3149 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: FACP 0x000000005DBE2F29 0000F4 (v03 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: DSDT 0x000000005DBE0040 002EE9 (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: FACS 0x000000005DBE0000 000040 [ 0.000000] ACPI: APIC 0x000000005DBE301D 000090 (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: HPET 0x000000005DBE30AD 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: MCFG 0x000000005DBE30E5 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: WAET 0x000000005DBE3121 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001) [ 0.000000] ACPI: Reserving FACP table memory at [mem 0x5dbe2f29-0x5dbe301c] [ 0.000000] ACPI: Reserving DSDT table memory at [mem 0x5dbe0040-0x5dbe2f28] [ 0.000000] ACPI: Reserving FACS table memory at [mem 0x5dbe0000-0x5dbe003f] [ 0.000000] ACPI: Reserving APIC table memory at [mem 0x5dbe301d-0x5dbe30ac] [ 0.000000] ACPI: Reserving HPET table memory at [mem 0x5dbe30ad-0x5dbe30e4] [ 0.000000] ACPI: Reserving MCFG table memory at [mem 0x5dbe30e5-0x5dbe3120] [ 0.000000] ACPI: Reserving WAET table memory at [mem 0x5dbe3121-0x5dbe3148] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000001000-0x0000000000ffffff] [ 0.000000] DMA32 [mem 0x0000000001000000-0x000000005dbd7fff] [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000001000-0x000000000009efff] [ 0.000000] node 0: [mem 0x0000000000100000-0x000000005dbd7fff] [ 0.000000] Initmem setup node 0 [mem 0x000