diff --git a/README.md b/README.md index 7915831..5f55a3b 100644 --- a/README.md +++ b/README.md @@ -103,9 +103,9 @@ above requirements or their equivalents. These examples may save a little typing -Debian: +Debian (and direct derivatives such as MX Linux): - sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip + sudo apt install qemu bash coreutils ovmf grep jq lsb-base procps python3 genisoimage usbutils util-linux sed spice-client-gtk libtss2-tcti-swtpm0 wget xdg-user-dirs zsync unzip Fedora: @@ -240,6 +240,7 @@ with your preferred flavour. - `archlinux` (Arch Linux) - `arcolinux` (Arco Linux) - `batocera` (Batocera) +- `blendos` (BlendOS) - `cachyos` (CachyOS) - `centos-stream` (CentOS Stream) - `debian` (Debian) @@ -779,7 +780,7 @@ You can also pass optional parameters ``` -``` + ## Desktop shortcuts Desktop shortcuts can be created for a VM, the shortcuts are saved in diff --git a/build-docs b/build-docs index 43c38df..8080141 160000 --- a/build-docs +++ b/build-docs @@ -1 +1 @@ -Subproject commit 43c38df5ef08bada423b076274604951d5c13c0d +Subproject commit 80801415867ebbd343bfc49b5d7b9fa33a79759a diff --git a/docs/quickemu.1 b/docs/quickemu.1 index 39cefe8..2c3e0e2 100644 --- a/docs/quickemu.1 +++ b/docs/quickemu.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "QUICKEMU" "1" "February 4, 2023" "quickemu" "Quickemu User Manual" +.TH "QUICKEMU" "1" "February 7, 2023" "quickemu" "Quickemu User Manual" .hy .SH NAME .PP @@ -209,11 +209,11 @@ to install the above requirements or their equivalents. .PP These examples may save a little typing .PP -Debian: +Debian (and direct derivatives such as MX Linux): .IP .nf \f[C] -sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip +sudo apt install qemu bash coreutils ovmf grep jq lsb-base procps python3 genisoimage usbutils util-linux sed spice-client-gtk libtss2-tcti-swtpm0 wget xdg-user-dirs zsync unzip \f[R] .fi .PP @@ -345,6 +345,8 @@ All the official Ubuntu flavours are supported, just replace .IP \[bu] 2 \f[V]batocera\f[R] (Batocera) .IP \[bu] 2 +\f[V]blendos\f[R] (BlendOS) +.IP \[bu] 2 \f[V]cachyos\f[R] (CachyOS) .IP \[bu] 2 \f[V]centos-stream\f[R] (CentOS Stream) diff --git a/docs/quickemu.1.md b/docs/quickemu.1.md index 54a8c1b..f8e4db4 100644 --- a/docs/quickemu.1.md +++ b/docs/quickemu.1.md @@ -1,6 +1,6 @@ --- author: Martin Wimpress -date: February 4, 2023 +date: February 7, 2023 footer: quickemu header: Quickemu User Manual section: 1 @@ -166,9 +166,9 @@ above requirements or their equivalents. These examples may save a little typing -Debian: +Debian (and direct derivatives such as MX Linux): - sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip + sudo apt install qemu bash coreutils ovmf grep jq lsb-base procps python3 genisoimage usbutils util-linux sed spice-client-gtk libtss2-tcti-swtpm0 wget xdg-user-dirs zsync unzip Fedora: @@ -264,6 +264,7 @@ with your preferred flavour. - `archlinux` (Arch Linux) - `arcolinux` (Arco Linux) - `batocera` (Batocera) +- `blendos` (BlendOS) - `cachyos` (CachyOS) - `centos-stream` (CentOS Stream) - `debian` (Debian) diff --git a/docs/quickemu_conf.1 b/docs/quickemu_conf.1 index a66ef36..5e438e8 100644 --- a/docs/quickemu_conf.1 +++ b/docs/quickemu_conf.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "QUICKEMU_CONF" "1" "February 4, 2023" "quickemu_conf" "Quickemu Configuration Manual" +.TH "QUICKEMU_CONF" "1" "February 7, 2023" "quickemu_conf" "Quickemu Configuration Manual" .hy .SH NAME .PP diff --git a/docs/quickemu_conf.1.md b/docs/quickemu_conf.1.md index eb0db42..04c5572 100644 --- a/docs/quickemu_conf.1.md +++ b/docs/quickemu_conf.1.md @@ -1,6 +1,6 @@ --- author: Martin Wimpress -date: February 4, 2023 +date: February 7, 2023 footer: quickemu_conf header: Quickemu Configuration Manual section: 1 diff --git a/docs/quickget.1 b/docs/quickget.1 index 60484ee..6819fbc 100644 --- a/docs/quickget.1 +++ b/docs/quickget.1 @@ -14,7 +14,7 @@ . ftr VB CB . ftr VBI CBI .\} -.TH "QUICKGET" "1" "February 4, 2023" "quickget" "Quickget User Manual" +.TH "QUICKGET" "1" "February 7, 2023" "quickget" "Quickget User Manual" .hy .SH NAME .PP @@ -127,6 +127,8 @@ All the official Ubuntu flavours are supported, just replace .IP \[bu] 2 \f[V]batocera\f[R] (Batocera) .IP \[bu] 2 +\f[V]blendos\f[R] (BlendOS) +.IP \[bu] 2 \f[V]cachyos\f[R] (CachyOS) .IP \[bu] 2 \f[V]centos-stream\f[R] (CentOS Stream) diff --git a/docs/quickget.1.md b/docs/quickget.1.md index c3e72e6..cef5a9f 100644 --- a/docs/quickget.1.md +++ b/docs/quickget.1.md @@ -1,6 +1,6 @@ --- author: Martin Wimpress -date: February 4, 2023 +date: February 7, 2023 footer: quickget header: Quickget User Manual section: 1 @@ -96,6 +96,7 @@ with your preferred flavour. - `archlinux` (Arch Linux) - `arcolinux` (Arco Linux) - `batocera` (Batocera) +- `blendos` (BlendOS) - `cachyos` (CachyOS) - `centos-stream` (CentOS Stream) - `debian` (Debian) diff --git a/quickget b/quickget index 3e16901..69b2e50 100755 --- a/quickget +++ b/quickget @@ -36,6 +36,7 @@ function pretty_name() { archlinux) PRETTY_NAME="Arch Linux";; archcraft) PRETTY_NAME="Archcraft";; arcolinux) PRETTY_NAME="Arco Linux";; + blendos) PRETTY_NAME="BlendOS";; cachyos) PRETTY_NAME="CachyOS";; centos-stream) PRETTY_NAME="CentOS Stream";; dragonflybsd) PRETTY_NAME="DragonFlyBSD";; @@ -66,9 +67,10 @@ function pretty_name() { truenas-core) PRETTY_NAME="TrueNAS Core";; truenas-scale) PRETTY_NAME="TrueNAS Scale";; ubuntu-budgie) PRETTY_NAME="Ubuntu Budgie";; - ubuntukylin) PRETTY_NAME="Ubuntu Kylin";; + ubuntucinnamon) PRETTY_NAME="Ubuntu Cinnamon";; + ubuntukylin) PRETTY_NAME="Ubuntu Kylin";; ubuntu-mate) PRETTY_NAME="Ubuntu MATE";; - ubuntustudio) PRETTY_NAME="Ubuntu Studio";; + ubuntustudio) PRETTY_NAME="Ubuntu Studio";; ubuntu-unity) PRETTY_NAME="Ubuntu Unity";; void) PRETTY_NAME="Void Linux";; zorin) PRETTY_NAME="Zorin OS";; @@ -172,6 +174,7 @@ function os_support() { archcraft \ arcolinux \ batocera \ + blendos \ cachyos \ centos-stream \ debian \ @@ -209,6 +212,7 @@ function os_support() { reactos \ rebornos \ rockylinux \ + siduction \ slackware \ solus \ tails \ @@ -216,6 +220,7 @@ function os_support() { truenas-scale \ ubuntu \ ubuntu-budgie \ + ubuntucinnamon \ ubuntukylin \ ubuntu-mate \ ubuntustudio \ @@ -262,6 +267,11 @@ function editions_arcolinux() { echo large small } +function releases_blendos() { + curl -s https://api.github.com/repos/blend-os/blendOS/releases |grep tag_name | grep -o -E '[[:digit:]]+\.[[:digit:]]+' + +} + function releases_cachyos() { echo 230121 } @@ -298,7 +308,10 @@ function releases_devuan() { } function releases_dragonflybsd() { - echo 6.4.0 + # If you remove "".bz2" from the end of the searched URL, you will get only the current release - currently 6.4.0 + # We could add a variable so this behaviour is optional/switchable (maybe from option or env) + DBSD_RELEASES=$(curl -sL http://mirror-master.dragonflybsd.org/iso-images/| grep -E -o '\"dfly-x86_64-.*_REL.iso.bz2\"' | grep -o -E '[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+' ) + echo $DBSD_RELEASES } function releases_elementary() { @@ -325,7 +338,7 @@ function editions_endless() { } function releases_fedora() { - echo 33 34 35 36 37 + echo 33 34 35 36 37 38 } function releases_batocera() { @@ -334,6 +347,7 @@ function releases_batocera() { function editions_fedora() { echo Workstation \ + Budgie \ Cinnamon \ i3 \ KDE \ @@ -342,6 +356,9 @@ function editions_fedora() { Mate \ Xfce \ Silverblue \ + Sericea \ + Kinoite \ + Sway \ Server } @@ -449,7 +466,8 @@ function releases_netboot() { } function releases_netbsd() { - echo 9.0 9.1 9.2 + local NBSD_RELEASES=$(curl -sL http://cdn.netbsd.org/pub/NetBSD/iso/ | grep -o -E '\"[[:digit:]]+\.[[:digit:]]+/\"' |tr -d '"/' |sort -nr ) + echo ${NBSD_RELEASES} } function releases_nixos(){ @@ -505,6 +523,14 @@ function editions_rockylinux() { "dvd (dvd1 prior to 9.0)" } +function releases_siduction() { + echo latest +} + +function editions_siduction() { + echo kde lxqt nox xfce xorg +} + function releases_slackware() { echo 14.2 15.0 } @@ -538,7 +564,7 @@ function releases_truenas-scale() { function releases_ubuntu() { local LTS_SUPPORT="14.04 16.04 18.04 20.04 22.04" - local INTERIM_SUPPORT="22.10" + local INTERIM_SUPPORT="22.10 23.04" case "${OS}" in kubuntu|lubuntu|ubuntukylin|\ @@ -553,14 +579,16 @@ function releases_ubuntu() { ubuntu-unity) INTERIM_SUPPORT="${INTERIM_SUPPORT}" ;; + ubuntucinnamon) + INTERIM_SUPPORT="${INTERIM_SUPPORT/22.10 /}" + ;; esac - INTERIM_SUPPORT="${INTERIM_SUPPORT/22.10 /}" - if [ "${OS}" == "ubuntu-unity" ]; then + if [ "${OS}" == "ubuntu-unity" ] || [ "${OS}" == "ubuntucinnamon" ]; then echo ${INTERIM_SUPPORT} \ daily-live \ - daily-canary \ + daily-canary \ ; else @@ -838,7 +866,7 @@ EOF # OS specific tweaks case ${OS} in - alma|centos-stream|endless|oraclelinux|popos|rockylinux) + alma|centos-stream|endless|nixos|oraclelinux|popos|rockylinux) echo "disk_size=\"32G\"" >> "${CONF_FILE}";; batocera) echo "disk_size=\"8G\"" >> "${CONF_FILE}";; @@ -980,6 +1008,13 @@ function get_arcolinux() { echo "${URL}/${ISO} ${HASH}" } +function get_blendos() { + local HASH="" + local URL="$(curl -s https://api.github.com/repos/blend-os/blendOS/releases |grep 'browser_download_url'|grep ${RELEASE} | grep -o '\"http.*\.iso\"'| cut -d\" -f 2| head -1)" + HASH=$(curl -s "${URL}.sha256sum" | cut -d' ' -f1) + echo "${URL} ${HASH}" +} + function get_batocera() { local HASH="" local URL="https://mirrors.o2switch.fr/batocera/x86_64/stable/last" @@ -1090,7 +1125,7 @@ function get_devuan() { function get_dragonflybsd() { local HASH="" - local ISO="dfly-x86_64-${RELEASE}_REL.iso" + local ISO="dfly-x86_64-${RELEASE}_REL.iso.bz2" local URL="http://mirror-master.dragonflybsd.org/iso-images" HASH=$(wget -q -O- "${URL}/md5.txt" | grep "(${ISO})" | cut -d' ' -f4) @@ -1158,7 +1193,7 @@ function get_fedora() { local VARIANT="" case ${EDITION} in - Server|Silverblue|Workstation) VARIANT="${EDITION}";; + Server|Kinoite|Silverblue|Sericea|Workstation) VARIANT="${EDITION}";; *) VARIANT="Spins";; esac @@ -1522,6 +1557,17 @@ function get_rockylinux() { echo "${URL}/${ISO} ${HASH}" } +function get_siduction() { + local HASH="" + local DATE="" + local ISO="" + local URL="https://mirrors.dotsrc.org/siduction/iso/Masters_of_War/${EDITION}" + DATE=$(wget -q -O- "${URL}"| grep .iso.md5 | cut -d'-' -f6 | cut -d'.' -f1) + HASH=$(wget -q -O- "${URL}/${ISO}.md5" | cut -d' ' -f1) + ISO="siduction-22.1.1-Masters_of_War-${EDITION}-amd64-${DATE}.iso" + echo "${URL}/${ISO} ${HASH}" +} + function get_slackware() { local HASH="" local ISO="slackware64-${RELEASE}-install-dvd.iso" @@ -2081,6 +2127,13 @@ create_vm() { ISO="${ISO/.gz/}" fi + # Could be other OS iso files compressed with bzip2 or gzip + # but for now we'll keep this to know cases + if [[ ${OS} == "dragonflybsd" ]] && [[ ${ISO} =~ ".bz2" ]]; then + bzip2 -d "${VM_PATH}/${ISO}" + ISO="${ISO/.bz2/}" + fi + if [ ${OS} == "reactos" ] && [[ $ISO =~ ".zip" ]]; then unzip ${VM_PATH}/${ISO} -d ${VM_PATH} ISO=$(ls ${VM_PATH} | grep -i '.iso' | grep -v '.zip')