mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Merge remote-tracking branch 'nqvrg/add-haiku'
into merging-updated-distros
This commit is contained in:
commit
2dcc05abac
3 changed files with 66 additions and 7 deletions
22
README.md
22
README.md
|
@ -40,6 +40,7 @@ comprehensive support for macOS and Windows**.
|
|||
* [Oracle Linux](https://www.oracle.com/linux/) and [Rocky Linux](https://rockylinux.org/)
|
||||
* [Regolith Linux](https://regolith-linux.org/) (Release 1.6 and latest 2.0.0 pre-release )
|
||||
* [FreeBSD](https://www.freebsd.org/) & [OpenBSD](https://www.openbsd.org/)
|
||||
* [Haiku](https://www.haiku-os.org/)
|
||||
* Full SPICE support including host/guest clipboard sharing
|
||||
* VirtIO-webdavd file sharing for Linux and Windows guests
|
||||
* VirtIO-9p file sharing for Linux and macOS guests
|
||||
|
@ -335,15 +336,28 @@ tpm="on"
|
|||
* `fixed_iso=` specifies the ISO image that provides VirtIO drivers.
|
||||
* `tpm="on"` instructs `quickemu` to create a software emulated TPM device using `swtpm`.
|
||||
|
||||
## BSD Guests
|
||||
## Haiku Guests
|
||||
|
||||
`quickemu` supports FreeBSD and OpenBSD.
|
||||
`quickemu` supports [Haiku](https://www.haiku-os.org/).
|
||||
|
||||
```bash
|
||||
quickget freebsd 13_0
|
||||
quickemu --vm freebsd-13_0.conf
|
||||
quickget quickget haiku r1beta3-x86_64
|
||||
quickemu --vm haiku-r1beta3-x86_64.conf
|
||||
```
|
||||
|
||||
At the moment the only way to share files between host and a Haiku guest is by
|
||||
using SSH (having a SSH server running on the host):
|
||||
|
||||
On guest:
|
||||
|
||||
```bash
|
||||
scp example.txt user@host-local-ip:/home/user # sending a file from guest to host
|
||||
scp user@host-local-ip:/home/user/example.txt . # receiving a file from host to guest
|
||||
```
|
||||
|
||||
`quickget` cannot automatically download and create virtual machines for Haiku
|
||||
nightly versions, but they work if the ISO and configuration are set up manually.
|
||||
|
||||
# SPICE
|
||||
|
||||
The following features are available while using the SPICE protocol:
|
||||
|
|
17
quickemu
17
quickemu
|
@ -228,7 +228,7 @@ function vm_boot() {
|
|||
local KERNEL_NODE=""
|
||||
local KERNEL_VER="?"
|
||||
local LSB_DESCRIPTION="Unknown OS"
|
||||
local MACHINETYPE="q35"
|
||||
local MACHINE_TYPE="q35"
|
||||
local MAC_BOOTLOADER=""
|
||||
local MAC_MISSING=""
|
||||
local MAC_DISK_DEV="ide-hd,bus=ahci.2"
|
||||
|
@ -475,13 +475,24 @@ function vm_boot() {
|
|||
if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then
|
||||
CPU="${CPU},topoext"
|
||||
fi
|
||||
MACHINETYPE="pc"
|
||||
MACHINE_TYPE="pc"
|
||||
NET_DEVICE="rtl8139"
|
||||
GUEST_TWEAKS="-boot d"
|
||||
if [ -z "${disk_size}" ]; then
|
||||
disk_size="256M"
|
||||
fi
|
||||
;;
|
||||
haiku)
|
||||
CPU="-cpu host,kvm=on"
|
||||
MACHINE_TYPE="pc"
|
||||
NET_DEVICE="rtl8139"
|
||||
if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then
|
||||
CPU="${CPU},topoext"
|
||||
fi
|
||||
if [ -z "${disk_size}" ]; then
|
||||
disk_size="32G"
|
||||
fi
|
||||
;;
|
||||
macos)
|
||||
#https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/
|
||||
# A CPU with SSE4.1 support is required for >= macOS Sierra
|
||||
|
@ -852,7 +863,7 @@ function vm_boot() {
|
|||
|
||||
# shellcheck disable=SC2054,SC2206,SC2140
|
||||
args+=(-name ${VMNAME},process=${VMNAME} -pidfile "${VMDIR}/${VMNAME}.pid"
|
||||
-enable-kvm -machine ${MACHINETYPE},smm=${SMM},vmport=off ${GUEST_TWEAKS}
|
||||
-enable-kvm -machine ${MACHINE_TYPE},smm=${SMM},vmport=off ${GUEST_TWEAKS}
|
||||
${CPU} ${SMP}
|
||||
-m ${RAM_VM} ${BALLOON}
|
||||
-smbios type=2,manufacturer="Quickemu Project",product="Quickemu",version="${VERSION}",serial="0xDEADBEEF",location="quickemu.com",asset="${VMNAME}"
|
||||
|
|
34
quickget
34
quickget
|
@ -45,6 +45,7 @@ function pretty_name() {
|
|||
freebsd) PRETTY_NAME="FreeBSD";;
|
||||
gentoo) PRETTY_NAME="Gentoo";;
|
||||
garuda) PRETTY_NAME="Garuda Linux";;
|
||||
haiku) PRETTY_NAME="Haiku";;
|
||||
kdeneon) PRETTY_NAME="KDE Neon";;
|
||||
kolibrios) PRETTY_NAME="KolibriOS";;
|
||||
linuxmint-cinnamon) PRETTY_NAME="Linux Mint Cinnamon";;
|
||||
|
@ -194,6 +195,7 @@ function os_support() {
|
|||
fedora \
|
||||
garuda \
|
||||
gentoo \
|
||||
haiku \
|
||||
kali \
|
||||
kdeneon \
|
||||
kolibrios \
|
||||
|
@ -320,6 +322,11 @@ function releases_garuda() {
|
|||
cinnamon
|
||||
}
|
||||
|
||||
function releases_haiku() {
|
||||
echo r1beta3-x86_64 \
|
||||
r1beta3-x86_gcc2h
|
||||
}
|
||||
|
||||
function releases_kali() {
|
||||
echo latest \
|
||||
weekly
|
||||
|
@ -630,6 +637,9 @@ function make_vm_config() {
|
|||
elif [ "${OS}" == "gentoo" ]; then
|
||||
GUEST="linux"
|
||||
IMAGE_TYPE="iso"
|
||||
elif [ "${OS}" == "haiku" ]; then
|
||||
GUEST="haiku"
|
||||
IMAGE_TYPE="iso"
|
||||
elif [ "${OS}" == "kdeneon" ]; then
|
||||
GUEST="linux"
|
||||
IMAGE_TYPE="iso"
|
||||
|
@ -730,6 +740,11 @@ EOF
|
|||
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf"
|
||||
fi
|
||||
|
||||
if [ "${OS}" == "haiku" ]; then
|
||||
echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf"
|
||||
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf"
|
||||
fi
|
||||
|
||||
if [ "${OS}" == "oraclelinux" ]; then
|
||||
echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf"
|
||||
fi
|
||||
|
@ -1476,6 +1491,21 @@ function get_garuda() {
|
|||
make_vm_config "${OS}-${RELEASE}.iso"
|
||||
}
|
||||
|
||||
function get_haiku() {
|
||||
local ISO=""
|
||||
local URL=""
|
||||
local HASH=""
|
||||
|
||||
validate_release "releases_haiku"
|
||||
|
||||
ISO="haiku-${RELEASE}-anyboot.iso"
|
||||
URL="https://cdn.haiku-os.org/haiku-release/$(echo $RELEASE | awk -F '-' '{print $1}')/${ISO}"
|
||||
HASH=$(wget -q -O- ${URL}.sha256 | grep "${ISO}" | cut -d' ' -f4)
|
||||
web_get "${URL}" "${VM_PATH}"
|
||||
check_hash "${ISO}" "${HASH}"
|
||||
make_vm_config "${ISO}"
|
||||
}
|
||||
|
||||
function unattended_windows() {
|
||||
cat << 'EOF' > "${1}"
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
@ -1952,6 +1982,8 @@ if [ -n "${2}" ]; then
|
|||
get_cachyos
|
||||
elif [ "${OS}" == "gentoo" ]; then
|
||||
get_gentoo
|
||||
elif [ "${OS}" == "haiku" ]; then
|
||||
get_haiku
|
||||
elif [ "${OS}" == "kali" ]; then
|
||||
get_kali
|
||||
elif [ "${OS}" == "kdeneon" ]; then
|
||||
|
@ -2059,6 +2091,8 @@ else
|
|||
releases_cachyos
|
||||
elif [ "${OS}" == "gentoo" ]; then
|
||||
releases_gentoo
|
||||
elif [ "${OS}" == "haiku" ]; then
|
||||
releases_haiku
|
||||
elif [ "${OS}" == "kali" ]; then
|
||||
releases_kali
|
||||
elif [ "${OS}" == "kolibrios" ]; then
|
||||
|
|
Loading…
Reference in a new issue