This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tech:linux:ubuntu:start [2022/05/09 23:47] rk4n3 |
tech:linux:ubuntu:start [2023/04/21 10:11] (current) rk4n3 |
||
---|---|---|---|
Line 26: | Line 26: | ||
* For wifi: wpasupplicant | * For wifi: wpasupplicant | ||
* For audio: jack2 pulseaudio pulseaudio-module-jack qjackctl | * For audio: jack2 pulseaudio pulseaudio-module-jack qjackctl | ||
- | * For X: xorg xinit xauth x11-xserver-utils xterm notion fvwm stalonetray | + | * For X: xorg xinit xauth x11-xserver-utils xterm notion fvwm stalonetray xscreensaver xscreensaver-gl-extra xscreensaver-data-extra |
* tigervnc-viewer | * tigervnc-viewer | ||
* Networking ''/etc/netplan/whateveryourfilenameis.yaml'': \\ //(Note: ''wifis'' section optional)//<code yaml>network: | * Networking ''/etc/netplan/whateveryourfilenameis.yaml'': \\ //(Note: ''wifis'' section optional)//<code yaml>network: | ||
Line 134: | Line 134: | ||
* Create filesystem directly on the physical device | * Create filesystem directly on the physical device | ||
* Add entry to ''/etc/fstab'' to mount the filesystem at desired location | * Add entry to ''/etc/fstab'' to mount the filesystem at desired location | ||
- | * Sample VM start-up script: <code bash> | + | * Sample VM start-up script: [[:tech:virt:start|startvm]] |
- | #!/bin/bash | + | |
- | VMN=yourvmname | + | |
- | VNC="12" | + | |
- | MAC0="DE:AD:BE:EF:00:12" | + | |
- | + | ||
- | VMH=/var/lib/kvm | + | |
- | CPUT=EPYC | + | |
- | CPUS=4 | + | |
- | VMM=8G | + | |
- | VGA="-vga virtio -display gtk" | + | |
- | # Headless ... | + | |
- | #VGA="-vnc localhost:${VNC} -daemonize" | + | |
- | + | ||
- | VGN="yourvgname" | + | |
- | SIM= | + | |
- | HD0= | + | |
- | HD1= | + | |
- | HD2= | + | |
- | NIC0= | + | |
- | NIC1= | + | |
- | TPM= | + | |
- | SND= | + | |
- | + | ||
- | # Boot device - d=cdrom, c=disk | + | |
- | BOOT="-boot c" | + | |
- | + | ||
- | function initTPM { | + | |
- | TPD=$(ps -ef | grep swtpm | grep -v grep) | + | |
- | if [ "${TPM}" != "" -a "${TPD}" == "" ]; then | + | |
- | swtpm socket -d --tpmstate dir=/var/lib/kvm/${VMN}/tpm --ctrl type=unixio,path=/var/lib/kvm/${VMN}/tpm/sock --log file=tpm.log,level=20 --tpm2 | + | |
- | else echo "NFO=>>> software TPM daemon detected, skipping its startup" ; fi | + | |
- | } | + | |
- | + | ||
- | function vmOptionsWin11 { | + | |
- | CPUT=EPYC,kvm_pv_eoi=on | + | |
- | # SIM="-cdrom ${VMH}/iso/Win11_English_x64v1.iso" | + | |
- | # SIM="-cdrom ${VMH}/iso/virtio-win-0.1.208.iso" | + | |
- | HD0="-hda vda" | + | |
- | HD1="-drive file=/dev/${VGN}/dwin,index=1,media=disk,format=raw" | + | |
- | # NIC0="-netdev bridge,id=${VMN}eth0,br=br0 -device e1000,netdev=${VMN}eth0,mac=${MAC0}" | + | |
- | NIC0="-netdev bridge,id=${VMN}eth0,br=br0 -device virtio-net-pci,netdev=${VMN}eth0,mac=${MAC0}" | + | |
- | TPM="-bios /usr/share/ovmf/OVMF.fd -chardev socket,id=chrtpm,path=/var/lib/kvm/${VMN}/tpm/sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0" | + | |
- | initTPM | + | |
- | } | + | |
- | + | ||
- | function vmOptionsLinux { | + | |
- | # SIM="-cdrom ${VMH}/iso/ubuntu-20.04.3-live-server-amd64.iso" | + | |
- | HD0="-drive file=vda,if=virtio" | + | |
- | HD1="-drive file=vdb,if=virtio" | + | |
- | HD2="-drive file=/dev/${VGN}/${VMN}home,if=virtio,index=2,media=disk,format=raw" | + | |
- | NIC0="-netdev bridge,id=${VMN}eth0,br=br0 -device virtio-net-pci,netdev=${VMN}eth0,mac=${MAC0}" | + | |
- | } | + | |
- | + | ||
- | function vmOptions { | + | |
- | vmOptionsLinux | + | |
- | # vmOptionsWin11 | + | |
- | } | + | |
- | + | ||
- | cd ${VMH}/${VMN} | + | |
- | vmOptions | + | |
- | qemu-system-x86_64 -machine pc,accel=kvm -name "${VMN}" -cpu ${CPUT} -smp ${CPUS} -m ${VMM} ${BOOT} ${VGA} ${NIC0} ${NIC1} ${HD0} ${HD1} ${HD2} ${SIM} ${TPM} ${SND} | + | |
- | </code> | + | |
==== Advanced/Other Virtualization ==== | ==== Advanced/Other Virtualization ==== | ||
Line 235: | Line 173: | ||
* vim-gtk | * vim-gtk | ||
* openssh-server | * openssh-server | ||
- | * ksh | ||
* htop | * htop | ||
* git | * git | ||
Line 270: | Line 207: | ||
daemon-binary = /bin/true | daemon-binary = /bin/true | ||
</code> | </code> | ||
+ | * Change in ''/etc/pulse/daemon.conf'': <code>daemonize = no</code> | ||
* Rename startup file: <code bash>mv /etc/rc2.d/S50pulseaudio /etc/rc2.d/K50pulseaudio</code> | * Rename startup file: <code bash>mv /etc/rc2.d/S50pulseaudio /etc/rc2.d/K50pulseaudio</code> | ||
* Completely disable any depedency service spawning: <code>sudo systemctl mask pulseaudio</code> | * Completely disable any depedency service spawning: <code>sudo systemctl mask pulseaudio</code> | ||
Line 464: | Line 402: | ||
====== Some Hardware Trivia ====== | ====== Some Hardware Trivia ====== | ||
+ | |||
+ | ==== Mouse lag on Raspberry Pi 4b ==== | ||
+ | In ''/boot/firmware/cmdline.txt'', add to end of line: | ||
+ | <code>usbhid.mousepoll=8</code> | ||
==== ACEPC W5 Pro: wifi ==== | ==== ACEPC W5 Pro: wifi ==== |