mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Add FreeBSD support (#62)
* Add releases_freebsd() function * complete FreeBSD addition * Add README.md info for FreeBSD Co-authored-by: Kai Lyons <kailyons@pop-os.localdomain>
This commit is contained in:
parent
5e5b68f4f4
commit
0dd26be472
2 changed files with 59 additions and 2 deletions
12
README.md
12
README.md
|
@ -253,6 +253,18 @@ quickemu --vm windows-11.conf
|
||||||
* Download and install [UsbDk](https://www.spice-space.org/download/windows/usbdk/)
|
* Download and install [UsbDk](https://www.spice-space.org/download/windows/usbdk/)
|
||||||
* Enables USB SPICE pass-through between the host and guest.
|
* Enables USB SPICE pass-through between the host and guest.
|
||||||
|
|
||||||
|
### FreeBSD Guest
|
||||||
|
`quickemu` supports FreeBSD production releases. FreeBSD support is maintained by `<kai@potabi.com>`.
|
||||||
|
|
||||||
|
FreeBSD version command reference (just in case):
|
||||||
|
* 12.2: `12_2`
|
||||||
|
* 13.0: `13_0`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
quickget freebsd 13_0
|
||||||
|
quickemu --vm freebsd-13_0.conf
|
||||||
|
```
|
||||||
|
|
||||||
### Regional versions
|
### Regional versions
|
||||||
|
|
||||||
By default `quickget` will download the *"English International"* release, but
|
By default `quickget` will download the *"English International"* release, but
|
||||||
|
|
49
quickget
49
quickget
|
@ -1,7 +1,8 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
function os_support() {
|
function os_support() {
|
||||||
echo kubuntu \
|
echo freebsd \
|
||||||
|
kubuntu \
|
||||||
lubuntu \
|
lubuntu \
|
||||||
macos \
|
macos \
|
||||||
ubuntu \
|
ubuntu \
|
||||||
|
@ -13,6 +14,12 @@ function os_support() {
|
||||||
xubuntu
|
xubuntu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function releases_freebsd(){
|
||||||
|
echo 13_0 \
|
||||||
|
12_2 # replace with 12.3 upon release
|
||||||
|
# 14_0 # Waiting for 14.0 release
|
||||||
|
}
|
||||||
|
|
||||||
function releases_macos() {
|
function releases_macos() {
|
||||||
echo high-sierra \
|
echo high-sierra \
|
||||||
mojave \
|
mojave \
|
||||||
|
@ -128,7 +135,10 @@ function make_vm_config() {
|
||||||
local GUEST=""
|
local GUEST=""
|
||||||
IMAGE_FILE="${1}"
|
IMAGE_FILE="${1}"
|
||||||
ISO_FILE="${2}"
|
ISO_FILE="${2}"
|
||||||
if [[ "${OS}" == *"ubuntu"* ]]; then
|
if [[ "${OS}" == "freebsd" ]]; then
|
||||||
|
GUEST="freebsd"
|
||||||
|
IMAGE_TYPE="iso"
|
||||||
|
elif [[ "${OS}" == *"ubuntu"* ]]; then
|
||||||
GUEST="linux"
|
GUEST="linux"
|
||||||
IMAGE_TYPE="iso"
|
IMAGE_TYPE="iso"
|
||||||
elif [ "${OS}" == "macos" ]; then
|
elif [ "${OS}" == "macos" ]; then
|
||||||
|
@ -168,6 +178,39 @@ function start_vm_info() {
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_freebsd() {
|
||||||
|
# For future releases, use dvd1 iso files.
|
||||||
|
local URL=""
|
||||||
|
local CHECKSUMS=""
|
||||||
|
local DL_BASE="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES"
|
||||||
|
local VERSION=""
|
||||||
|
case ${RELEASE} in
|
||||||
|
13_0)
|
||||||
|
VERSION="13.0"
|
||||||
|
;;
|
||||||
|
12_2)
|
||||||
|
VERSION="12.2"
|
||||||
|
;;
|
||||||
|
# Waiting until FreeBSD 14 release
|
||||||
|
# 14_0)
|
||||||
|
# VERSION="14.0"
|
||||||
|
# ;;
|
||||||
|
*)
|
||||||
|
echo "ERROR! FreeBSD ${RELEASE} is not a supported release."
|
||||||
|
releases_freebsd
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
URL="${DL_BASE}/${VERSION}/FreeBSD-${VERSION}-RELEASE-amd64-dvd1.iso"
|
||||||
|
|
||||||
|
ISO="FreeBSD-${VERSION}-RELEASE-amd64-dvd1.iso"
|
||||||
|
web_get ${URL} ${VM_PATH}
|
||||||
|
make_vm_dir
|
||||||
|
make_vm_config ${ISO}
|
||||||
|
start_vm_info
|
||||||
|
}
|
||||||
|
|
||||||
function get_macos() {
|
function get_macos() {
|
||||||
local CWD=""
|
local CWD=""
|
||||||
local MACRECOVERY=""
|
local MACRECOVERY=""
|
||||||
|
@ -380,6 +423,8 @@ VM_PATH="${OS}-${RELEASE}"
|
||||||
|
|
||||||
if [ "${OS}" == "macos" ]; then
|
if [ "${OS}" == "macos" ]; then
|
||||||
get_macos
|
get_macos
|
||||||
|
elif [[ "${OS}" == *"freebsd" ]]; then
|
||||||
|
get_freebsd
|
||||||
elif [[ "${OS}" == *"ubuntu"* ]]; then
|
elif [[ "${OS}" == *"ubuntu"* ]]; then
|
||||||
get_ubuntu
|
get_ubuntu
|
||||||
elif [ "${OS}" == "windows" ]; then
|
elif [ "${OS}" == "windows" ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue