Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save NoteAfterNote/7a197233de3d60ff1e23ca90ed2f595a to your computer and use it in GitHub Desktop.
Save NoteAfterNote/7a197233de3d60ff1e23ca90ed2f595a to your computer and use it in GitHub Desktop.
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

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 29, 2024


Termux: Enable Wake-Lock


Smartphone Configuration

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

  • Three gigabytes of RAM

  • One USB-C (USB Type-C) 2.0 port

  • Four cores/CPUs

     ~ $ hwinfo --cpu | grep 'Platform' 
       Platform: "MT6761V/WAB"
       Platform: "MT6761V/WAB"
       Platform: "MT6761V/WAB"
       Platform: "MT6761V/WAB"


     ~ $ inxi --machine
     Machine:
       Type: ARM System: MT6761V/WAB rev: N/A


     ~ $ 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

  1. "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)

  2. "Alpine User Handbook": https://docs.alpinelinux.org/user-handbook/0.1a/index.html

  3. 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

      echo 'info chardev' | nc -UN qemu.socket

      echo 'info usb' | nc -UN qemu.socket

      echo 'device_del u1' | 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"

    • 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

    • 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

  1. Alpine Linux: https://alpinelinux.org , https://wiki.alpinelinux.org/wiki/Main_Page , https://wiki.alpinelinux.org , https://alpinelinux.org/downloads/

         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
  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)

  2. The best way to copy files and directories to and from the QEMU Linux Server is by logging in with "ssh root@127.0.0.1 -p 9022" and using the "cp" command ("man cp").


Compile usbredirect: Use "Modified source code: usbredirect.c" 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):

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: Add http://dl-cdn.alpinelinux.org/alpine/v3.20/main and http://dl-cdn.alpinelinux.org/alpine/v3.20/community to /etc/apk/repositories

Session Note-1A: Missing "rc-status ; rc-update add rngd ; rc-service rngd start" after "apk add rng-tools" and before starting setup-alpine

Session Note-1B: chmod u+x add-packages.sh

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/host-all /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 0x0000000000001000-0x000000005dbd7fff]
[    0.000000] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.000000] On node 0, zone DMA: 97 pages in unavailable ranges
[    0.000000] On node 0, zone DMA32: 9256 pages in unavailable ranges
[    0.000000] ACPI: PM-Timer IO Port: 0x608
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])
[    0.000000] IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)
[    0.000000] ACPI: Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.000000] [mem 0x5dc00000-0xafffffff] available for PCI devices
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.000000] setup_percpu: NR_CPUS:256 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] percpu: Embedded 57 pages/cpu s195560 r8192 d29720 u524288
[    0.000000] Kernel 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] Unknown kernel command line parameters "BOOT_IMAGE=vmlinuz-virt modules=sd-mod,usb-storage,ext4", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 377704
[    0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off
[    0.000000] Memory: 1460596K/1535448K available (14336K kernel code, 1799K rwdata, 8232K rodata, 2688K init, 2040K bss, 74592K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Dynamic Preempt: none
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 16640, nr_irqs: 456, preallocated irqs: 16
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] printk: console [ttyS0] enabled
[    0.000000] ACPI: Core revision 20230628
[    0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
[    0.040000] APIC: Switch to symmetric I/O mode setup
[    0.100000] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.190000] tsc: Unable to calibrate against PIT
[    0.190000] tsc: using HPET reference calibration
[    0.200000] tsc: Detected 1000.033 MHz processor
[    0.008014] tsc: Marking TSC unstable due to TSCs unsynchronized
[    0.025292] Calibrating delay loop (skipped), value calculated using timer frequency.. 2000.06 BogoMIPS (lpj=10000330)
[    0.044021] process: using AMD E400 aware idle routine
[    0.047920] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127
[    0.049864] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0
[    0.057207] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.063251] Spectre V2 : Mitigation: Retpolines
[    0.065044] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.067524] Spectre V2 : Spectre v2 / SpectreRSB : Filling RSB on VMEXIT
[    0.104723] x86/fpu: x87 FPU will use FXSAVE
[    1.968068] Freeing SMP alternatives memory: 32K
[    1.982960] pid_max: default: 32768 minimum: 301
[    2.103668] LSM: initializing lsm=lockdown,capability,landlock,integrity
[    2.179701] landlock: Up and running.
[    2.247567] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    2.251860] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    2.841503] smpboot: CPU0: AMD QEMU Virtual CPU version 2.5+ (family: 0xf, model: 0x6b, stepping: 0x1)
[    2.998575] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    3.005625] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    3.017823] Performance Events: PMU not available due to virtualization, using software events only.
[    3.036509] signal: max sigframe size: 1440
[    3.057641] rcu: Hierarchical SRCU implementation.
[    3.059657] rcu: 	Max phase no-delay instances is 1000.
[    3.189412] NMI watchdog: Perf NMI watchdog permanently disabled
[    3.237608] smp: Bringing up secondary CPUs ...
[    3.313150] smpboot: x86: Booting SMP configuration:
[    3.315022] .... node  #0, CPUs:      #1 #2 #3
[    0.000000] calibrate_delay_direct() failed to get a good estimate for loops_per_jiffy.
[    0.000000] Probably due to long platform interrupts. Consider using "lpj=" boot option.
[    4.362811] smp: Brought up 1 node, 4 CPUs
[    4.365568] smpboot: Max logical packages: 1
[    4.369146] ----------------
[    4.370607] | NMI testsuite:
[    4.371836] --------------------
[    4.373744]   remote IPI:
[    4.371503] INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 5.411 msecs
[    4.381503] INFO: NMI handler (nmi_cpu_backtrace_handler) took too long to run: 5.594 msecs
[    4.418585]   ok  |
[    4.420587]    local IPI:  ok  |
[    4.424841] --------------------
[    4.426076] Good, all   2 testcases passed! |
[    4.428313] ---------------------------------
[    4.431721] smpboot: Total of 4 processors activated (8044.39 BogoMIPS)
[    4.798912] devtmpfs: initialized
[    4.893682] x86/mm: Memory block size: 128MB
[    5.103809] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    5.121799] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    5.459814] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    5.534516] audit: initializing netlink subsys (disabled)
[    5.583874] audit: type=2000 audit(1716906943.760:1): state=initialized audit_enabled=0 res=1
[    5.637377] thermal_sys: Registered thermal governor 'step_wise'
[    5.645060] cpuidle: using governor ladder
[    5.652440] cpuidle: using governor menu
[    5.688926] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    5.775494] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xb0000000-0xbfffffff] (base 0xb0000000)
[    5.793521] PCI: MMCONFIG at [mem 0xb0000000-0xbfffffff] reserved as E820 entry
[    5.826325] PCI: Using configuration type 1 for base access
[    5.873401] mtrr: your CPUs had inconsistent fixed MTRR settings
[    5.875474] mtrr: your CPUs had inconsistent variable MTRR settings
[    5.878986] mtrr: your CPUs had inconsistent MTRRdefType settings
[    5.887709] mtrr: probably your BIOS does not setup all CPUs.
[    5.890055] mtrr: corrected configuration.
[    5.950560] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.
[    6.083576] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    6.091715] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[    6.504218] ACPI: Added _OSI(Module Device)
[    6.506060] ACPI: Added _OSI(Processor Device)
[    6.514112] ACPI: Added _OSI(3.0 _SCP Extensions)
[    6.515574] ACPI: Added _OSI(Processor Aggregator Device)
[    7.219873] ACPI: 1 ACPI AML tables successfully acquired and loaded
[    7.508803] ACPI: _OSC evaluation for CPUs failed, trying _PDC
[    7.552637] ACPI: Interpreter enabled
[    7.573372] ACPI: PM: (supports S0 S3 S5)
[    7.576361] ACPI: Using IOAPIC for interrupt routing
[    7.605092] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    7.610009] PCI: Using E820 reservations for host bridge windows
[    7.641503] ACPI: Enabled 2 GPEs in block 00 to 3F
[    8.421678] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    8.431972] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    8.454921] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug LTR]
[    8.484211] acpi PNP0A08:00: _OSC: OS now controls [PME PCIeCapability]
[    8.584268] PCI host bridge to bus 0000:00
[    8.594245] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    8.594245] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    8.601811] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    8.601918] pci_bus 0000:00: root bus resource [mem 0x5dc00000-0xafffffff window]
[    8.604061] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]
[    8.615470] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]
[    8.615470] pci_bus 0000:00: root bus resource [bus 00-ff]
[    8.644186] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000
[    8.731853] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000
[    8.753726] pci 0000:00:01.0: reg 0x10: [mem 0xfd000000-0xfdffffff pref]
[    8.802776] pci 0000:00:01.0: reg 0x18: [mem 0xfea70000-0xfea70fff]
[    8.882036] pci 0000:00:01.0: reg 0x30: [mem 0xfea60000-0xfea6ffff pref]
[    8.893451] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    8.915574] pci 0000:00:02.0: [1af4:1005] type 00 class 0x00ff00
[    8.932025] pci 0000:00:02.0: reg 0x10: [io  0xd180-0xd19f]
[    8.971834] pci 0000:00:02.0: reg 0x14: [mem 0xfea71000-0xfea71fff]
[    9.041938] pci 0000:00:02.0: reg 0x20: [mem 0xfe200000-0xfe203fff 64bit pref]
[    9.075045] pci 0000:00:03.0: [1b36:0001] type 01 class 0x060400
[    9.111937] pci 0000:00:03.0: reg 0x10: [mem 0xfea72000-0xfea720ff 64bit]
[    9.184433] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000
[    9.202110] pci 0000:00:04.0: reg 0x10: [io  0xd000-0xd07f]
[    9.221874] pci 0000:00:04.0: reg 0x14: [mem 0xfea73000-0xfea73fff]
[    9.306273] pci 0000:00:04.0: reg 0x20: [mem 0xfe204000-0xfe207fff 64bit pref]
[    9.334509] pci 0000:00:05.0: [1af4:1009] type 00 class 0x000200
[    9.354647] pci 0000:00:05.0: reg 0x10: [io  0xd080-0xd0bf]
[    9.401891] pci 0000:00:05.0: reg 0x14: [mem 0xfea74000-0xfea74fff]
[    9.481337] pci 0000:00:05.0: reg 0x20: [mem 0xfe208000-0xfe20bfff 64bit pref]
[    9.514340] pci 0000:00:06.0: [1af4:1009] type 00 class 0x000200
[    9.531903] pci 0000:00:06.0: reg 0x10: [io  0xd1a0-0xd1bf]
[    9.552074] pci 0000:00:06.0: reg 0x14: [mem 0xfea75000-0xfea75fff]
[    9.612456] pci 0000:00:06.0: reg 0x20: [mem 0xfe20c000-0xfe20ffff 64bit pref]
[    9.675204] pci 0000:00:07.0: [1af4:1009] type 00 class 0x000200
[    9.702130] pci 0000:00:07.0: reg 0x10: [io  0xd1c0-0xd1df]
[    9.722009] pci 0000:00:07.0: reg 0x14: [mem 0xfea76000-0xfea76fff]
[    9.792194] pci 0000:00:07.0: reg 0x20: [mem 0xfe210000-0xfe213fff 64bit pref]
[    9.834319] pci 0000:00:08.0: [1af4:1003] type 00 class 0x078000
[    9.861903] pci 0000:00:08.0: reg 0x10: [io  0xd0c0-0xd0ff]
[    9.901890] pci 0000:00:08.0: reg 0x14: [mem 0xfea77000-0xfea77fff]
[    9.971705] pci 0000:00:08.0: reg 0x20: [mem 0xfe214000-0xfe217fff 64bit pref]
[   10.024405] pci 0000:00:09.0: [8086:100e] type 00 class 0x020000
[   10.041930] pci 0000:00:09.0: reg 0x10: [mem 0xfea40000-0xfea5ffff]
[   10.061933] pci 0000:00:09.0: reg 0x14: [io  0xd100-0xd13f]
[   10.169762] pci 0000:00:09.0: reg 0x30: [mem 0xfea00000-0xfea3ffff pref]
[   10.184273] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300
[   10.252007] pci 0000:00:1d.0: reg 0x20: [io  0xd1e0-0xd1ff]
[   10.296955] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300
[   10.344627] pci 0000:00:1d.1: reg 0x20: [io  0xd200-0xd21f]
[   10.394483] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300
[   10.448924] pci 0000:00:1d.2: reg 0x20: [io  0xd220-0xd23f]
[   10.504331] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320
[   10.512020] pci 0000:00:1d.7: reg 0x10: [mem 0xfea78000-0xfea78fff]
[   10.604692] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100
[   10.614449] pci 0000:00:1f.0: quirk: [io  0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO
[   10.634342] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601
[   10.750339] pci 0000:00:1f.2: reg 0x20: [io  0xd240-0xd25f]
[   10.771994] pci 0000:00:1f.2: reg 0x24: [mem 0xfea79000-0xfea79fff]
[   10.814368] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500
[   10.881933] pci 0000:00:1f.3: reg 0x20: [io  0x0700-0x073f]
[   10.942255] pci_bus 0000:01: extended config space not accessible
[   11.004312] acpiphp: Slot [0] registered
[   11.006770] acpiphp: Slot [1] registered
[   11.015216] acpiphp: Slot [2] registered
[   11.016064] acpiphp: Slot [3] registered
[   11.026274] acpiphp: Slot [4] registered
[   11.035049] acpiphp: Slot [5] registered
[   11.036276] acpiphp: Slot [6] registered
[   11.044973] acpiphp: Slot [7] registered
[   11.044973] acpiphp: Slot [8] registered
[   11.056321] acpiphp: Slot [9] registered
[   11.056321] acpiphp: Slot [10] registered
[   11.064537] acpiphp: Slot [11] registered
[   11.064537] acpiphp: Slot [12] registered
[   11.067098] acpiphp: Slot [13] registered
[   11.074404] acpiphp: Slot [14] registered
[   11.074941] acpiphp: Slot [15] registered
[   11.081830] acpiphp: Slot [16] registered
[   11.083085] acpiphp: Slot [17] registered
[   11.086601] acpiphp: Slot [18] registered
[   11.094894] acpiphp: Slot [19] registered
[   11.094894] acpiphp: Slot [20] registered
[   11.101808] acpiphp: Slot [21] registered
[   11.103549] acpiphp: Slot [22] registered
[   11.114409] acpiphp: Slot [23] registered
[   11.114409] acpiphp: Slot [24] registered
[   11.121850] acpiphp: Slot [25] registered
[   11.123029] acpiphp: Slot [26] registered
[   11.126651] acpiphp: Slot [27] registered
[   11.136421] acpiphp: Slot [28] registered
[   11.144530] acpiphp: Slot [29] registered
[   11.144530] acpiphp: Slot [30] registered
[   11.154548] acpiphp: Slot [31] registered
[   11.154548] pci 0000:00:03.0: PCI bridge to [bus 01]
[   11.164304] pci 0000:00:03.0:   bridge window [io  0xc000-0xcfff]
[   11.164304] pci 0000:00:03.0:   bridge window [mem 0xfe800000-0xfe9fffff]
[   11.165073] pci 0000:00:03.0:   bridge window [mem 0xfe000000-0xfe1fffff 64bit pref]
[   11.264292] ACPI: PCI: Interrupt link LNKA configured for IRQ 10
[   11.284345] ACPI: PCI: Interrupt link LNKB configured for IRQ 10
[   11.294310] ACPI: PCI: Interrupt link LNKC configured for IRQ 11
[   11.304278] ACPI: PCI: Interrupt link LNKD configured for IRQ 11
[   11.314296] ACPI: PCI: Interrupt link LNKE configured for IRQ 10
[   11.325224] ACPI: PCI: Interrupt link LNKF configured for IRQ 10
[   11.334244] ACPI: PCI: Interrupt link LNKG configured for IRQ 11
[   11.345490] ACPI: PCI: Interrupt link LNKH configured for IRQ 11
[   11.356280] ACPI: PCI: Interrupt link GSIA configured for IRQ 16
[   11.364670] ACPI: PCI: Interrupt link GSIB configured for IRQ 17
[   11.364670] ACPI: PCI: Interrupt link GSIC configured for IRQ 18
[   11.375129] ACPI: PCI: Interrupt link GSID configured for IRQ 19
[   11.375241] ACPI: PCI: Interrupt link GSIE configured for IRQ 20
[   11.384711] ACPI: PCI: Interrupt link GSIF configured for IRQ 21
[   11.385281] ACPI: PCI: Interrupt link GSIG configured for IRQ 22
[   11.395014] ACPI: PCI: Interrupt link GSIH configured for IRQ 23
[   11.484383] iommu: Default domain type: Translated
[   11.491901] iommu: DMA domain TLB invalidation policy: lazy mode
[   11.544198] SCSI subsystem initialized
[   11.580132] pps_core: LinuxPPS API ver. 1 registered
[   11.582634] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[   11.588843] PTP clock support registered
[   11.804130] PCI: Using ACPI for IRQ routing
[   11.937534] hpet: 3 channels of 0 reserved for per-cpu timers
[   11.969301] clocksource: Switched to clocksource hpet
[   12.150223] VFS: Disk quotas dquot_6.6.0
[   12.165996] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[   12.221172] pnp: PnP ACPI init
[   12.925102] system 00:05: [mem 0xb0000000-0xbfffffff window] has been reserved
[   13.184963] pnp: PnP ACPI: found 6 devices
[   13.782871] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[   13.858150] NET: Registered PF_INET protocol family
[   13.898436] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear)
[   14.069834] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear)
[   14.076246] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[   14.080424] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear)
[   14.090531] TCP bind hash table entries: 16384 (order: 7, 524288 bytes, linear)
[   14.098396] TCP: Hash tables configured (established 16384 bind 16384)
[   14.170735] MPTCP token hash table entries: 2048 (order: 3, 49152 bytes, linear)
[   14.180914] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear)
[   14.189776] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear)
[   14.224393] NET: Registered PF_UNIX/PF_LOCAL protocol family
[   14.233370] NET: Registered PF_XDP protocol family
[   14.254775] pci 0000:00:03.0: PCI bridge to [bus 01]
[   14.259821] pci 0000:00:03.0:   bridge window [io  0xc000-0xcfff]
[   14.280356] pci 0000:00:03.0:   bridge window [mem 0xfe800000-0xfe9fffff]
[   14.292974] pci 0000:00:03.0:   bridge window [mem 0xfe000000-0xfe1fffff 64bit pref]
[   14.321229] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[   14.327223] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[   14.329118] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[   14.330869] pci_bus 0000:00: resource 7 [mem 0x5dc00000-0xafffffff window]
[   14.333812] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]
[   14.335690] pci_bus 0000:00: resource 9 [mem 0x100000000-0x8ffffffff window]
[   14.337968] pci_bus 0000:01: resource 0 [io  0xc000-0xcfff]
[   14.339772] pci_bus 0000:01: resource 1 [mem 0xfe800000-0xfe9fffff]
[   14.341687] pci_bus 0000:01: resource 2 [mem 0xfe000000-0xfe1fffff 64bit pref]
[   14.449475] ACPI: \_SB_.GSIA: Enabled at IRQ 16
[   14.610745] pci 0000:00:1d.0: quirk_usb_early_handoff+0x0/0x7d0 took 243970 usecs
[   14.650682] ACPI: \_SB_.GSIB: Enabled at IRQ 17
[   14.696580] pci 0000:00:1d.1: quirk_usb_early_handoff+0x0/0x7d0 took 68608 usecs
[   14.730619] ACPI: \_SB_.GSIC: Enabled at IRQ 18
[   14.768369] pci 0000:00:1d.2: quirk_usb_early_handoff+0x0/0x7d0 took 67417 usecs
[   14.799166] ACPI: \_SB_.GSID: Enabled at IRQ 19
[   14.917235] pci 0000:00:1d.7: quirk_usb_early_handoff+0x0/0x7d0 took 142651 usecs
[   14.920485] PCI: CLS 0 bytes, default 64
[   15.179213] Unpacking initramfs...
[   15.308833] Initialise system trusted keyrings
[   15.468012] workingset: timestamp_bits=46 max_order=19 bucket_order=0
[   15.486585] zbud: loaded
[   15.628915] Key type asymmetric registered
[   15.631653] Asymmetric key parser 'x509' registered
[   15.666171] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[   15.725672] io scheduler mq-deadline registered
[   15.733427] io scheduler kyber registered
[   15.739785] io scheduler bfq registered
[   16.176910] ERST DBG: ERST support is disabled.
[   16.248841] ACPI: \_SB_.GSIG: Enabled at IRQ 22
[   16.411662] ACPI: \_SB_.GSIE: Enabled at IRQ 20
[   16.495107] ACPI: \_SB_.GSIF: Enabled at IRQ 21
[   16.660206] ACPI: \_SB_.GSIH: Enabled at IRQ 23
[   16.928788] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[   17.084676] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[   17.853514] VMware PVSCSI driver - version 1.0.7.0-k
[   18.028327] ahci 0000:00:1f.2: AHCI 0001.0000 32 slots 6 ports 1.5 Gbps 0x3f impl SATA mode
[   18.042520] ahci 0000:00:1f.2: flags: 64bit ncq only 
[   18.328001] scsi host0: ahci
[   18.443127] scsi host1: ahci
[   18.495420] scsi host2: ahci
[   18.555526] scsi host3: ahci
[   18.596148] scsi host4: ahci
[   18.646310] scsi host5: ahci
[   18.669191] ata1: SATA max UDMA/133 abar m4096@0xfea79000 port 0xfea79100 irq 26
[   18.686138] ata2: SATA max UDMA/133 abar m4096@0xfea79000 port 0xfea79180 irq 26
[   18.688165] ata3: SATA max UDMA/133 abar m4096@0xfea79000 port 0xfea79200 irq 26
[   18.690208] ata4: SATA max UDMA/133 abar m4096@0xfea79000 port 0xfea79280 irq 26
[   18.705199] ata5: SATA max UDMA/133 abar m4096@0xfea79000 port 0xfea79300 irq 26
[   18.707346] ata6: SATA max UDMA/133 abar m4096@0xfea79000 port 0xfea79380 irq 26
[   18.889324] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12
[   19.029478] serio: i8042 KBD port at 0x60,0x64 irq 1
[   19.039879] serio: i8042 AUX port at 0x60,0x64 irq 12
[   19.098690] rtc_cmos 00:04: RTC can wake from S4
[   19.216072] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[   19.314734] rtc_cmos 00:04: registered as rtc0
[   19.355479] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100
[   19.358203] ata3.00: applying bridge limits
[   19.340657] rtc_cmos 00:04: setting system clock to 2024-05-28T14:35:58 UTC (1716906958)
[   19.429809] rtc_cmos 00:04: alarms up to one day, y3k, 242 bytes nvram, hpet irqs
[   19.441489] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled
[   19.444031] ata2: SATA link down (SStatus 0 SControl 300)
[   19.484392] ata5: SATA link down (SStatus 0 SControl 300)
[   19.508888] gre: GRE over IPv4 demultiplexor driver
[   19.517288] ata4: SATA link down (SStatus 0 SControl 300)
[   19.520266] ata6: SATA link down (SStatus 0 SControl 300)
[   19.557328] ata3.00: configured for UDMA/100
[   19.612917] ata1: SATA link down (SStatus 0 SControl 300)
[   20.089920] scsi 2:0:0:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ PQ: 0 ANSI: 5
[   20.776746] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[   20.900381] NET: Registered PF_INET6 protocol family
[   21.271169] Segment Routing with IPv6
[   21.289840] In-situ OAM (IOAM) with IPv6
[   21.338743] Key type dns_resolver registered
[   21.388435] IPI shorthand broadcast: enabled
[   22.571176] registered taskstats version 1
[   22.710537] Loading compiled-in X.509 certificates
[   23.511537] Freeing initrd memory: 8116K
[   27.330144] Loaded X.509 cert 'alpinelinux.org: Alpine Linux kernel key: d76a695f66ad9cd28f5c22a8508f36e91f521f7a'
[   27.497404] Key type .fscrypt registered
[   27.499205] Key type fscrypt-provisioning registered
[   27.590326] Unstable clock detected, switching default tracing clock to "global"
[   27.590326] If you want to keep using the local clock, then add:
[   27.590326]   "trace_clock=local"
[   27.590326] on the kernel command line
[   28.034737] Freeing unused kernel image (initmem) memory: 2688K
[   28.038020] Write protecting the kernel read-only data: 24576k
[   28.086317] Freeing unused kernel image (rodata/data gap) memory: 2008K
[   28.096001] rodata_test: all tests were successful
[   28.100889] Run /init as init process
[   30.241601] Alpine Init 3.10.0-r0
Alpine Init 3.10.0-r0
[   30.341464] Loading boot drivers...
 * Loading boot drivers: [   35.646213] ACPI: bus type USB registered
