diff options
-rw-r--r-- | lindy/systemd/alps-inria.service | 15 | ||||
-rw-r--r-- | lindy/systemd/dino-background.service | 14 | ||||
-rw-r--r-- | lindy/systemd/rclone-mount@.service | 15 | ||||
-rw-r--r-- | lindy/systemd/scream-client.service | 16 | ||||
-rw-r--r-- | lindy/systemd/secure-tunnel@.service | 16 | ||||
-rwxr-xr-x | lindy/vm/vmconf.sh | 30 | ||||
-rwxr-xr-x | lindy/vm/vmunconf.sh | 17 | ||||
-rw-r--r-- | lindy/vm/win10_vm_conf_20211123.xml | 208 |
8 files changed, 331 insertions, 0 deletions
diff --git a/lindy/systemd/alps-inria.service b/lindy/systemd/alps-inria.service new file mode 100644 index 0000000..c338b4f --- /dev/null +++ b/lindy/systemd/alps-inria.service @@ -0,0 +1,15 @@ +[Unit] +Description=Alps mail server for zimbra.inria.fr +After=network.target + +[Service] +WorkingDirectory=/home/lx/Deuxfleurs/alps +ExecStart=/usr/bin/go run ./cmd/alps -theme alps imaps://zimbra.inria.fr:993 smtp://smtp.inria.fr:587 + +# Restart every >2 seconds to avoid StartLimitInterval failure +RestartSec=5 +Restart=always + +[Install] +WantedBy=default.target + diff --git a/lindy/systemd/dino-background.service b/lindy/systemd/dino-background.service new file mode 100644 index 0000000..2ccd4c3 --- /dev/null +++ b/lindy/systemd/dino-background.service @@ -0,0 +1,14 @@ +[Unit] +Description=Run Dino chat client in background +After=network.target + +[Service] +ExecStart=dino --gapplication-service + +# Restart every >2 seconds to avoid StartLimitInterval failure +RestartSec=5 +Restart=always + +[Install] +WantedBy=default.target + diff --git a/lindy/systemd/rclone-mount@.service b/lindy/systemd/rclone-mount@.service new file mode 100644 index 0000000..e2237b5 --- /dev/null +++ b/lindy/systemd/rclone-mount@.service @@ -0,0 +1,15 @@ +[Unit] +Description=Mount a directory using rclone +After=network.target + +[Service] +ExecStartPre=sh -c "fusermount -u /home/lx.nobackup/mnt/%i || exit 0" +ExecStart=/usr/bin/rclone mount %i: /home/lx.nobackup/mnt/%i + +# Restart every >2 seconds to avoid StartLimitInterval failure +RestartSec=10 +Restart=always + +[Install] +WantedBy=default.target + diff --git a/lindy/systemd/scream-client.service b/lindy/systemd/scream-client.service new file mode 100644 index 0000000..164cf6b --- /dev/null +++ b/lindy/systemd/scream-client.service @@ -0,0 +1,16 @@ +[Unit] +Description=Stream audio from Scream +After=network.target + +[Service] +ExecStart=scream -o pulse -i virbr0 +LimitNICE=-11 +Nice=-11 + +# Restart every >2 seconds to avoid StartLimitInterval failure +RestartSec=5 +Restart=always + +[Install] +WantedBy=default.target + diff --git a/lindy/systemd/secure-tunnel@.service b/lindy/systemd/secure-tunnel@.service new file mode 100644 index 0000000..5054dd2 --- /dev/null +++ b/lindy/systemd/secure-tunnel@.service @@ -0,0 +1,16 @@ +[Unit] +Description=Setup a secure tunnel to %I +After=network.target + +[Service] +Environment="TARGET_PORT=22" +EnvironmentFile=/home/lx/.config/secure-tunnel/%i.conf +ExecStart=/usr/bin/ssh -NT -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes -p ${TARGET_PORT} ${TUNNEL_DEF} ${TARGET} + +# Restart every >2 seconds to avoid StartLimitInterval failure +RestartSec=5 +Restart=always + +[Install] +WantedBy=default.target + diff --git a/lindy/vm/vmconf.sh b/lindy/vm/vmconf.sh new file mode 100755 index 0000000..c5dfd7f --- /dev/null +++ b/lindy/vm/vmconf.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +set -x + +grep AnonHugePages /proc/meminfo + +sudo systemctl set-property --runtime -- user.slice AllowedCPUs=4-7 +sudo systemctl set-property --runtime -- user-1000.slice AllowedCPUs=4-7 +sudo systemctl set-property --runtime -- system.slice AllowedCPUs=4-7 +sudo systemctl set-property --runtime -- systemd-getty.slice AllowedCPUs=4-7 +sudo systemctl set-property --runtime -- init.scope AllowedCPUs=4-7 + +sudo echo f0 | sudo tee /sys/bus/workqueue/devices/writeback/cpumask + +MAX=4 +for i in $(seq $MAX); do + echo "== $i/$MAX ==" + echo 3 | sudo tee /proc/sys/vm/drop_caches + echo 1 | sudo tee /proc/sys/vm/compact_memory + sleep 5 + sudo virsh allocpages 2M 3072 + grep AnonHugePages /proc/meminfo +done + +sudo virsh start win10 + +systemctl --user restart scream-client + +grep AnonHugePages /proc/meminfo + diff --git a/lindy/vm/vmunconf.sh b/lindy/vm/vmunconf.sh new file mode 100755 index 0000000..768ebc1 --- /dev/null +++ b/lindy/vm/vmunconf.sh @@ -0,0 +1,17 @@ + +#!/bin/sh + +set -x + +grep AnonHugePages /proc/meminfo + +sudo systemctl set-property --runtime -- user.slice AllowedCPUs=0-7 +sudo systemctl set-property --runtime -- user-1000.slice AllowedCPUs=0-7 +sudo systemctl set-property --runtime -- system.slice AllowedCPUs=0-7 +sudo systemctl set-property --runtime -- systemd-getty.slice AllowedCPUs=0-7 +sudo systemctl set-property --runtime -- init.scope AllowedCPUs=0-7 + +sudo echo ff | sudo tee /sys/bus/workqueue/devices/writeback/cpumask + +sudo virsh allocpages 2M 0 + diff --git a/lindy/vm/win10_vm_conf_20211123.xml b/lindy/vm/win10_vm_conf_20211123.xml new file mode 100644 index 0000000..25a7b4e --- /dev/null +++ b/lindy/vm/win10_vm_conf_20211123.xml @@ -0,0 +1,208 @@ +<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> + <name>win10</name> + <uuid>7d426215-c3ea-4f8e-af7d-77c9b9ddb88d</uuid> + <metadata> + <libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0"> + <libosinfo:os id="http://microsoft.com/win/10"/> + </libosinfo:libosinfo> + </metadata> + <memory unit='KiB'>6291456</memory> + <currentMemory unit='KiB'>6291456</currentMemory> + <memoryBacking> + <hugepages/> + </memoryBacking> + <vcpu placement='static' cpuset='0-3'>4</vcpu> + <iothreads>1</iothreads> + <cputune> + <vcpupin vcpu='0' cpuset='0'/> + <vcpupin vcpu='1' cpuset='1'/> + <vcpupin vcpu='2' cpuset='2'/> + <vcpupin vcpu='3' cpuset='3'/> + <emulatorpin cpuset='4-7'/> + <iothreadpin iothread='1' cpuset='4-7'/> + </cputune> + <os> + <type arch='x86_64' machine='pc-q35-6.0'>hvm</type> + <loader readonly='yes' type='pflash'>/usr/share/edk2-ovmf/x64/OVMF_CODE.fd</loader> + <nvram>/var/lib/libvirt/qemu/nvram/win10_VARS.fd</nvram> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + <hyperv> + <relaxed state='on'/> + <vapic state='on'/> + <spinlocks state='on' retries='8191'/> + </hyperv> + <vmport state='off'/> + </features> + <cpu mode='host-passthrough' check='partial' migratable='on'> + <topology sockets='1' dies='1' cores='2' threads='2'/> + </cpu> + <clock offset='localtime'> + <timer name='rtc' tickpolicy='catchup'/> + <timer name='pit' tickpolicy='delay'/> + <timer name='hpet' present='no'/> + <timer name='hypervclock' present='yes'/> + </clock> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <pm> + <suspend-to-mem enabled='no'/> + <suspend-to-disk enabled='no'/> + </pm> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <disk type='block' device='disk'> + <driver name='qemu' type='raw'/> + <source dev='/dev/zvol/Zonz/win10'/> + <target dev='vda' bus='virtio'/> + <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> + </disk> + <disk type='file' device='cdrom'> + <driver name='qemu' type='raw'/> + <source file='/home/lx/Downloads/virtio-win-0.1.185.iso'/> + <target dev='sdc' bus='sata'/> + <readonly/> + <address type='drive' controller='0' bus='0' target='0' unit='2'/> + </disk> + <controller type='usb' index='0' model='qemu-xhci' ports='15'> + <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> + </controller> + <controller type='sata' index='0'> + <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> + </controller> + <controller type='pci' index='0' model='pcie-root'/> + <controller type='pci' index='1' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='1' port='0x10'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='2' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='2' port='0x11'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> + </controller> + <controller type='pci' index='3' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='3' port='0x12'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> + </controller> + <controller type='pci' index='4' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='4' port='0x13'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> + </controller> + <controller type='pci' index='5' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='5' port='0x14'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> + </controller> + <controller type='pci' index='6' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='6' port='0x15'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> + </controller> + <controller type='pci' index='7' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='7' port='0x8'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> + </controller> + <controller type='pci' index='8' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='8' port='0x9'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> + </controller> + <controller type='pci' index='9' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='9' port='0xa'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> + </controller> + <controller type='pci' index='10' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='10' port='0xb'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> + </controller> + <controller type='pci' index='11' model='pcie-to-pci-bridge'> + <model name='pcie-pci-bridge'/> + <address type='pci' domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/> + </controller> + <controller type='pci' index='12' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='12' port='0xc'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> + </controller> + <controller type='pci' index='13' model='pcie-root-port'> + <model name='pcie-root-port'/> + <target chassis='13' port='0xd'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> + </controller> + <controller type='virtio-serial' index='0'> + <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> + </controller> + <interface type='network'> + <mac address='52:54:00:1e:cc:c7'/> + <source network='default-nat'/> + <model type='virtio'/> + <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </interface> + <serial type='pty'> + <target type='isa-serial' port='0'> + <model name='isa-serial'/> + </target> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + <input type='mouse' bus='virtio'> + <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> + </input> + <input type='keyboard' bus='virtio'> + <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> + </input> + <input type='mouse' bus='ps2'/> + <input type='keyboard' bus='ps2'/> + <audio id='1' type='none'/> + <hostdev mode='subsystem' type='pci' managed='yes'> + <source> + <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> + </source> + <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> + </hostdev> + <hostdev mode='subsystem' type='pci' managed='yes'> + <source> + <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> + </source> + <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> + </hostdev> + <hostdev mode='subsystem' type='usb' managed='yes'> + <source> + <vendor id='0x045e'/> + <product id='0x028e'/> + </source> + <address type='usb' bus='0' port='1'/> + </hostdev> + <redirdev bus='usb' type='spicevmc'> + <address type='usb' bus='0' port='2'/> + </redirdev> + <redirdev bus='usb' type='spicevmc'> + <address type='usb' bus='0' port='3'/> + </redirdev> + <memballoon model='virtio'> + <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> + </memballoon> + <shmem name='looking-glass'> + <model type='ivshmem-plain'/> + <size unit='M'>32</size> + <address type='pci' domain='0x0000' bus='0x0b' slot='0x01' function='0x0'/> + </shmem> + </devices> + <qemu:commandline> + <qemu:arg value='-object'/> + <qemu:arg value='input-linux,id=mouse1,evdev=/dev/input/by-id/usb-Logitech_USB_Receiver-if01-event-mouse'/> + <qemu:arg value='-object'/> + <qemu:arg value='input-linux,id=kbd1,evdev=/dev/input/by-id/usb-Chicony_USB_Keyboard-event-kbd,grab_all=on,repeat=on'/> + </qemu:commandline> +</domain> |