-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path...
More file actions
116 lines (100 loc) · 2.84 KB
/
...
File metadata and controls
116 lines (100 loc) · 2.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#... strucs
# Copyright (C) 2024-2026 ILLOGIC
#
# This file is part of Vase, licensed under 0BSD.
# See LICENSE-0BSD for details.
# This file is an absolute mess but everything is declared here
EDITOR="${EDITOR:-vi}"
################## VM STUFF
arch="x86_64"
ram="8096"
# 16384 4048 2024 1012
cores="8"
# vCPUS so actually threads but named it cores
size="60G"
# Preallocation doesnt take space directly
## QEMU Settings
qemu_machine="q35"
# Machine type: q35, pc
qemu_display="gtk"
# Display backend: sdl, gtk, vnc
qemu_gl="1"
# GL acceleration: 1 or 0
qemu_gpu="virtio-gpu-pci"
# GPU device: virtio-gpu-pci, virtio-vga
# virtio-gpu-pci: standard virtio GPU (default)
# virtio-vga: VGA compatible (may work better with NVIDIA)
# GL acceleration is set via qemu_gl, not device name
qemu_uefi=1
# UEFI boot: 1 or 0
qemu_network="user"
# Network: user, none, bridge
boot_menu="on"
# Boot menu: on or off
## IOMMU Settings (Q35 only)
qemu_iommu=1
# Enable intel-iommu: 1 or 0
iommu_intremap="on"
# Interrupt remapping: on, off
# Needed for: interrupt isolation, secure passthrough
iommu_caching="on"
# Caching mode: on, off
# Set "on" for: GPU passthrough, VFIO devices
# Performance: "off" is faster if not doing passthrough
iommu_device_iotlb="off"
# Device IOTLB: on, off
# Improves: DMA performance for passthrough devices
iommu_aw_bits="39"
# Address width: 39, 48
# 48-bit: larger guest memory support (>512GB)
## OVMF (UEFI firmware) paths
ovmf_code="/usr/share/edk2/x64/OVMF_CODE.4m.fd"
ovmf_vars_source="/usr/share/edk2/x64/OVMF_VARS.4m.fd"
ovmf_vars_local="OVMF_VARS.fd"
# Local writable copy, auto-created on first boot
audio_backend="pipewire" # pa, alsa, pipewire, or none
audio_device="intel-hda" # intel-hda, AC97, usb-audio
## For running with attached storage
target_p="sdc"
target_t="/dev/"
target="${target_t}${target_p}"
## This can also be a mounted fs
# Mount it first.
# Check lsblk output to find which partition it is.
# Ex sdd3 8:51 0 880.5G 0 part /run/media/usr/UUID
vm_d="d"
iso_n="archlinux-x86_64"
iso_ext="iso" #raw, bin
vm_name="myvm0"
#vm_name="myvm1" #gnome-testing
#vm_name="myvm2" #alpine
#vm_name="myvm3" #arch
#dupkvm will look something like this 9c901bmyvm1
vm_ext="qcow2" #raw, bin
################## DIRS/LOGS/PERMS
s_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
rel="$s_dir/"
# Dir mods
hide_d="."
ext_d=".d"
hide_d_mod=1 # 1=hidden, 0=visible
ext_d_mod=1 # 1=hidden, 0=visible
# Build custom_n with conditional prefix and suffix
custom_n="vase"
[ "$hide_d_mod" = "1" ] && custom_n="${hide_d}${custom_n}"
[ "$ext_d_mod" = "1" ] && custom_n="${custom_n}${ext_d}"
#### Names
p_lib="$custom_n"
c_file="logs"
c_ext="conf"
rcw_file="rcw"
log_n="vase"
log_ext="log"
cli_a="cli_art"
#### More paths
vase_d="vase_os"
zl_d="$vase_d/zazu_lago"
vase_p_env="$vase_d/env"
cc_py="$vase_d/clean_cache"
## For runtime output
script_s=$(date +%s%6N)