[   35.698816] usbcore: registered new interface driver usbfs
[   35.716061] usbcore: registered new interface driver hub
[   35.750810] usbcore: registered new device driver usb
[   36.025687] usbcore: registered new interface driver usb-storage
[   40.863630] loop: module loaded
[   43.014924] ACPI: bus type drm_connector registered
[   44.577672] Loading boot drivers: ok.
ok.
[   45.090841] Mounting root...
 * Mounting root: [   55.931772] ehci-pci 0000:00:1d.7: EHCI Host Controller
[   55.997231] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 1
[   56.149235] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfea78000
[   56.185091] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[   56.277156] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.06
[   56.279809] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   56.283664] usb usb1: Product: EHCI Host Controller
[   56.285329] usb usb1: Manufacturer: Linux 6.6.32-0-virt ehci_hcd
[   56.287481] usb usb1: SerialNumber: 0000:00:1d.7
[   56.378037] hub 1-0:1.0: USB hub found
[   56.393799] hub 1-0:1.0: 6 ports detected
[   56.809176] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[   56.823442] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[   56.827201] uhci_hcd 0000:00:1d.0: detected 2 ports
[   56.839854] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000d1e0
[   56.876374] usb 1-1: new high-speed USB device number 2 using ehci-pci
[   56.905098] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.06
[   56.907225] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   56.909406] usb usb2: Product: UHCI Host Controller
[   56.911615] usb usb2: Manufacturer: Linux 6.6.32-0-virt uhci_hcd
[   56.934796] usb usb2: SerialNumber: 0000:00:1d.0
[   56.985223] hub 2-0:1.0: USB hub found
[   56.993588] hub 2-0:1.0: 2 ports detected
[   57.141114] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[   57.158169] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[   57.160452] uhci_hcd 0000:00:1d.1: detected 2 ports
[   57.174569] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000d200
[   57.190191] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.06
[   57.205222] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   57.207183] usb usb3: Product: UHCI Host Controller
[   57.210613] usb usb3: Manufacturer: Linux 6.6.32-0-virt uhci_hcd
[   57.224787] usb usb3: SerialNumber: 0000:00:1d.1
[   57.275779] hub 3-0:1.0: USB hub found
[   57.281527] hub 3-0:1.0: 2 ports detected
[   57.411264] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[   57.427348] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[   57.430450] uhci_hcd 0000:00:1d.2: detected 2 ports
[   57.433963] usb 1-1: New USB device found, idVendor=0718, idProduct=7722, bcdDevice= 1.00
[   57.437201] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   57.439581] usb 1-1: Product: USB Flash Drive
[   57.441619] usb 1-1: Manufacturer: Memorex
[   57.449416] usb 1-1: SerialNumber: 
[   57.458469] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000d220
[   57.520226] usb-storage 1-1:1.0: USB Mass Storage device detected
[   57.527023] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.06
[   57.537258] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   57.540241] usb usb4: Product: UHCI Host Controller
[   57.552385] usb usb4: Manufacturer: Linux 6.6.32-0-virt uhci_hcd
[   57.554617] usb usb4: SerialNumber: 0000:00:1d.2
[   57.597244] hub 4-0:1.0: USB hub found
[   57.599790] hub 4-0:1.0: 2 ports detected
[   57.767462] scsi host6: usb-storage 1-1:1.0
[   59.420373] scsi 6:0:0:0: Direct-Access     Memorex  USB Flash Drive  PMAP PQ: 0 ANSI: 6
[   59.684498] sd 6:0:0:0: [sda] 30285824 512-byte logical blocks: (15.5 GB/14.4 GiB)
[   59.726358] sd 6:0:0:0: [sda] Write Protect is off
[   59.759329] sd 6:0:0:0: [sda] No Caching mode page found
[   59.761437] sd 6:0:0:0: [sda] Assuming drive cache: write through
[   60.174125]  sda: sda1 sda2 sda3 sda4
[   60.239254] sd 6:0:0:0: [sda] Attached SCSI removable disk
[   60.543475] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
[   60.549324] cdrom: Uniform CD-ROM driver Revision: 3.20
[   60.569642] sr 2:0:0:0: [sr0] Hmm, seems the drive doesn't support multisession CD's
[   62.129616] virtio_blk virtio1: 4/0/0 default/read/poll queues
[   62.280578] virtio_blk virtio1: [vda] 6291456 512-byte logical blocks (3.22 GB/3.00 GiB)
[   62.348822]  vda: vda1 vda2 vda3
[   63.900433] usbcore: registered new interface driver uas
[  111.297970] block sr0: the capability attribute has been deprecated.
[  111.294276] hrtimer: interrupt took 21725080 ns
[  114.387613] random: crng init done
[  131.675657] EXT4-fs (vda3): orphan cleanup on readonly fs
[  131.688286] EXT4-fs (vda3): mounted filesystem ae7bb8b0-5180-432a-80a5-e4a3065e4684 ro with ordered data mode. Quota mode: none.
[  131.741233] Mounting root: ok.
ok.

   OpenRC 0.54 is starting up Linux 6.6.32-0-virt (x86_64)

 * /proc is already mounted
 * Mounting /run ... [ ok ]
 * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner
 * Caching service dependencies ... [ ok ]
 * Remounting devtmpfs on /dev ... [ ok ]
 * Mounting /dev/mqueue ... [ ok ]
 * Mounting security filesystem ... [ ok ]
 * Mounting debug filesystem ... [ ok ]
 * Mounting persistent storage (pstore) filesystem ... [ ok ]
 * Starting busybox mdev ... [ ok ]
 * Scanning hardware for mdev ... [ ok ]
 * Loading hardware drivers ... [ ok ]
 * Loading modules ... [ ok ]
 * Setting system clock using the hardware clock [UTC] ... [ ok ]
 * Checking local filesystems  .../dev/vda3: clean, 37374/128256 files, 229108/512768 blocks
