Paste: qemu arch arm64
Author: | erg |
Mode: | text |
Date: | Fri, 18 Aug 2023 18:03:39 |
Plain Text |
qemu-system-aarch64 -L /Applications/UTM.app/Contents/Resources/qemu -S -spice unix=on,addr=2F2C4095-EC5B-49CD-A654-FE17D7EC7CAA.spice,disable-ticketing=on,image-compression=off,playback-compression=off,streaming-video=off,gl=off -chardev spiceport,id=org.qemu.monitor.qmp,name=org.qemu.monitor.qmp.0 -mon chardev=org.qemu.monitor.qmp,mode=control -nodefaults -vga none -device virtio-net-pci,mac=16:7C:DF:F1:FC:DE,netdev=net0 -netdev vmnet-shared,id=net0 -nographic -chardev spiceport,id=term0,name=com.utmapp.terminal.0 -serial chardev:term0 -cpu host -smp cpus=8,sockets=1,cores=8,threads=1 -machine virt -accel hvf -drive if=pflash,format=raw,unit=0,file=/Applications/UTM.app/Contents/Resources/qemu/edk2-aarch64-code.fd,readonly=on -drive if=pflash,unit=1,file=/Users/erg/Library/Containers/com.utmapp.UTM/Data/Documents/ArchLinux.utm/Data/efi_vars.fd -m 2048 -audiodev spice,id=audio0 -device intel-hda -device hda-duplex,audiodev=audio0 -device nec-usb-xhci,id=usb-bus -device usb-tablet,bus=usb-bus.0 -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 -device qemu-xhci,id=usb-controller-0 -chardev spicevmc,name=usbredir,id=usbredirchardev0 -device usb-redir,chardev=usbredirchardev0,id=usbredirdev0,bus=usb-controller-0.0 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=usb-controller-0.0 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=usb-controller-0.0 -device usb-storage,drive=drive03019F2F-A7F2-4B33-B2CF-1F6A72E60438,removable=true,bootindex=0,bus=usb-bus.0 -drive if=none,media=cdrom,id=drive03019F2F-A7F2-4B33-B2CF-1F6A72E60438,readonly=on -device virtio-blk-pci,drive=driveBB208CBD-BFB4-4895-9542-48527C9E5473,bootindex=1 -drive if=none,media=disk,id=driveBB208CBD-BFB4-4895-9542-48527C9E5473,file=/Users/erg/Library/Containers/com.utmapp.UTM/Data/Documents/ArchLinux.utm/Data/BB208CBD-BFB4-4895-9542-48527C9E5473.qcow2,discard=unmap,detect-zeroes=unmap -device virtio-serial -device virtserialport,chardev=org.qemu.guest_agent,name=org.qemu.guest_agent.0 -chardev spiceport,id=org.qemu.guest_agent,name=org.qemu.guest_agent.0 -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -chardev spicevmc,id=vdagent,debug=0,name=vdagent -name ArchLinux -uuid 2F2C4095-EC5B-49CD-A654-FE17D7EC7CAA -device virtio-rng-pci
Author: | erg |
Mode: | factor |
Date: | Fri, 18 Aug 2023 18:05:31 |
Plain Text |
Alright, that's quite a command! Let's break down the pieces to see what each part does.
1. **`qemu-system-aarch64`**: This starts the QEMU emulator for an ARM64/aarch64 architecture.
2. **`-L /Applications/UTM.app/Contents/Resources/qemu`**: Specifies the directory where QEMU should look for BIOS, VGA BIOS, and keymaps.
3. **`-S`**: Halts the CPU at startup, allowing you to connect a debugger or other tool before code execution begins.
4. **`-spice`**: Configures the SPICE server. It's a protocol for remote computing. The options that follow configure various aspects like UNIX sockets, compression settings, and video streaming.
5. **`-chardev spiceport`**: Defines a character device backend for SPICE.
6. **`-mon chardev=org.qemu.monitor.qmp,mode=control`**: Configures the QEMU monitor for QMP (QEMU Machine Protocol) control.
7. **`-nodefaults`**: Doesn't create default devices, allowing finer control over the virtual machine's configuration.
8. **`-vga none`**: Disables VGA emulation.
9. **`-device virtio-net-pci`**: Creates a network device using the virtio driver.
10. **`-netdev vmnet-shared`**: Configures the network backend.
11. **`-nographic`**: Disables graphical output, suitable for headless operation.
12. **`-cpu host`**: Uses the host's CPU model for emulation.
13. **`-smp cpus=8,sockets=1,cores=8,threads=1`**: Configures the CPU topology.
14. **`-machine virt`**: Sets the machine type to 'virt,' a virtual machine.
15. **`-accel hvf`**: Uses the Hypervisor.framework (HVF) for hardware-assisted virtualization.
16. **`-drive`**: Configures various drives, like flash memories and hard disks.
17. **`-m 2048`**: Sets the memory size to 2048 MB.
18. **`-audiodev`**: Configures audio devices.
19. **`-device`**: Defines various devices like USB controllers, audio, and more.
20. **`-chardev spicevmc`**: Defines character device backends for SPICE, including USB redirection.
21. **`-name ArchLinux`**: Names the virtual machine 'ArchLinux.'
22. **`-uuid`**: Sets a unique identifier for the virtual machine.
23. **`-device virtio-rng-pci`**: Adds a hardware random number generator device.
Overall, this command creates a highly customized virtual machine running on an ARM64 architecture, using various specific devices and configurations. It looks like it's designed for running an ArchLinux instance on an application like UTM, with particular attention to network, audio, and USB configurations.
Author: | erg |
Mode: | factor |
Date: | Fri, 18 Aug 2023 18:10:29 |
Plain Text |
qemu-system-aarch64 \
-L /Applications/UTM.app/Contents/Resources/qemu \
-S \
-spice unix=on,addr=2F2C4095-EC5B-49CD-A654-FE17D7EC7CAA.spice,disable-ticketing=on,image-compression=off,playback-compression=off,streaming-video=off,gl=off \
-chardev spiceport,id=org.qemu.monitor.qmp,name=org.qemu.monitor.qmp.0 \
-mon chardev=org.qemu.monitor.qmp,mode=control \
-nodefaults \
-vga none \
-device virtio-net-pci,mac=16:7C:DF:F1:FC:DE,netdev=net0 \
-netdev vmnet-shared,id=net0 \
-nographic \
-chardev spiceport,id=term0,name=com.utmapp.terminal.0 \
-serial chardev:term0 \
-cpu host \
-smp cpus=8,sockets=1,cores=8,threads=1 \
-machine virt \
-accel hvf \
-drive if=pflash,format=raw,unit=0,file=/Applications/UTM.app/Contents/Resources/qemu/edk2-aarch64-code.fd,readonly=on \
-drive if=pflash,unit=1,file=/Users/erg/Library/Containers/com.utmapp.UTM/Data/Documents/ArchLinux.utm/Data/efi_vars.fd \
-m 2048 \
-audiodev spice,id=audio0 \
-device intel-hda \
-device hda-duplex,audiodev=audio0 \
-device nec-usb-xhci,id=usb-bus \
-device usb-tablet,bus=usb-bus.0 \
-device usb-mouse,bus=usb-bus.0 \
-device usb-kbd,bus=usb-bus.0 \
-device qemu-xhci,id=usb-controller-0 \
-chardev spicevmc,name=usbredir,id=usbredirchardev0 \
-device usb-redir,chardev=usbredirchardev0,id=usbredirdev0,bus=usb-controller-0.0 \
-chardev spicevmc,name=usbredir,id=usbredirchardev1 \
-device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=usb-controller-0.0 \
-chardev spicevmc,name=usbredir,id=usbredirchardev2 \
-device usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=usb-controller-0.0 \
-device usb-storage,drive=drive03019F2F-A7F2-4B33-B2CF-1F6A72E60438,removable=true,bootindex=0,bus=usb-bus.0 \
-drive if=none,media=cdrom,id=drive03019F2F-A7F2-4B33-B2CF-1F6A72E60438,readonly=on \
-device virtio-blk-pci,drive=driveBB208CBD-BFB4-4895-9542-48527C9E5473,bootindex=1 \
-drive if=none,media=disk,id=driveBB208CBD-BFB4-4895-9542-48527C9E5473,file=/Users/erg/Library/Containers/com.utmapp.UTM/Data/Documents/ArchLinux.utm/Data/BB208CBD-BFB4-4895-9542-48527C9E5473.qcow2,discard=unmap,detect-zeroes=unmap \
-device virtio-serial \
-device virtserialport,chardev=org.qemu.guest_agent,name=org.qemu.guest_agent.0 \
-chardev spiceport,id=org.qemu.guest_agent,name=org.qemu.guest_agent.0 \
-device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \
-chardev spicevmc,id=vdagent,debug=0,name=vdagent \
-name ArchLinux \
-uuid 2F2C4095-EC5B-49CD-A654-FE17D7EC7CAA \
-device virtio-rng-pci
New Annotation