/dev/vda1: clean, 28/76912 files, 54036/307200 blocks
 [ ok ]
 * Remounting root filesystem read/write ... [ ok ]
 * Remounting filesystems ... [ ok ]
 * Activating swap devices ... [ ok ]
 * Mounting local filesystems ... [ ok ]
 * Configuring kernel parameters ... [ ok ]
 * Creating user login records ... [ ok ]
 * Setting hostname ... [ ok ]
 * Starting networking ... *   lo ... [ ok ]
 *   eth0 ...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
 [ ok ]
 * Seeding random number generator ... * Seeding 256 bits and crediting
 * Saving 256 bits of creditable seed for next boot
 [ ok ]
 * Starting busybox syslog ... [ ok ]
 * Starting busybox acpid ... [ ok ]
 * Starting busybox crond ... [ ok ]
 * Starting rngd ... [ ok ]
 * Starting sshd ... [ ok ]
 * Starting vsftpd ... [ ok ]

Welcome to Alpine Linux 3.20
Kernel 6.6.32-0-virt on an x86_64 (/dev/ttyS0)

localhost login: root
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:~# grep PermitRoot /etc/ssh/*config*
grep: /etc/ssh/ssh_config.d: Is a directory
/etc/ssh/sshd_config:PermitRootLogin prohibit-password
/etc/ssh/sshd_config:# the setting of "PermitRootLogin prohibit-password".
grep: /etc/ssh/sshd_config.d: Is a directory
localhost:~# 
localhost:~# grep ^PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin prohibit-password
localhost:~# 
localhost:~# cp -pvi /etc/ssh/sshd_config /root
'/etc/ssh/sshd_config' -> '/root/sshd_config'
localhost:~# 
localhost:~# sed -i -e 's/^PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
localhost:~# 
localhost:~# grep ^PermitRootLogin /etc/ssh/sshd_config
PermitRootLogin yes
localhost:~# 
localhost:~# rc-service sshd restart
 * Stopping sshd ...
 [ ok ]
 * Starting sshd ...
 [ ok ]
localhost:~# 
localhost:~# exit
logout

Welcome to Alpine Linux 3.20
Kernel 6.6.32-0-virt on an x86_64 (/dev/ttyS0)

localhost login: 

From The termux Session:

~/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:~# 
localhost:~# mount -t 9p -o trans=virtio,version=9p2000.L,msize=1048576 host /media/host
localhost:~# mount -t 9p -o trans=virtio,version=9p2000.L,msize=1048576 termux /media/termux
localhost:~# mount -t 9p -o trans=virtio,version=9p2000.L,msize=1048576 host-all /media/host-all
localhost:~# df -haT
Filesystem     Type        Size  Used Avail Use% Mounted on
sysfs          sysfs          0     0     0    - /sys
devtmpfs       devtmpfs     10M     0   10M   0% /dev
proc           proc           0     0     0    - /proc
devpts         devpts         0     0     0    - /dev/pts
shm            tmpfs       720M     0  720M   0% /dev/shm
/dev/vda3      ext4        1.9G  826M  992M  46% /
tmpfs          tmpfs       288M  140K  288M   1% /run
mqueue         mqueue         0     0     0    - /dev/mqueue
securityfs     securityfs     0     0     0    - /sys/kernel/security
debugfs        debugfs        0     0     0    - /sys/kernel/debug
pstore         pstore         0     0     0    - /sys/fs/pstore
tracefs        tracefs        0     0     0    - /sys/kernel/debug/tracing
/dev/vda1      ext4        272M   24M  229M  10% /boot
tmpfs          tmpfs       720M     0  720M   0% /tmp
host           9p          117G  107G  8.6G  93% /media/host
termux         9p           24G   17G  6.6G  72% /media/termux
host-all       9p          117G  107G  8.6G  93% /media/host-all
localhost:~# 
localhost:~# ls -1 /media/host|grep vmtest
vmtest-backup
localhost:~# 
localhost:~# ls -1 /media/termux
apps
home
usr
localhost:~# 
localhost:~# ls -1 /media/host-all|grep -E 'Down|And|DC'
Android
DCIM
Download
localhost:~# umount /media/host-all
localhost:~# umount /media/host
localhost:~# umount /media/termux
localhost:~# 
localhost:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    1 14.4G  0 disk 
├─sda1   8:1    1    5G  0 part 
├─sda2   8:2    1    4G  0 part 
├─sda3   8:3    1    4G  0 part 
└─sda4   8:4    1  1.4G  0 part 
sr0     11:0    1    2K  0 rom  
vda    253:0    0    3G  0 disk 
├─vda1 253:1    0  300M  0 part /boot
├─vda2 253:2    0  768M  0 part [SWAP]
└─vda3 253:3    0    2G  0 part /
localhost:~# 
localhost:~# blkid
/dev/vda1: UUID="933abcba-6d5f-40f4-9584-b373deac796f" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="0c1ddc57-01"
/dev/sda3: LABEL_FATBOOT="vfat" LABEL="vfat" UUID="8335-32B9" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="3ca64fe0-03"
/dev/sda1: LABEL="ext4" UUID="42b11d91-c418-4919-b732-f61da2b45308" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3ca64fe0-01"
/dev/vda2: UUID="088d8ec9-c1c5-46f1-8377-200028167bf7" TYPE="swap" PARTUUID="0c1ddc57-02"
/dev/sda4: LABEL="ntfs" BLOCK_SIZE="512" UUID="43BD723B70C177A1" TYPE="ntfs" PARTUUID="3ca64fe0-04"
/dev/sda2: LABEL="exfat" UUID="FFD8-F7EB" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="3ca64fe0-02"
/dev/vda3: UUID="ae7bb8b0-5180-432a-80a5-e4a3065e4684" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c1ddc57-03"
localhost:~# 
localhost:~# 
localhost:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.32-0-virt ehci_hcd EHCI Host Controller
Bus 001 Device 002: ID 0718:7722 Memorex USB Flash Drive
Bus 002 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
Bus 003 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
Bus 004 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
localhost:~# 
localhost:~# dmesg | grep -Ei 'sda|6:0:0:0|ext4-|9p|virtio'
[   59.420373] scsi 6:0:0:0: Direct-Access     Memorex  USB Flash Drive  PMAP PQ: 0 ANSI: 6
[   59.684498] sd 6:0:0:0: [sda] 30285824 512-byte logical blocks: (15.5 GB/14.4 GiB)
[   59.726358] sd 6:0:0:0: [sda] Write Protect is off
[   59.730781] sd 6:0:0:0: [sda] Mode Sense: 23 00 00 00
[   59.759329] sd 6:0:0:0: [sda] No Caching mode page found
[   59.761437] sd 6:0:0:0: [sda] Assuming drive cache: write through
[   60.174125]  sda: sda1 sda2 sda3 sda4
[   60.239254] sd 6:0:0:0: [sda] Attached SCSI removable disk
[   62.129616] virtio_blk virtio1: 4/0/0 default/read/poll queues
[   62.280578] virtio_blk virtio1: [vda] 6291456 512-byte logical blocks (3.22 GB/3.00 GiB)
[  131.675657] EXT4-fs (vda3): orphan cleanup on readonly fs
[  131.688286] EXT4-fs (vda3): mounted filesystem ae7bb8b0-5180-432a-80a5-e4a3065e4684 ro with ordered data mode. Quota mode: none.
[  310.858967] 9pnet: Installing 9P2000 support
[  358.034728] EXT4-fs (vda3): re-mounted ae7bb8b0-5180-432a-80a5-e4a3065e4684 r/w. Quota mode: none.
[  359.197015] EXT4-fs (vda3): re-mounted ae7bb8b0-5180-432a-80a5-e4a3065e4684 r/w. Quota mode: none.
[  366.599376] EXT4-fs (vda1): mounted filesystem 933abcba-6d5f-40f4-9584-b373deac796f r/w with ordered data mode. Quota mode: none.
[  866.499233] 9p: Installing v9fs 9p2000 file system support
[  867.179873] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[  875.769449] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[  889.420906] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
localhost:~# 
localhost:~# eject /dev/sda
localhost:~# dmesg|tail
[  359.197015] EXT4-fs (vda3): re-mounted ae7bb8b0-5180-432a-80a5-e4a3065e4684 r/w. Quota mode: none.
[  362.874737] Adding 786428k swap on /dev/vda2.  Priority:-2 extents:1 across:786428k 
[  366.599376] EXT4-fs (vda1): mounted filesystem 933abcba-6d5f-40f4-9584-b373deac796f r/w with ordered data mode. Quota mode: none.
[  391.518187] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[  865.886612] FS-Cache: Loaded
[  866.499233] 9p: Installing v9fs 9p2000 file system support
[  867.179873] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[  875.769449] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[  889.420906] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[10870.567962] sda: detected capacity change from 30285824 to 0
localhost:~# 
localhost:~# exit
logout
Connection to 127.0.0.1 closed.
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info' | nc -UN qemu.socket | tail -4
info virtio-vhost-queue-status path queue -- Display status of a given vhost queue
info vm-generation-id  -- Show Virtual Machine Generation ID
info vnc  -- show the vnc server status
(qemu) 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'help help' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) help help
help|? [cmd] -- show the help
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'help info' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) help info
info balloon  -- show balloon information
info block [-n] [-v] [device] -- show info of one block device or all block devices (-n: show named nodes; -v: show details)
info block-jobs  -- show progress of ongoing block device operations
info blockstats  -- show block device statistics
info capture  -- show capture information
info chardev  -- show the character devices
info cpus  -- show infos for each CPU
info cryptodev  -- show the crypto devices
info dirty_rate  -- show dirty rate information
info dump  -- Display the latest dump status
info history  -- show the command line history
info hotpluggable-cpus  -- Show information about hotpluggable CPUs
info iothreads  -- show iothreads
info irq  -- show the interrupts statistics (if available)
info jit  -- show dynamic compiler info
info kvm  -- show KVM information
info lapic [apic-id] -- show local apic state (apic-id: local apic to read, default is which of current CPU)
info mem  -- show the active virtual memory mappings
info memdev  -- show memory backends
info memory-devices  -- show memory devices
info memory_size_summary  -- show the amount of initially allocated and present hotpluggable (if enabled) memory in bytes.
info mice  -- show which guest mouse is receiving events
info migrate  -- show migration status
info migrate_capabilities  -- show current migration capabilities
info migrate_parameters  -- show current migration parameters
info mtree [-f][-d][-o][-D] -- show memory tree (-f: dump flat view for address spaces;-d: dump dispatch tree, valid with -f only);-o: dump region owners/parents;-D: dump disabled regions
info name  -- show the current VM name
info network  -- show the network state
info numa  -- show NUMA information
info opcount  -- show dynamic compiler opcode counters
info pci  -- show PCI info
info pic  -- show PIC state
info profile  -- show profiling information
info qdm  -- show qdev device model list
info qom-tree [path] -- show QOM composition tree
info qtree  -- show device tree
info ramblock  -- Display system ramblock information
info rdma  -- show RDMA state
info registers [-a|vcpu] -- show the cpu registers (-a: show register info for all cpus; vcpu: specific vCPU to query; show the current CPU's registers if no argument is specified)
info replay  -- show record/replay information
info rocker name -- Show rocker switch
info rocker-of-dpa-flows name [tbl_id] -- Show rocker OF-DPA flow tables
info rocker-of-dpa-groups name [type] -- Show rocker OF-DPA groups
info rocker-ports name -- Show rocker ports
info roms  -- show roms
info sev  -- show SEV information
info sgx  -- show intel SGX information
info snapshots  -- show the currently saved VM snapshots
info spice  -- show the spice server status
info stats target [names] [provider] -- show statistics for the given target (vm or vcpu); optionally filter byname (comma-separated list, or * for all) and provider
info status  -- show the current VM status (running|paused)
info sync-profile [-m] [-n] [max] -- show synchronization profiling info, up to max entries (default: 10), sorted by total wait time. (-m: sort by mean wait time; -n: do not coalesce objects with the same call site)
info tlb  -- show virtual to physical memory mappings
info tpm  -- show the TPM device
info trace-events [name] [vcpu] -- show available trace-events & their state (name: event name pattern; vcpu: vCPU to query, default is any)
info usb  -- show guest USB devices
info usbhost  -- show host USB devices
info usernet  -- show user network stack connection states
info uuid  -- show the current VM UUID
info vcpu_dirty_limit  -- show dirty page limit information of all vCPU
info version  -- show the version of QEMU
info virtio  -- List all available virtio devices
info virtio-queue-element path queue [index] -- Display element of a given virtio queue
info virtio-queue-status path queue -- Display status of a given virtio queue
info virtio-status path -- Display status of a given virtio device
info virtio-vhost-queue-status path queue -- Display status of a given vhost queue
info vm-generation-id  -- Show Virtual Machine Generation ID
info vnc  -- show the vnc server status
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 

From The usbredirect Session: Stop usbredirect with ctrl-c

~/.../usbredir-main/build $
~/.../usbredir-main/build $ termux-usb -l
[
  "/dev/bus/usb/001/005"
]
~/.../usbredir-main/build $
~/.../usbredir-main/build $ termux-usb -r /dev/bus/usb/001/005
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/005 --as 127.0.0.1:10000" /dev/bus/usb/001/005

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/005



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: 0080
Product ID: 0578
Manufacturer: JMicron
Product: External USB 3.0
Serial No: 

From The termux Session:

~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
serial0: filename=mux
serial0-base: filename=stdio
parallel0: filename=null
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
usbredirchardev1: filename=disconnected:tcp:127.0.0.1:10000
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
  Device 0.0, Port 1, Speed 1.5 Mb/s, Product USB Redirection Device, ID: usbredirdev1
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_del usbredirdev1' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_del usbredirdev1
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
serial0: filename=mux
serial0-base: filename=stdio
parallel0: filename=null
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'chardev-add socket,host=127.0.0.1,port=10000,id=c1' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) chardev-add socket,host=127.0.0.1,port=10000,id=c1
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_add usb-redir,chardev=c1,id=u1,debug=3' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_add usb-redir,chardev=c1,id=u1,debug=3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
  Device 0.3, Port 2, Speed 480 Mb/s, Product USB Redirection Device, ID: u1
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket 
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
serial0: filename=mux
c1: filename=tcp:127.0.0.1:44056 <-> 127.0.0.1:10000
serial0-base: filename=stdio
parallel0: filename=null
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/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:~# 
localhost:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.32-0-virt ehci_hcd EHCI Host Controller
Bus 001 Device 003: ID 0080:0578 JMicron External USB 3.0
Bus 002 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
Bus 003 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
Bus 004 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
localhost:~# 
localhost:~# dmesg|tail -30
[  341.518112] fuse: init (API version 7.39)
[  358.034728] EXT4-fs (vda3): re-mounted ae7bb8b0-5180-432a-80a5-e4a3065e4684 r/w. Quota mode: none.
[  359.197015] EXT4-fs (vda3): re-mounted ae7bb8b0-5180-432a-80a5-e4a3065e4684 r/w. Quota mode: none.
[  362.874737] Adding 786428k swap on /dev/vda2.  Priority:-2 extents:1 across:786428k 
[  366.599376] EXT4-fs (vda1): mounted filesystem 933abcba-6d5f-40f4-9584-b373deac796f r/w with ordered data mode. Quota mode: none.
[  391.518187] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[  865.886612] FS-Cache: Loaded
[  866.499233] 9p: Installing v9fs 9p2000 file system support
[  867.179873] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[  875.769449] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[  889.420906] 9pnet: Limiting 'msize' to 512000 as this is the maximum supported by transport virtio
[10870.567962] sda: detected capacity change from 30285824 to 0
[10991.267852] usb 1-1: USB disconnect, device number 2
[24335.840081] usb 1-2: new high-speed USB device number 3 using ehci-pci
[24336.545650] usb 1-2: New USB device found, idVendor=0080, idProduct=0578, bcdDevice= 1.04
[24336.549084] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[24336.550163] usb 1-2: Product: External USB 3.0
[24336.550716] usb 1-2: Manufacturer: JMicron
[24336.551151] usb 1-2: SerialNumber: 
[24337.024682] scsi host6: uas
[24337.997813] scsi 6:0:0:0: Direct-Access     External USB 3.0          0104 PQ: 0 ANSI: 6
[24341.253671] sd 6:0:0:0: [sda] 156250000 512-byte logical blocks: (80.0 GB/74.5 GiB)
[24341.254500] sd 6:0:0:0: [sda] 4096-byte physical blocks
[24341.376689] sd 6:0:0:0: [sda] Write Protect is off
[24341.379366] sd 6:0:0:0: [sda] Mode Sense: 5f 00 00 08
[24341.871253] sd 6:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[24342.034835] sd 6:0:0:0: [sda] Preferred minimum I/O size 4096 bytes
[24342.036452] sd 6:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of preferred minimum block size (4096 bytes)
[24344.315641]  sda: sda1 sda2 sda3
[24344.808095] sd 6:0:0:0: [sda] Attached SCSI disk
localhost:~# 
localhost:~# blkid
/dev/vda1: UUID="933abcba-6d5f-40f4-9584-b373deac796f" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="0c1ddc57-01"
/dev/vda2: UUID="088d8ec9-c1c5-46f1-8377-200028167bf7" TYPE="swap" PARTUUID="0c1ddc57-02"
/dev/vda3: UUID="ae7bb8b0-5180-432a-80a5-e4a3065e4684" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c1ddc57-03"
/dev/sda2: LABEL="root" UUID="75b26c06-f935-4701-88db-741aaaa13ef2" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="58035105-02"
/dev/sda3: LABEL="swap" UUID="a35b3e75-c1b6-49a3-a7df-7deda44b433e" TYPE="swap" PARTUUID="58035105-03"
/dev/sda1: LABEL="ext4-boot" UUID="76f148ff-b125-46d1-aa83-a826955c1ec8" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="58035105-01"
localhost:~# 
localhost:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 74.5G  0 disk 
├─sda1   8:1    0    8G  0 part 
├─sda2   8:2    0   40G  0 part 
└─sda3   8:3    0    8G  0 part 
sr0     11:0    1    2K  0 rom  
vda    253:0    0    3G  0 disk 
├─vda1 253:1    0  300M  0 part /boot
├─vda2 253:2    0  768M  0 part [SWAP]
└─vda3 253:3    0    2G  0 part /
localhost:~# 
localhost:~# mount /dev/sda2 /media/usb1
localhost:~# 
localhost:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         10M     0   10M   0% /dev
shm             720M     0  720M   0% /dev/shm
/dev/vda3       1.9G  826M  992M  46% /
tmpfs           288M  140K  288M   1% /run
/dev/vda1       272M   24M  229M  10% /boot
tmpfs           720M     0  720M   0% /tmp
/dev/sda2        40G   15G   23G  40% /media/usb1
localhost:~# 
localhost:~# exit
logout
Connection to 127.0.0.1 closed.
~/termux-qemu-usb $ 
~/termux-qemu-usb $ fallocate --length 1G 1gb-on-internal-storage
~/termux-qemu-usb $ sha256sum 1gb-on-internal-storage
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14  1gb-on-internal-storage
~/termux-qemu-usb $ 
~/termux-qemu-usb $ lftp 127.0.0.1 -p 50021
lftp 127.0.0.1:~> pwd
ftp://127.0.0.1:50021
lftp 127.0.0.1:~> ls
drwxr-xr-x    2 0        0            4096 May 27 00:30 cdrom
drwxr-xr-x    2 0        0            4096 May 27 00:30 floppy
drwxr-xr-x    2 0        0            4096 May 27 11:47 host
drwxr-xr-x    2 0        0            4096 May 28 14:09 host-all
drwxr-xr-x    2 0        0            4096 May 27 11:47 termux
drwxr-xr-x    2 0        0            4096 May 27 00:30 usb
dr-xr-xr-x   18 0        0            4096 May 15 22:57 usb1
drwxr-xr-x    2 0        0            4096 May 27 11:47 usb2
drwxr-xr-x    2 0        0            4096 May 27 11:47 usb3
drwxr-xr-x    2 0        0            4096 May 27 11:47 usb4
lftp 127.0.0.1:/> cd usb1
lftp 127.0.0.1:/usb1> ls
lrwxrwxrwx    1 0        0               7 Sep 10  2015 bin -> usr/bin
drwxr-xr-x    2 0        0            4096 May 05 12:01 boot
drwxr-xr-x    2 0        0            4096 May 05 12:01 dev
drwxr-xr-x  151 0        0           12288 May 09 00:04 etc
drwxr-xr-x    3 0        0            4096 May 05 12:26 home
lrwxrwxrwx    1 0        0               7 Sep 10  2015 lib -> usr/lib
drwx------    2 0        0           16384 May 05 12:00 lost+found
drwxr-xr-x    2 0        0            4096 Sep 10  2015 media
drwxr-xr-x    5 0        0            4096 May 09 00:23 mnt
drwxr-xr-x    2 0        0            4096 Sep 10  2015 opt
drwxr-xr-x    2 0        0            4096 May 05 12:01 proc
dr-xr-x---    3 0        0            4096 May 05 14:49 root
drwxr-xr-x    2 0        0            4096 May 05 12:01 run
lrwxrwxrwx    1 0        0               8 Sep 10  2015 sbin -> usr/sbin
drwxr-xr-x    2 0        0            4096 Sep 10  2015 srv
drwxr-xr-x    2 0        0            4096 May 05 12:01 sys
drwxrwxrwt    8 0        0            4096 May 28 21:28 tmp
drwxr-xr-x   12 0        0            4096 May 05 12:15 usr
drwxr-xr-x   24 0        0            4096 May 09 00:04 var
lftp 127.0.0.1:/usb1> cd tmp
lftp 127.0.0.1:/usb1/tmp> put 1gb-on-internal-storage 
1073741824 bytes transferred in 318 seconds (3.22 MiB/s)                        
lftp 127.0.0.1:/usb1/tmp> quit
~/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:~# sha256sum /media/usb1/tmp/1gb-on-internal-storage
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14  /media/usb1/tmp/1gb-on-internal-storage
localhost:~# 
localhost:~# exit
logout
Connection to 127.0.0.1 closed.
~/termux-qemu-usb $ 
~/termux-qemu-usb $ rm -i 1gb-on-internal-storage
rm: remove regular file '1gb-on-internal-storage'? y
~/termux-qemu-usb $ 
~/termux-qemu-usb $ lftp 127.0.0.1 -p 50021
lftp 127.0.0.1:~> cd usb1/tmp
cd ok, cwd=/usb1/tmp                 
lftp 127.0.0.1:/usb1/tmp> get 1gb-on-internal-storage
1073741824 bytes transferred in 294 seconds (3.49 MiB/s)                        
lftp 127.0.0.1:/usb1/tmp> quit
~/termux-qemu-usb $ 
~/termux-qemu-usb $ sha256sum 1gb-on-internal-storage
49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14  1gb-on-internal-storage
~/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:~# 
localhost:~# umount /media/usb1
localhost:~# eject /dev/sda
eject: /dev/sda: is not ejectable device
localhost:~# 
localhost:~# dmesg|tail -1
[30264.910139] EXT4-fs (sda2): unmounting filesystem 75b26c06-f935-4701-88db-741aaaa13ef2.
localhost:~# exit
logout
Connection to 127.0.0.1 closed.
~/termux-qemu-usb $ 

From The qemu Session: Power down the QEMU Linux Server. A graceful shutdown. An orderly shutdown.

Welcome to Alpine Linux 3.20
Kernel 6.6.32-0-virt on an x86_64 (/dev/ttyS0)

localhost login: root
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:~# poweroff
localhost:~# 
[31477.277009] reboot: Power down
~/termux-qemu-usb $ 
~/termux-qemu-usb $ 

 

The QEMU Linux Server: Three USB flash drives and a USB hub, start the QEMU Linux Server without "-chardev socket" and without "-device usb-redir"

From The usbredirect Session:

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

Plug the USB hub in the smartphone's USB-C (USB Type-C) 2.0 port, this hub is powered only by the smartphone

~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -l
[
  "/dev/bus/usb/001/004"
]
~/termux-qemu-usb $ 

Plug in the first USB flash drive

~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -l
[
  "/dev/bus/usb/001/005",
  "/dev/bus/usb/001/004"
]
~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -r /dev/bus/usb/001/005
Access granted.
~/termux-qemu-usb $ 

Plug in the second USB flash drive

~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -l
[
  "/dev/bus/usb/001/006",
  "/dev/bus/usb/001/005",
  "/dev/bus/usb/001/004"
]
~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -r /dev/bus/usb/001/006
Access granted.
~/termux-qemu-usb $ 

Plug in the third USB flash drive

~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -l
[
  "/dev/bus/usb/001/006",
  "/dev/bus/usb/001/005",
  "/dev/bus/usb/001/007",
  "/dev/bus/usb/001/004"
]
~/termux-qemu-usb $ 
~/termux-qemu-usb $ termux-usb -r /dev/bus/usb/001/007
Access granted.
~/termux-qemu-usb $ 

~/termux-qemu-usb $ termux-usb -e "/data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/005 --as 127.0.0.1:10001" /dev/bus/usb/001/005 &

[1] 9161
~/termux-qemu-usb $ 

IN-MAIN-BEFORE-parse_opts argc = 6



IN-MAIN-BEFORE-parse_opts argv[0] = /data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect



IN-MAIN-BEFORE-parse_opts argv[1] = --device



IN-MAIN-BEFORE-parse_opts argv[2] = /dev/bus/usb/001/005



IN-MAIN-BEFORE-parse_opts argv[3] = --as



IN-MAIN-BEFORE-parse_opts argv[4] = 127.0.0.1:10001



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/usb-test/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: 

~/termux-qemu-usb $ 

~/termux-qemu-usb $ termux-usb -e "/data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/006 --as 127.0.0.1:10002" /dev/bus/usb/001/006 &

[2] 9173
~/termux-qemu-usb $ 

IN-MAIN-BEFORE-parse_opts argc = 6



IN-MAIN-BEFORE-parse_opts argv[0] = /data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect



IN-MAIN-BEFORE-parse_opts argv[1] = --device



IN-MAIN-BEFORE-parse_opts argv[2] = /dev/bus/usb/001/006



IN-MAIN-BEFORE-parse_opts argv[3] = --as



IN-MAIN-BEFORE-parse_opts argv[4] = 127.0.0.1:10002



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/usb-test/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: 

~/termux-qemu-usb $ 

~/termux-qemu-usb $ termux-usb -e "/data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/007 --as 127.0.0.1:10003" /dev/bus/usb/001/007 &

[3] 9184
~/termux-qemu-usb $ 

IN-MAIN-BEFORE-parse_opts argc = 6



IN-MAIN-BEFORE-parse_opts argv[0] = /data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect



IN-MAIN-BEFORE-parse_opts argv[1] = --device



IN-MAIN-BEFORE-parse_opts argv[2] = /dev/bus/usb/001/007



IN-MAIN-BEFORE-parse_opts argv[3] = --as



IN-MAIN-BEFORE-parse_opts argv[4] = 127.0.0.1:10003



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/usb-test/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: 0781
Product ID: 5575
Manufacturer: SanDisk
Product: Cruzer Glide
Serial No: 

~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
parallel0: filename=null
serial0: filename=mux
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
serial0-base: filename=stdio
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
(qemu) ~/termux-qemu-usb $ 
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'chardev-add socket,host=127.0.0.1,port=10001,id=c1' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) chardev-add socket,host=127.0.0.1,port=10001,id=c1
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_add usb-redir,chardev=c1,id=u1,debug=3' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_add usb-redir,chardev=c1,id=u1,debug=3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'chardev-add socket,host=127.0.0.1,port=10002,id=c2' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) chardev-add socket,host=127.0.0.1,port=10002,id=c2
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_add usb-redir,chardev=c2,id=u2,debug=3' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_add usb-redir,chardev=c2,id=u2,debug=3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'chardev-add socket,host=127.0.0.1,port=10003,id=c3' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) chardev-add socket,host=127.0.0.1,port=10003,id=c3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_add usb-redir,chardev=c3,id=u3,debug=3' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_add usb-redir,chardev=c3,id=u3,debug=3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
c2: filename=tcp:127.0.0.1:53782 <-> 127.0.0.1:10002
parallel0: filename=null
c3: filename=tcp:127.0.0.1:36236 <-> 127.0.0.1:10003
serial0: filename=mux
c1: filename=tcp:127.0.0.1:44622 <-> 127.0.0.1:10001
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
serial0-base: filename=stdio
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
  Device 0.2, Port 1, Speed 480 Mb/s, Product USB Redirection Device, ID: u1
  Device 0.3, Port 2, Speed 480 Mb/s, Product USB Redirection Device, ID: u2
  Device 0.4, Port 3, Speed 480 Mb/s, Product USB Redirection Device, ID: u3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/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:~# 
localhost:~# 
localhost:~# dmesg | tail -47
[ 1778.265933] usb 1-1: New USB device found, idVendor=0718, idProduct=7722, bcdDevice= 1.00
[ 1778.271420] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1778.272358] usb 1-1: Product: USB Flash Drive
[ 1778.274887] usb 1-1: Manufacturer: Memorex
[ 1778.275548] usb 1-1: SerialNumber: 
[ 1778.486534] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 1778.707566] scsi host6: usb-storage 1-1:1.0
[ 1780.818823] scsi 6:0:0:0: Direct-Access     Memorex  USB Flash Drive  PMAP PQ: 0 ANSI: 6
[ 1781.894127] sd 6:0:0:0: [sda] 30285824 512-byte logical blocks: (15.5 GB/14.4 GiB)
[ 1782.275676] sd 6:0:0:0: [sda] Write Protect is off
[ 1782.278187] sd 6:0:0:0: [sda] Mode Sense: 23 00 00 00
[ 1782.686127] sd 6:0:0:0: [sda] No Caching mode page found
[ 1782.686864] sd 6:0:0:0: [sda] Assuming drive cache: write through
[ 1785.561563]  sda: sda1 sda2 sda3 sda4
[ 1786.054840] sd 6:0:0:0: [sda] Attached SCSI removable disk
[ 1789.824649] usbcore: registered new interface driver uas
[ 1909.870036] usb 1-2: new high-speed USB device number 3 using ehci-pci
[ 1910.360387] usb 1-2: New USB device found, idVendor=0718, idProduct=7722, bcdDevice= 1.00
[ 1910.372363] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1910.374732] usb 1-2: Product: USB Flash Drive
[ 1910.375517] usb 1-2: Manufacturer: Memorex
[ 1910.376024] usb 1-2: SerialNumber: 
[ 1910.618612] usb-storage 1-2:1.0: USB Mass Storage device detected
[ 1910.796241] scsi host7: usb-storage 1-2:1.0
[ 1912.598160] scsi 7:0:0:0: Direct-Access     Memorex  USB Flash Drive  PMAP PQ: 0 ANSI: 6
[ 1913.759084] sd 7:0:0:0: [sdb] 30285824 512-byte logical blocks: (15.5 GB/14.4 GiB)
[ 1914.069160] sd 7:0:0:0: [sdb] Write Protect is off
[ 1914.071668] sd 7:0:0:0: [sdb] Mode Sense: 23 00 00 00
[ 1914.370223] sd 7:0:0:0: [sdb] No Caching mode page found
[ 1914.370978] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[ 1917.335774]  sdb: sdb1
[ 1917.505062] sd 7:0:0:0: [sdb] Attached SCSI removable disk
[ 1962.246918] usb 1-3: new high-speed USB device number 4 using ehci-pci
[ 1962.578167] usb 1-3: New USB device found, idVendor=0781, idProduct=5575, bcdDevice= 1.00
[ 1962.579045] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1962.579359] usb 1-3: Product: Cruzer Glide
[ 1962.579610] usb 1-3: Manufacturer: SanDisk
[ 1962.579841] usb 1-3: SerialNumber: 
[ 1962.656456] usb-storage 1-3:1.0: USB Mass Storage device detected
[ 1962.760978] scsi host8: usb-storage 1-3:1.0
[ 1964.276358] scsi 8:0:0:0: Direct-Access     SanDisk  Cruzer Glide     1.00 PQ: 0 ANSI: 6
[ 1965.153772] sd 8:0:0:0: [sdc] 60088320 512-byte logical blocks: (30.8 GB/28.7 GiB)
[ 1965.665504] sd 8:0:0:0: [sdc] Write Protect is off
[ 1965.665877] sd 8:0:0:0: [sdc] Mode Sense: 43 00 00 00
[ 1966.035674] sd 8:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 1968.697846]  sdc: sdc1 sdc2
[ 1968.905904] sd 8:0:0:0: [sdc] Attached SCSI removable disk
localhost:~# 
localhost:~# 
localhost:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux 6.6.32-0-virt ehci_hcd EHCI Host Controller
Bus 001 Device 002: ID 0718:7722 Memorex USB Flash Drive
Bus 001 Device 003: ID 0718:7722 Memorex USB Flash Drive
Bus 001 Device 004: ID 0781:5575 SanDisk Cruzer Glide
Bus 002 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
Bus 003 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
Bus 004 Device 001: ID 1d6b:0001 Linux 6.6.32-0-virt uhci_hcd UHCI Host Controller
localhost:~# 
localhost:~# lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Device 1234:1111 (rev 02)
00:02.0 Unclassified device [00ff]: Red Hat, Inc. Virtio RNG
00:03.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
00:04.0 SCSI storage controller: Red Hat, Inc. Virtio block device
00:05.0 Unclassified device [0002]: Red Hat, Inc. Virtio filesystem
00:06.0 Unclassified device [0002]: Red Hat, Inc. Virtio filesystem
00:07.0 Unclassified device [0002]: Red Hat, Inc. Virtio filesystem
00:08.0 Communication controller: Red Hat, Inc. Virtio console
00:09.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 03)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
localhost:~# 
localhost:~# 
localhost:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    1 14.4G  0 disk 
├─sda1   8:1    1    5G  0 part 
├─sda2   8:2    1    4G  0 part 
├─sda3   8:3    1    4G  0 part 
└─sda4   8:4    1  1.4G  0 part 
sdb      8:16   1 14.4G  0 disk 
└─sdb1   8:17   1  7.5G  0 part 
sdc      8:32   1 28.7G  0 disk 
├─sdc1   8:33   1  763M  0 part 
└─sdc2   8:34   1  1.4M  0 part 
sr0     11:0    1    2K  0 rom  
vda    253:0    0    3G  0 disk 
├─vda1 253:1    0  300M  0 part /boot
├─vda2 253:2    0  768M  0 part [SWAP]
└─vda3 253:3    0    2G  0 part /
localhost:~#
localhost:~# 
localhost:~# blkid
/dev/vda1: UUID="933abcba-6d5f-40f4-9584-b373deac796f" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="0c1ddc57-01"
/dev/vda2: UUID="088d8ec9-c1c5-46f1-8377-200028167bf7" TYPE="swap" PARTUUID="0c1ddc57-02"
/dev/vda3: UUID="ae7bb8b0-5180-432a-80a5-e4a3065e4684" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="0c1ddc57-03"
/dev/sdb1: UUID="5ee3a5ad-4b85-4605-96d8-3b73de2d3ac8" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c19b227b-01"
/dev/sdc2: SEC_TYPE="msdos" UUID="FD65-B84F" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="30b0cd44-02"
/dev/sdc1: BLOCK_SIZE="2048" UUID="2023-09-16-19-29-40-00" LABEL="RESCUE1002" TYPE="iso9660" PTUUID="30b0cd44" PTTYPE="dos" PARTUUID="30b0cd44-01"
/dev/sda4: LABEL="ntfs" BLOCK_SIZE="512" UUID="43BD723B70C177A1" TYPE="ntfs" PARTUUID="3ca64fe0-04"
/dev/sda2: LABEL="exfat" UUID="FFD8-F7EB" BLOCK_SIZE="512" TYPE="exfat" PARTUUID="3ca64fe0-02"
/dev/sda3: LABEL_FATBOOT="vfat" LABEL="vfat" UUID="8335-32B9" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="3ca64fe0-03"
/dev/sda1: LABEL="ext4" UUID="42b11d91-c418-4919-b732-f61da2b45308" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3ca64fe0-01"
localhost:~# 
localhost:~# 
localhost:~# eject /dev/sda
localhost:~# 
localhost:~# eject /dev/sdb
localhost:~# 
localhost:~# eject /dev/sdc
localhost:~# 
localhost:~# dmesg|tail
[ 1964.276358] scsi 8:0:0:0: Direct-Access     SanDisk  Cruzer Glide     1.00 PQ: 0 ANSI: 6
[ 1965.153772] sd 8:0:0:0: [sdc] 60088320 512-byte logical blocks: (30.8 GB/28.7 GiB)
[ 1965.665504] sd 8:0:0:0: [sdc] Write Protect is off
[ 1965.665877] sd 8:0:0:0: [sdc] Mode Sense: 43 00 00 00
[ 1966.035674] sd 8:0:0:0: [sdc] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[ 1968.697846]  sdc: sdc1 sdc2
[ 1968.905904] sd 8:0:0:0: [sdc] Attached SCSI removable disk
[ 2262.826761] sda: detected capacity change from 30285824 to 0
[ 2273.175135] sdb: detected capacity change from 30285824 to 0
[ 2281.673452] sdc: detected capacity change from 60088320 to 0
localhost:~# 
localhost:~#
localhost:~# exit
logout
Connection to 127.0.0.1 closed.
~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
c2: filename=tcp:127.0.0.1:53782 <-> 127.0.0.1:10002
parallel0: filename=null
c3: filename=tcp:127.0.0.1:36236 <-> 127.0.0.1:10003
serial0: filename=mux
c1: filename=tcp:127.0.0.1:44622 <-> 127.0.0.1:10001
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
serial0-base: filename=stdio
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
  Device 0.2, Port 1, Speed 480 Mb/s, Product USB Redirection Device, ID: u1
  Device 0.3, Port 2, Speed 480 Mb/s, Product USB Redirection Device, ID: u2
  Device 0.4, Port 3, Speed 480 Mb/s, Product USB Redirection Device, ID: u3
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_del u3' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_del u3
(qemu) ~/termux-qemu-usb $ 
[3]+  Done                    termux-usb -e "/data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/007 --as 127.0.0.1:10003" /dev/bus/usb/001/007
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_del u2' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_del u2
(qemu) ~/termux-qemu-usb $ 
[2]+  Done                    termux-usb -e "/data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/006 --as 127.0.0.1:10002" /dev/bus/usb/001/006
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'device_del u1' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) device_del u1
(qemu) ~/termux-qemu-usb $ 
[1]+  Done                    termux-usb -e "/data/data/com.termux/files/home/usb-test/usbredir-main/build/tools/usbredirect --device /dev/bus/usb/001/005 --as 127.0.0.1:10001" /dev/bus/usb/001/005
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info chardev' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info chardev
parallel0: filename=null
serial0: filename=mux
compat_monitor0: filename=unix:/data/data/com.termux/files/home/termux-qemu-usb/qemu.socket,server=on
serial0-base: filename=stdio
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'info usb' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) info usb
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'help system_powerdown' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) help system_powerdown
system_powerdown  -- send system power down event
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ echo 'system_powerdown' | nc -UN qemu.socket
QEMU 8.0.2 monitor - type 'help' for more information
(qemu) system_powerdown
(qemu) ~/termux-qemu-usb $ 
~/termux-qemu-usb $ 

From The qemu Session: Start the QEMU Linux Server without "-chardev socket" and without "-device usb-redir"

~/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

[   60.816097] virtio_blk virtio1: 4/0/0 default/read/poll queues
[   60.964962] virtio_blk virtio1: [vda] 6291456 512-byte logical blocks (3.22 GB/3.00 GiB)
[   61.097094]  vda: vda1 vda2 vda3
[   91.613359] block sr0: the capability attribute has been deprecated.
[  102.368333] hrtimer: interrupt took 57532540 ns
[  109.518362] EXT4-fs (vda3): orphan cleanup on readonly fs
[  109.561524] EXT4-fs (vda3): mounted filesystem ae7bb8b0-5180-432a-80a5-e4a3065e4684 ro with ordered data mode. Quota mode: none.
[  109.619132] Mounting root: ok.
ok.

   OpenRC 0.54 is starting up Linux 6.6.32-0-virt (x86_64)

 * /proc is already mounted
 * Mounting /run ... [ ok ]
 * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner
 * Caching service dependencies ... [ ok ]
 * Remounting devtmpfs on /dev ... [ ok ]
 * Mounting /dev/mqueue ... [ ok ]
 * Mounting security filesystem ... [ ok ]
 * Mounting debug filesystem ... [ ok ]
 * Mounting persistent storage (pstore) filesystem ... [ ok ]
 * Starting busybox mdev ... [ ok ]
 * Scanning hardware for mdev ... [ ok ]
 * Loading hardware drivers ... [ ok ]
 * Loading modules ... [ ok ]
 * Setting system clock using the hardware clock [UTC] ... [ ok ]
 * Checking local filesystems  .../dev/vda3: clean, 37375/128256 files, 229116/512768 blocks
/dev/vda1: clean, 28/76912 files, 54036/307200 blocks
 [ ok ]
 * Remounting root filesystem read/write ... [ ok ]
 * Remounting filesystems ... [ ok ]
 * Activating swap devices ... [ ok ]
 * Mounting local filesystems ... [ ok ]
 * Configuring kernel parameters ... [ ok ]
 * Creating user login records ... [ ok ]
 * Setting hostname ... [ ok ]
 * Starting networking ... *   lo ... [ ok ]
 *   eth0 ...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
 [ ok ]
 * Seeding random number generator ... * Seeding 256 bits and crediting
 * Saving 256 bits of creditable seed for next boot
 [ ok ]
 * Starting busybox syslog ... [ ok ]
 * Starting busybox acpid ... [ ok ]
 * Starting busybox crond ... [ ok ]
 * Starting rngd ... [ ok ]
 * Starting sshd ... [ ok ]
 * Starting vsftpd ... [ ok ]

Welcome to Alpine Linux 3.20
Kernel 6.6.32-0-virt on an x86_64 (/dev/ttyS0)

localhost login: qemu-system-x86_64: usbredirparser: Peer version: usbredir 0.14.0, using 64-bits ids
qemu-system-x86_64: usb-redir: attaching high speed device 0718:7722 version 1.0 class 00

qemu-system-x86_64: usbredirparser: Peer version: usbredir 0.14.0, using 64-bits ids
qemu-system-x86_64: usb-redir: attaching high speed device 0718:7722 version 1.0 class 00

qemu-system-x86_64: usbredirparser: Peer version: usbredir 0.14.0, using 64-bits ids
qemu-system-x86_64: usb-redir: attaching high speed device 0781:5575 version 1.0 class 00

 * Stopping vsftpd ... * Stopping sshd ... [ ok ]
 * Stopping rngd ... [ ok ]
 * Saving random number generator seed ... * Seeding 256 bits and crediting
 * Saving 256 bits of creditable seed for next boot
 [ ok ]
 * Stopping busybox crond ... [ ok ]
 * Stopping busybox syslog ... [ ok ]
 * Stopping busybox acpid ... [ ok ]
 * Unmounting loop devices
 * Unmounting filesystems
 *   Unmounting /tmp ... [ ok ]
 *   Unmounting /boot ... [ ok ]
 * Deactivating swap devices ... [ ok ]
 * Setting hardware clock using the system clock [UTC] ... [ ok ]
 * Stopping busybox mdev ... [ ok ]
 * Terminating remaining processes ...[ 2858.873026] reboot: Power down
~/termux-qemu-usb $ 

Software

 

Links: usbredirect, usbredir

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment