From c939a26b54f8177153f8e39f68290065a4335ea4 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 12:38:37 -0400 Subject: [PATCH 1/9] refactor(quickemu): initialise arch_vm and arch_host variables arch_host is the host architecture arch_vm is the qemu-system- required for the guest VM --- quickemu | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/quickemu b/quickemu index 497d3b7114..819e3df23c 100755 --- a/quickemu +++ b/quickemu @@ -229,7 +229,7 @@ function get_cpu_info() { elif [ "Socket" == "${INFO_NAME}" ]; then sysctl -n hw.packages elif [ "Vendor" == "${INFO_NAME}" ]; then - if [ "${ARCH_HOST}" == "arm64" ]; then + if [ "${arch_host}" == "arm64" ]; then sysctl -n machdep.cpu.brand_string | cut -d' ' -f1 else sysctl -n machdep.cpu.vendor | sed 's/ //g' @@ -343,14 +343,14 @@ function configure_cpu() { QEMU_ACCEL="kvm" fi - if [ "${ARCH_VM}" == "aarch64" ]; then + if [ "${arch_vm}" == "aarch64" ]; then # Support to run aarch64 VMs (best guess; untested) # https://qemu-project.gitlab.io/qemu/system/arm/virt.html - case ${ARCH_HOST} in + case ${arch_host} in arm64|aarch64) CPU_MODEL="max" MACHINE_TYPE="virt,highmem=off";; esac - elif [ "${ARCH_VM}" != "${ARCH_HOST}" ]; then + elif [ "${arch_vm}" != "${arch_host}" ]; then # If the architecture of the VM is different from the host, disable acceleration CPU_MODEL="qemu64" CPU_KVM_UNHALT="" @@ -1810,6 +1810,8 @@ function monitor_send_cmd { ### MAIN # Lowercase variables are used in the VM config file only +arch_host=$(uname -m) +arch_vm="${arch_vm:-x86_64}" boot="efi" cpu_cores="" disk_format="${disk_format:-qcow2}" @@ -1874,16 +1876,6 @@ readonly LAUNCHER=$(basename "${0}") readonly DISK_MIN_SIZE=$((197632 * 8)) readonly VERSION="4.9.5" -# TODO: Make this run the native architecture binary -ARCH_VM="x86_64" -ARCH_HOST=$(uname -m) -QEMU=$(command -v qemu-system-${ARCH_VM}) -QEMU_IMG=$(command -v qemu-img) -if [ ! -x "${QEMU}" ] || [ ! -x "${QEMU_IMG}" ]; then - echo "ERROR! QEMU not found. Please make sure 'qemu-system-${ARCH_VM}' and 'qemu-img' are installed." - exit 1 -fi - # Check for gnu tools on macOS STAT="stat" if command -v gstat &>/dev/null; then @@ -1895,13 +1887,6 @@ if [ "${OS_KERNEL}" == "Darwin" ]; then display="cocoa" fi -QEMU_VER_LONG=$(${QEMU_IMG} --version | head -n 1 | awk '{print $3}') -QEMU_VER_SHORT=$(echo "${QEMU_VER_LONG//./}" | cut -c1-2) -if [ "${QEMU_VER_SHORT}" -lt 60 ]; then - echo "ERROR! QEMU 6.0.0 or newer is required, detected ${QEMU_VER_LONG}." - exit 1 -fi - # Take command line arguments if [ $# -lt 1 ]; then usage @@ -2047,6 +2032,20 @@ if [ -n "${VM}" ] && [ -e "${VM}" ]; then if [ -z "${disk_img}" ]; then disk_img="${VMDIR}/disk.${disk_format}" fi + QEMU_IMG=$(command -v qemu-img) + QEMU=$(command -v "qemu-system-${arch_vm}") + + if [ ! -x "${QEMU}" ] || [ ! -x "${QEMU_IMG}" ]; then + echo "ERROR! QEMU not found. Please make sure 'qemu-system-${arch_vm}' and 'qemu-img' are installed." + exit 1 + fi + + QEMU_VER_LONG=$(${QEMU_IMG} --version | head -n 1 | awk '{print $3}') + QEMU_VER_SHORT=$(echo "${QEMU_VER_LONG//./}" | cut -c1-2) + if [ "${QEMU_VER_SHORT}" -lt 60 ]; then + echo "ERROR! QEMU 6.0.0 or newer is required, detected ${QEMU_VER_LONG}." + exit 1 + fi # Iterate over any actions and exit. if [ ${#ACTIONS[@]} -ge 1 ]; then From 4ebb3e763b2cce33621ff0349fb83c5a38e3b9eb Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 12:39:38 -0400 Subject: [PATCH 2/9] style: display the basename for the qemu system --- quickemu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickemu b/quickemu index 819e3df23c..c62c0f661d 100755 --- a/quickemu +++ b/quickemu @@ -1143,7 +1143,7 @@ function vm_boot() { OS_RELEASE=$(grep PRETTY_NAME /etc/os-release | cut -d'"' -f2) fi - echo "Quickemu ${VERSION} using ${QEMU} v${QEMU_VER_LONG}" + echo "Quickemu ${VERSION} using $(basename "${QEMU}") v${QEMU_VER_LONG}" echo " - Host: ${OS_RELEASE} running ${KERNEL_NAME} ${KERNEL_VER} ${KERNEL_NODE}" # Force to lowercase. From 4b4008db4327cd41b9b38692d8f5e6802333508e Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 12:41:18 -0400 Subject: [PATCH 3/9] feat: add variable to quickget for host, guest and qemu architectures --- quickget | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/quickget b/quickget index 93eb0b76b4..06aed77f56 100755 --- a/quickget +++ b/quickget @@ -3390,6 +3390,22 @@ if ((BASH_VERSINFO[0] < 4)); then exit 1 fi +# ARCH_GUEST is the common string used in the URL +# ARCH_QEMU is the suffix used by to determine the qemu-system- to use and what is written into the VM config +ARCH_HOST=$(uname -m) +case ${ARCH_HOST} in + amd64|x86_64) + ARCH_GUEST="amd64" + ARCH_QEMU="x86_64";; + arm64|armv8*|aarch64) + ARCH_GUEST="aarch64" + ARCH_QEMU="aarch64";; + i386|i686) + ARCH_GUEST="i686" + ARCH_QEMU="i386";; + *) echo "ERROR! This host is ${ARCH_HOST} and not currently supported." + exit 1;; +esac I18NS=() OPERATION="" CURL=$(command -v curl) From 31c773c4528464b6e23bcf89144505f7aa358d79 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 12:49:25 -0400 Subject: [PATCH 4/9] fix: make clock driftfix compatible with qemu-system-aarch64 --- quickemu | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/quickemu b/quickemu index c62c0f661d..59628a7e39 100755 --- a/quickemu +++ b/quickemu @@ -1176,7 +1176,7 @@ function vm_boot() { args+=(-machine ${MACHINE_TYPE},smm=${SMM},vmport=off,accel=${QEMU_ACCEL} ${GUEST_TWEAKS} ${CPU} ${SMP} -m ${RAM_VM} ${BALLOON} - -rtc base=localtime,clock=host,driftfix=slew + -rtc base=localtime,clock=host,driftfix=${driftfix} -pidfile "${VMDIR}/${VMNAME}.pid") # shellcheck disable=SC2206 @@ -1818,6 +1818,7 @@ disk_format="${disk_format:-qcow2}" disk_img="${disk_img:-}" disk_size="${disk_size:-16G}" display="${display:-sdl}" +driftfix="${driftfix:-slew}" extra_args="${extra_args:-}" fixed_iso="" floppy="" @@ -2032,6 +2033,12 @@ if [ -n "${VM}" ] && [ -e "${VM}" ]; then if [ -z "${disk_img}" ]; then disk_img="${VMDIR}/disk.${disk_format}" fi + + # slew for clock drift_fix is not available on aaarch64 + if [ "${arch_vm}" != "x86_64" ]; then + driftfix="none" + fi + QEMU_IMG=$(command -v qemu-img) QEMU=$(command -v "qemu-system-${arch_vm}") From 68e8ccfa11b518388aab547fa63a4cf41ec5466c Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 12:51:07 -0400 Subject: [PATCH 5/9] fix: use virtio-gpu for display on qemu-system-aarch64 virtio-vga is not available on qemu-system-aarch64 --- quickemu | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/quickemu b/quickemu index 59628a7e39..1f5736592a 100755 --- a/quickemu +++ b/quickemu @@ -883,7 +883,11 @@ function configure_display() { linux) case ${display} in none|spice|spice-app) DISPLAY_DEVICE="virtio-gpu";; - *) DISPLAY_DEVICE="virtio-vga";; + *) if [ "${arch_vm}" == "aarch64" ]; then + DISPLAY_DEVICE="virtio-gpu" + else + DISPLAY_DEVICE="virtio-vga" + fi;; esac;; macos) # qxl-vga and VGA supports seamless mouse and sane resolutions if only From a2aab9f02a5bef8294ec236e634d530990da44c3 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 12:52:23 -0400 Subject: [PATCH 6/9] fix: set highmem=off on QEMU 7.0 and earlier on aarch64 --- quickemu | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/quickemu b/quickemu index 1f5736592a..01baf801d9 100755 --- a/quickemu +++ b/quickemu @@ -348,7 +348,11 @@ function configure_cpu() { # https://qemu-project.gitlab.io/qemu/system/arm/virt.html case ${arch_host} in arm64|aarch64) CPU_MODEL="max" - MACHINE_TYPE="virt,highmem=off";; + MACHINE_TYPE="virt" + # https://github.com/lima-vm/lima/pull/703 + if [ "${QEMU_VER_SHORT}" -le 70 ]; then + MACHINE_TYPE+=",highmem=off" + fi;; esac elif [ "${arch_vm}" != "${arch_host}" ]; then # If the architecture of the VM is different from the host, disable acceleration From 1b0dfedddadcfba93c65758d89732f66d37df774 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 25 May 2024 13:15:05 -0400 Subject: [PATCH 7/9] fix: do not set smm or vmport on qemu-system-aarch64; are not supported --- quickemu | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/quickemu b/quickemu index 01baf801d9..87fd037bdb 100755 --- a/quickemu +++ b/quickemu @@ -397,6 +397,11 @@ function configure_cpu() { fi fi + # smm and vmport are not available on qemu-system-aarch64 + if [ "${ARCH_QEMU}" == "x86_64" ]; then + MACHINE_TYPE+=",smm=${SMM},vmport=off" + fi + case ${guest_os} in batocera|freedos|haiku|solaris) MACHINE_TYPE="pc";; kolibrios|reactos) @@ -1181,7 +1186,7 @@ function vm_boot() { args+=(-name ${VMNAME},process=${VMNAME}) fi # shellcheck disable=SC2054,SC2206,SC2140 - args+=(-machine ${MACHINE_TYPE},smm=${SMM},vmport=off,accel=${QEMU_ACCEL} ${GUEST_TWEAKS} + args+=(-machine ${MACHINE_TYPE},accel=${QEMU_ACCEL} ${GUEST_TWEAKS} ${CPU} ${SMP} -m ${RAM_VM} ${BALLOON} -rtc base=localtime,clock=host,driftfix=${driftfix} From 0e0aafaa9921ed0c80509ecb7e950ad319c8a945 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Mon, 24 Jun 2024 08:37:59 +0100 Subject: [PATCH 8/9] feat: add architecture to os_info() --- quickget | 196 +++++++++++++++++++++++++++---------------------------- 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/quickget b/quickget index 06aed77f56..777f6123ad 100755 --- a/quickget +++ b/quickget @@ -16,104 +16,104 @@ function os_info() { local INFO="" SIMPLE_NAME="${1}" case ${SIMPLE_NAME} in - #name) INFO="PrettyName|Credentials|Homepage|Info";; - alma) INFO="AlmaLinux|-|https://almalinux.org/|Community owned and governed, forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is binary compatible with RHEL®.";; - alpine) INFO="Alpine Linux|-|https://alpinelinux.org/|Security-oriented, lightweight Linux distribution based on musl libc and busybox.";; - android) INFO="Android x86|-|https://www.android-x86.org/|Port Android Open Source Project to x86 platform.";; - antix) INFO="Antix|-|https://antixlinux.com/|Fast, lightweight and easy to install systemd-free linux live CD distribution based on Debian Stable for Intel-AMD x86 compatible systems.";; - archcraft) INFO="Archcraft|-|https://archcraft.io/|Yet another minimal Linux distribution, based on Arch Linux.";; - archlinux) INFO="Arch Linux|-|https://archlinux.org/|Lightweight and flexible Linux® distribution that tries to Keep It Simple.";; - arcolinux) INFO="Arco Linux|-|https://arcolinux.com/|Is all about becoming an expert in linux.";; - artixlinux) INFO="Artix Linux|-|https://artixlinux.org/|The Art of Linux. Simple. Fast. Systemd-free.";; - athenaos) INFO="Athena OS|-|https://athenaos.org/|Offer a different experience than the most used pentesting distributions by providing only tools that fit with the user needs and improving the access to hacking resources and learning materials.";; - batocera) INFO="Batocera|-|https://batocera.org/|Retro-gaming distribution with the aim of turning any computer/nano computer into a gaming console during a game or permanently.";; - bazzite) INFO="Bazzite|-|https://github.com/ublue-os/bazzite/|Container native gaming and a ready-to-game SteamOS like.";; - biglinux) INFO="BigLinux|-|https://www.biglinux.com.br/|Is the right choice if you want to have an easy and enriching experience with Linux. It has been perfected over more than 19 years, following our motto: 'In search of the perfect system'.";; - blendos) INFO="BlendOS|-|https://blendos.co/|A seamless blend of all Linux distributions. Allows you to have an immutable, atomic and declarative Arch Linux system, with application support from several Linux distributions & Android.";; - bodhi) INFO="Bodhi|-|https://www.bodhilinux.com/|Lightweight distribution featuring the fast & fully customizable Moksha Desktop.";; - bunsenlabs) INFO="BunsenLabs|-|https://www.bunsenlabs.org/|Light-weight and easily customizable Openbox desktop. The project is a community continuation of CrunchBang Linux.";; - cachyos) INFO="CachyOS|-|https://cachyos.org/|Designed to deliver lightning-fast speeds and stability, ensuring a smooth and enjoyable computing experience every time you use it.";; - centos-stream) INFO="CentOS Stream|-|https://www.centos.org/centos-stream/|Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL.";; - chimeralinux) INFO="Chimera Linux|anon:chimera root:chimera|https://chimera-linux.org/|Modern, general-purpose non-GNU Linux distribution.";; - crunchbang++) INFO="Crunchbangplusplus|-|https://www.crunchbangplusplus.org/|The classic minimal crunchbang feel, now with debian 12 bookworm.";; - debian) INFO="Debian|-|https://www.debian.org/|Complete Free Operating System with perfect level of ease of use and stability.";; - deepin) INFO="Deepin|-|https://www.deepin.org/|Beautiful UI design, intimate human-computer interaction, and friendly community environment make you feel at home.";; - devuan) INFO="Devuan|-|https://www.devuan.org/|Fork of Debian without systemd that allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.";; - dragonflybsd) INFO="DragonFlyBSD|-|https://www.dragonflybsd.org/|Provides an opportunity for the BSD base to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.";; - easyos) INFO="EasyOS|-|https://easyos.org/|Experimental distribution designed from scratch to support containers.";; - edubuntu) INFO="Edubuntu|-|https://www.edubuntu.org/|Stable, secure and privacy concious option for schools.";; - elementary) INFO="elementary OS|-|https://elementary.io/|Thoughtful, capable, and ethical replacement for Windows and macOS.";; - endeavouros) INFO="EndeavourOS|-|https://endeavouros.com/|Provides an Arch experience without the hassle of installing it manually for both x86_64 and ARM systems.";; - endless) INFO="Endless OS|-|https://www.endlessos.org/os|Completely Free, User-Friendly Operating System Packed with Educational Tools, Games, and More.";; - fedora) INFO="Fedora|-|https://www.fedoraproject.org/|Innovative platform for hardware, clouds, and containers, built with love by you.";; - freebsd) INFO="FreeBSD|-|https://www.freebsd.org/|Operating system used to power modern servers, desktops, and embedded platforms.";; - freedos) INFO="FreeDOS|-|https://freedos.org/|DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems.";; - garuda) INFO="Garuda Linux|-|https://garudalinux.org/|Feature rich and easy to use Linux distribution.";; - gentoo) INFO="Gentoo|-|https://www.gentoo.org/|Highly flexible, source-based Linux distribution.";; - ghostbsd) INFO="GhostBSD|-|https://www.ghostbsd.org/|Simple, elegant desktop BSD Operating System.";; - gnomeos) INFO="GNOME OS|-|https://os.gnome.org/|Alpha nightly bleeding edge distro of GNOME";; - guix) INFO="Guix|-|https://guix.gnu.org/|Distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.";; - haiku) INFO="Haiku|-|https://www.haiku-os.org/|Specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.";; - holoiso) INFO="HoloISO|-|https://github.com/HoloISO/holoiso|Bring the Steam Decks SteamOS Holo redistribution and provide a close-to-official SteamOS experience.";; - kali) INFO="Kali|-|https://www.kali.org/|The most advanced Penetration Testing Distribution.";; - kdeneon) INFO="KDE Neon|-|https://neon.kde.org/|Latest and greatest of KDE community software packaged on a rock-solid base.";; - kolibrios) INFO="KolibriOS|-|http://kolibrios.org/en/|Tiny yet incredibly powerful and fast operating system.";; - kubuntu) INFO="Kubuntu|-|https://kubuntu.org/|Free, complete, and open-source alternative to Microsoft Windows and Mac OS X which contains everything you need to work, play, or share.";; - linuxlite) INFO="Linux Lite|-|https://www.linuxliteos.com/|Your first simple, fast and free stop in the world of Linux.";; - linuxmint) INFO="Linux Mint|-|https://linuxmint.com/|Designed to work out of the box and comes fully equipped with the apps most people need.";; - lmde) INFO="Linux Mint Debian Edition|-|https://www.linuxmint.com/download_lmde.php|Aims to be as similar as possible to Linux Mint, but without using Ubuntu. The package base is provided by Debian instead.";; - lubuntu) INFO="Lubuntu|-|https://lubuntu.me/|Complete Operating System that ships the essential apps and services for daily use: office applications, PDF reader, image editor, music and video players, etc. Using lightwave lxde/lxqt.";; - mageia) INFO="Mageia|-|https://www.mageia.org/|Stable, secure operating system for desktop & server.";; - manjaro) INFO="Manjaro|-|https://manjaro.org/|Versatile, free, and open-source Linux operating system designed with a strong focus on safeguarding user privacy and offering extensive control over hardware.";; - mxlinux) INFO="MX Linux|-|https://mxlinux.org/|Designed to combine elegant and efficient desktops with high stability and solid performance.";; - netboot) INFO="netboot.xyz|-|https://netboot.xyz/|Your favorite operating systems in one place.";; - netbsd) INFO="NetBSD|-|https://www.netbsd.org/|Free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.";; - nitrux) INFO="Nitrux|-|https://nxos.org/|Powered by Debian, KDE Plasma and Frameworks, and AppImages.";; - nixos) INFO="NixOS|-|https://nixos.org/|Linux distribution based on Nix package manager, tool that takes a unique approach to package management and system configuration.";; - nwg-shell) INFO="nwg-shell|nwg:nwg|https://nwg-piotr.github.io/nwg-shell/|Arch Linux ISO with nwg-shell for sway and Hyprland";; - macos) INFO="macOS|-|https://www.apple.com/macos/|Work and play on your Mac are even more powerful. Elevate your presence on video calls. Access information in all-new ways. Boost gaming performance. And discover even more ways to personalize your Mac.";; - openbsd) INFO="OpenBSD|-|https://www.openbsd.org/|FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography.";; - openindiana) INFO="OpenIndiana|-|https://www.openindiana.org/|Community supported illumos-based operating system.";; - opensuse) INFO="openSUSE|-|https://www.opensuse.org/|The makers choice for sysadmins, developers and desktop users.";; - oraclelinux) INFO="Oracle Linux|-|https://www.oracle.com/linux/|Linux with everything required to deploy, optimize, and manage applications on-premises, in the cloud, and at the edge.";; - parrotsec) INFO="Parrot Security|parrot:parrot|https://www.parrotsec.org/|Provides a huge arsenal of tools, utilities and libraries that IT and security professionals can use to test and assess the security of their assets in a reliable, compliant and reproducible way.";; - peppermint) INFO="PeppermintOS|-|https://peppermintos.com/|Provides a user with the opportunity to build the system that best fits their needs. While at the same time providing a functioning OS with minimum hassle out of the box.";; - popos) INFO="Pop!_OS|-|https://pop.system76.com/|Operating system for STEM and creative professionals who use their computer as a tool to discover and create.";; - porteus) INFO="Porteus|-|http://www.porteus.org/|Complete linux operating system that is optimized to run from CD, USB flash drive, hard drive, or other bootable storage media.";; - primtux) INFO="PrimTux|-|https://primtux.fr/|A complete and customizable GNU/Linux operating system intended for primary school students and suitable even for older hardware.";; - pureos) INFO="PureOS|-|https://www.pureos.net/|A fully free/libre and open source GNU/Linux operating system, endorsed by the Free Software Foundation.";; - reactos) INFO="ReactOS|-|https://reactos.org/|Imagine running your favorite Windows applications and drivers in an open-source environment you can trust.";; - rebornos) INFO="RebornOS|-|https://rebornos.org/|Aiming to make Arch Linux as user friendly as possible by providing interface solutions to things you normally have to do in a terminal.";; - rockylinux) INFO="Rocky Linux|-|https://rockylinux.org/|Open-source enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux®.";; - siduction) INFO="Siduction|-|https://siduction.org/|Operating system based on the Linux kernel and the GNU project. In addition, there are applications and libraries from Debian.";; - slackware) INFO="Slackware|-|http://www.slackware.com/|Advanced Linux operating system, designed with the twin goals of ease of use and stability as top priorities.";; - slax) INFO="Slax|-|https://www.slax.org/|Compact, fast, and modern Linux operating system that combines sleek design with modular approach. With the ability to run directly from a USB flash drive without the need for installation, Slax is truly portable and fits easily in your pocket.";; - slint) INFO="Slint|-|https://slint.fr/|Slint is an easy-to-use, versatile, blind-friendly Linux distribution for 64-bit computers. Slint is based on Slackware and borrows tools from Salix. Maintainer: Didier Spaier.";; - slitaz) INFO="SliTaz|-|https://www.slitaz.org/en/|Simple, fast and low resource Linux OS for servers & desktops.";; - solus) INFO="Solus|-|https://getsol.us/|Designed for home computing. Every tweak enables us to deliver a cohesive computing experience.";; - sparkylinux) INFO="SparkyLinux|-|https://sparkylinux.org/|Fast, lightweight and fully customizable operating system which offers several versions for different use cases.";; - spirallinux) INFO="SpiralLinux|-|https://spirallinux.github.io/|Selection of Linux spins built from Debian GNU/Linux, with a focus on simplicity and out-of-the-box usability across all the major desktop environments.";; - tails) INFO="Tails|-|https://tails.net/|Portable operating system that protects against surveillance and censorship.";; - tinycore) INFO="Tiny Core Linux|-|http://www.tinycorelinux.net/|Highly modular based system with community build extensions.";; - trisquel) INFO="Trisquel-|https://trisquel.info/|Fully free operating system for home users, small enterprises and educational centers.";; - truenas-core) INFO="TrueNAS Core|-|https://www.truenas.com/truenas-core/|World’s most popular storage OS because it gives you the power to build your own professional-grade storage system to use in a variety of data-intensive applications without any software costs.";; - truenas-scale) INFO="TrueNAS Scale|-|https://www.truenas.com/truenas-scale/|Open Source Hyperconverged Infrastructure (HCI) solution. In addition to powerful scale-out storage capabilities, SCALE adds Linux Containers and VMs (KVM) so apps run closer to data.";; - tuxedo-os) INFO="Tuxedo OS|-|https://www.tuxedocomputers.com/en/|KDE Ubuntu LTS designed to go with their Linux hardware.";; - ubuntu) INFO="Ubuntu|-|https://ubuntu.com/|Complete desktop Linux operating system, freely available with both community and professional support.";; - ubuntu-budgie) INFO="Ubuntu Budgie|-|https://ubuntubudgie.org/|Community developed distribution, integrating the Budgie Desktop Environment with Ubuntu at its core.";; - ubuntucinnamon) INFO="Ubuntu Cinnamon|-|https://ubuntucinnamon.org/|Community-driven, featuring Linux Mint’s Cinnamon Desktop with Ubuntu at the core, packed fast and full of features, here is the most traditionally modern desktop you will ever love.";; - ubuntukylin) INFO="Ubuntu Kylin|-|https://ubuntukylin.com/|Universal desktop operating system for personal computers, laptops, and embedded devices. It is dedicated to bringing a smarter user experience to users all over the world.";; - ubuntu-mate) INFO="Ubuntu MATE|-|https://ubuntu-mate.org/|Stable, easy-to-use operating system with a configurable desktop environment. It is ideal for those who want the most out of their computers and prefer a traditional desktop metaphor. Using Mate desktop.";; - ubuntu-server) INFO="Ubuntu Server|-|https://ubuntu.com/server|Brings economic and technical scalability to your datacentre, public or private. Whether you want to deploy an OpenStack cloud, a Kubernetes cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.";; - ubuntustudio) INFO="Ubuntu Studio|-|https://ubuntustudio.org/|Comes preinstalled with a selection of the most common free multimedia applications available, and is configured for best performance for various purposes: Audio, Graphics, Video, Photography and Publishing.";; - ubuntu-unity) INFO="Ubuntu Unity|-|https://ubuntuunity.org/|Flavor of Ubuntu featuring the Unity7 desktop environment (the default desktop environment used by Ubuntu from 2010-2017).";; - vanillaos) INFO="Vanilla OS|-|https://vanillaos.org/|Designed to be a reliable and productive operating system for your daily work.";; - void) INFO="Void Linux|anon:voidlinux|https://voidlinux.org/|General purpose operating system. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources.";; - vxlinux) INFO="VX Linux|-|https://vxlinux.org/|Pre-configured, secure systemd-free Plasma desktop with focus on convenience, performance and simplicity. Based on the excellent Void Linux.";; - windows) INFO="Windows|-|https://www.microsoft.com/en-us/windows/|Whether you’re gaming, studying, running a business, or running a household, Windows helps you get it done.";; - windows-server) INFO="Windows Server|-|https://www.microsoft.com/en-us/windows-server/|Platform for building an infrastructure of connected applications, networks, and web services.";; - xubuntu) INFO="Xubuntu|-|https://xubuntu.org/|Elegant and easy to use operating system. Xubuntu comes with Xfce, which is a stable, light and configurable desktop environment.";; - zorin) INFO="Zorin OS|-|https://zorin.com/os/|Alternative to Windows and macOS designed to make your computer faster, more powerful, secure, and privacy-respecting.";; + #name) INFO="PrettyName|Credentials|Homepage|Info|Architectures";; + alma) INFO="AlmaLinux|-|https://almalinux.org/|Community owned and governed, forever-free enterprise Linux distribution, focused on long-term stability, providing a robust production-grade platform. AlmaLinux OS is binary compatible with RHEL®.|x86_64";; + alpine) INFO="Alpine Linux|-|https://alpinelinux.org/|Security-oriented, lightweight Linux distribution based on musl libc and busybox.|x86_64";; + android) INFO="Android x86|-|https://www.android-x86.org/|Port Android Open Source Project to x86 platform.|x86_64";; + antix) INFO="Antix|-|https://antixlinux.com/|Fast, lightweight and easy to install systemd-free linux live CD distribution based on Debian Stable for Intel-AMD x86 compatible systems.|x86_64";; + archcraft) INFO="Archcraft|-|https://archcraft.io/|Yet another minimal Linux distribution, based on Arch Linux.|x86_64";; + archlinux) INFO="Arch Linux|-|https://archlinux.org/|Lightweight and flexible Linux® distribution that tries to Keep It Simple.|x86_64";; + arcolinux) INFO="Arco Linux|-|https://arcolinux.com/|Is all about becoming an expert in linux.|x86_64";; + artixlinux) INFO="Artix Linux|-|https://artixlinux.org/|The Art of Linux. Simple. Fast. Systemd-free.|x86_64";; + athenaos) INFO="Athena OS|-|https://athenaos.org/|Offer a different experience than the most used pentesting distributions by providing only tools that fit with the user needs and improving the access to hacking resources and learning materials.|x86_64";; + batocera) INFO="Batocera|-|https://batocera.org/|Retro-gaming distribution with the aim of turning any computer/nano computer into a gaming console during a game or permanently.|x86_64";; + bazzite) INFO="Bazzite|-|https://github.com/ublue-os/bazzite/|Container native gaming and a ready-to-game SteamOS like.|x86_64";; + biglinux) INFO="BigLinux|-|https://www.biglinux.com.br/|Is the right choice if you want to have an easy and enriching experience with Linux. It has been perfected over more than 19 years, following our motto: 'In search of the perfect system'.|x86_64";; + blendos) INFO="BlendOS|-|https://blendos.co/|A seamless blend of all Linux distributions. Allows you to have an immutable, atomic and declarative Arch Linux system, with application support from several Linux distributions & Android.|x86_64";; + bodhi) INFO="Bodhi|-|https://www.bodhilinux.com/|Lightweight distribution featuring the fast & fully customizable Moksha Desktop.|x86_64";; + bunsenlabs) INFO="BunsenLabs|-|https://www.bunsenlabs.org/|Light-weight and easily customizable Openbox desktop. The project is a community continuation of CrunchBang Linux.|x86_64";; + cachyos) INFO="CachyOS|-|https://cachyos.org/|Designed to deliver lightning-fast speeds and stability, ensuring a smooth and enjoyable computing experience every time you use it.|x86_64";; + centos-stream) INFO="CentOS Stream|-|https://www.centos.org/centos-stream/|Continuously delivered distro that tracks just ahead of Red Hat Enterprise Linux (RHEL) development, positioned as a midstream between Fedora Linux and RHEL.|x86_64";; + chimeralinux) INFO="Chimera Linux|anon:chimera root:chimera|https://chimera-linux.org/|Modern, general-purpose non-GNU Linux distribution.|x86_64";; + crunchbang++) INFO="Crunchbangplusplus|-|https://www.crunchbangplusplus.org/|The classic minimal crunchbang feel, now with debian 12 bookworm.|x86_64";; + debian) INFO="Debian|-|https://www.debian.org/|Complete Free Operating System with perfect level of ease of use and stability.|x86_64";; + deepin) INFO="Deepin|-|https://www.deepin.org/|Beautiful UI design, intimate human-computer interaction, and friendly community environment make you feel at home.|x86_64";; + devuan) INFO="Devuan|-|https://www.devuan.org/|Fork of Debian without systemd that allows users to reclaim control over their system by avoiding unnecessary entanglements and ensuring Init Freedom.|x86_64";; + dragonflybsd) INFO="DragonFlyBSD|-|https://www.dragonflybsd.org/|Provides an opportunity for the BSD base to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.|x86_64";; + easyos) INFO="EasyOS|-|https://easyos.org/|Experimental distribution designed from scratch to support containers.|x86_64";; + edubuntu) INFO="Edubuntu|-|https://www.edubuntu.org/|Stable, secure and privacy concious option for schools.|x86_64";; + elementary) INFO="elementary OS|-|https://elementary.io/|Thoughtful, capable, and ethical replacement for Windows and macOS.|x86_64";; + endeavouros) INFO="EndeavourOS|-|https://endeavouros.com/|Provides an Arch experience without the hassle of installing it manually for both x86_64 and ARM systems.|x86_64";; + endless) INFO="Endless OS|-|https://www.endlessos.org/os|Completely Free, User-Friendly Operating System Packed with Educational Tools, Games, and More.|x86_64";; + fedora) INFO="Fedora|-|https://www.fedoraproject.org/|Innovative platform for hardware, clouds, and containers, built with love by you.|x86_64";; + freebsd) INFO="FreeBSD|-|https://www.freebsd.org/|Operating system used to power modern servers, desktops, and embedded platforms.|x86_64";; + freedos) INFO="FreeDOS|-|https://freedos.org/|DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or develop embedded systems.|x86_64";; + garuda) INFO="Garuda Linux|-|https://garudalinux.org/|Feature rich and easy to use Linux distribution.|x86_64";; + gentoo) INFO="Gentoo|-|https://www.gentoo.org/|Highly flexible, source-based Linux distribution.|x86_64";; + ghostbsd) INFO="GhostBSD|-|https://www.ghostbsd.org/|Simple, elegant desktop BSD Operating System.|x86_64";; + gnomeos) INFO="GNOME OS|-|https://os.gnome.org/|Alpha nightly bleeding edge distro of GNOME.|x86_64";; + guix) INFO="Guix|-|https://guix.gnu.org/|Distribution of the GNU operating system developed by the GNU Project—which respects the freedom of computer users.|x86_64";; + haiku) INFO="Haiku|-|https://www.haiku-os.org/|Specifically targets personal computing. Inspired by the BeOS, Haiku is fast, simple to use, easy to learn and yet very powerful.|x86_64";; + holoiso) INFO="HoloISO|-|https://github.com/HoloISO/holoiso|Bring the Steam Decks SteamOS Holo redistribution and provide a close-to-official SteamOS experience.|x86_64";; + kali) INFO="Kali|-|https://www.kali.org/|The most advanced Penetration Testing Distribution.|x86_64";; + kdeneon) INFO="KDE Neon|-|https://neon.kde.org/|Latest and greatest of KDE community software packaged on a rock-solid base.|x86_64";; + kolibrios) INFO="KolibriOS|-|http://kolibrios.org/en/|Tiny yet incredibly powerful and fast operating system.|x86_64";; + kubuntu) INFO="Kubuntu|-|https://kubuntu.org/|Free, complete, and open-source alternative to Microsoft Windows and Mac OS X which contains everything you need to work, play, or share.|x86_64";; + linuxlite) INFO="Linux Lite|-|https://www.linuxliteos.com/|Your first simple, fast and free stop in the world of Linux.|x86_64";; + linuxmint) INFO="Linux Mint|-|https://linuxmint.com/|Designed to work out of the box and comes fully equipped with the apps most people need.|x86_64";; + lmde) INFO="Linux Mint Debian Edition|-|https://www.linuxmint.com/download_lmde.php|Aims to be as similar as possible to Linux Mint, but without using Ubuntu. The package base is provided by Debian instead.|x86_64";; + lubuntu) INFO="Lubuntu|-|https://lubuntu.me/|Complete Operating System that ships the essential apps and services for daily use: office applications, PDF reader, image editor, music and video players, etc. Using lightwave lxde/lxqt.|x86_64";; + mageia) INFO="Mageia|-|https://www.mageia.org/|Stable, secure operating system for desktop & server.|x86_64";; + manjaro) INFO="Manjaro|-|https://manjaro.org/|Versatile, free, and open-source Linux operating system designed with a strong focus on safeguarding user privacy and offering extensive control over hardware.|x86_64";; + mxlinux) INFO="MX Linux|-|https://mxlinux.org/|Designed to combine elegant and efficient desktops with high stability and solid performance.|x86_64";; + netboot) INFO="netboot.xyz|-|https://netboot.xyz/|Your favorite operating systems in one place.|x86_64";; + netbsd) INFO="NetBSD|-|https://www.netbsd.org/|Free, fast, secure, and highly portable Unix-like Open Source operating system. It is available for a wide range of platforms, from large-scale servers and powerful desktop systems to handheld and embedded devices.|x86_64";; + nitrux) INFO="Nitrux|-|https://nxos.org/|Powered by Debian, KDE Plasma and Frameworks, and AppImages.|x86_64";; + nixos) INFO="NixOS|-|https://nixos.org/|Linux distribution based on Nix package manager, tool that takes a unique approach to package management and system configuration.|x86_64";; + nwg-shell) INFO="nwg-shell|nwg:nwg|https://nwg-piotr.github.io/nwg-shell/|Arch Linux ISO with nwg-shell for sway and Hyprland.|x86_64";; + macos) INFO="macOS|-|https://www.apple.com/macos/|Work and play on your Mac are even more powerful. Elevate your presence on video calls. Access information in all-new ways. Boost gaming performance. And discover even more ways to personalize your Mac.|x86_64";; + openbsd) INFO="OpenBSD|-|https://www.openbsd.org/|FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography.|x86_64";; + openindiana) INFO="OpenIndiana|-|https://www.openindiana.org/|Community supported illumos-based operating system.|x86_64";; + opensuse) INFO="openSUSE|-|https://www.opensuse.org/|The makers choice for sysadmins, developers and desktop users.|x86_64";; + oraclelinux) INFO="Oracle Linux|-|https://www.oracle.com/linux/|Linux with everything required to deploy, optimize, and manage applications on-premises, in the cloud, and at the edge.|x86_64";; + parrotsec) INFO="Parrot Security|parrot:parrot|https://www.parrotsec.org/|Provides a huge arsenal of tools, utilities and libraries that IT and security professionals can use to test and assess the security of their assets in a reliable, compliant and reproducible way.|x86_64";; + peppermint) INFO="PeppermintOS|-|https://peppermintos.com/|Provides a user with the opportunity to build the system that best fits their needs. While at the same time providing a functioning OS with minimum hassle out of the box.|x86_64";; + popos) INFO="Pop!_OS|-|https://pop.system76.com/|Operating system for STEM and creative professionals who use their computer as a tool to discover and create.|x86_64";; + porteus) INFO="Porteus|-|http://www.porteus.org/|Complete linux operating system that is optimized to run from CD, USB flash drive, hard drive, or other bootable storage media.|x86_64";; + primtux) INFO="PrimTux|-|https://primtux.fr/|A complete and customizable GNU/Linux operating system intended for primary school students and suitable even for older hardware.|x86_64";; + pureos) INFO="PureOS|-|https://www.pureos.net/|A fully free/libre and open source GNU/Linux operating system, endorsed by the Free Software Foundation.|x86_64";; + reactos) INFO="ReactOS|-|https://reactos.org/|Imagine running your favorite Windows applications and drivers in an open-source environment you can trust.|x86_64";; + rebornos) INFO="RebornOS|-|https://rebornos.org/|Aiming to make Arch Linux as user friendly as possible by providing interface solutions to things you normally have to do in a terminal.|x86_64";; + rockylinux) INFO="Rocky Linux|-|https://rockylinux.org/|Open-source enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux®.|x86_64";; + siduction) INFO="Siduction|-|https://siduction.org/|Operating system based on the Linux kernel and the GNU project. In addition, there are applications and libraries from Debian.|x86_64";; + slackware) INFO="Slackware|-|http://www.slackware.com/|Advanced Linux operating system, designed with the twin goals of ease of use and stability as top priorities.|x86_64";; + slax) INFO="Slax|-|https://www.slax.org/|Compact, fast, and modern Linux operating system that combines sleek design with modular approach. With the ability to run directly from a USB flash drive without the need for installation, Slax is truly portable and fits easily in your pocket.|x86_64";; + slint) INFO="Slint|-|https://slint.fr/|Slint is an easy-to-use, versatile, blind-friendly Linux distribution for 64-bit computers. Slint is based on Slackware and borrows tools from Salix. Maintainer: Didier Spaier.|x86_64";; + slitaz) INFO="SliTaz|-|https://www.slitaz.org/en/|Simple, fast and low resource Linux OS for servers & desktops.|x86_64";; + solus) INFO="Solus|-|https://getsol.us/|Designed for home computing. Every tweak enables us to deliver a cohesive computing experience.|x86_64";; + sparkylinux) INFO="SparkyLinux|-|https://sparkylinux.org/|Fast, lightweight and fully customizable operating system which offers several versions for different use cases.|x86_64";; + spirallinux) INFO="SpiralLinux|-|https://spirallinux.github.io/|Selection of Linux spins built from Debian GNU/Linux, with a focus on simplicity and out-of-the-box usability across all the major desktop environments.|x86_64";; + tails) INFO="Tails|-|https://tails.net/|Portable operating system that protects against surveillance and censorship.|x86_64";; + tinycore) INFO="Tiny Core Linux|-|http://www.tinycorelinux.net/|Highly modular based system with community build extensions.|x86_64";; + trisquel) INFO="Trisquel-|https://trisquel.info/|Fully free operating system for home users, small enterprises and educational centers.|x86_64";; + truenas-core) INFO="TrueNAS Core|-|https://www.truenas.com/truenas-core/|World’s most popular storage OS because it gives you the power to build your own professional-grade storage system to use in a variety of data-intensive applications without any software costs.|x86_64";; + truenas-scale) INFO="TrueNAS Scale|-|https://www.truenas.com/truenas-scale/|Open Source Hyperconverged Infrastructure (HCI) solution. In addition to powerful scale-out storage capabilities, SCALE adds Linux Containers and VMs (KVM) so apps run closer to data.|x86_64";; + tuxedo-os) INFO="Tuxedo OS|-|https://www.tuxedocomputers.com/en/|KDE Ubuntu LTS designed to go with their Linux hardware.|x86_64";; + ubuntu) INFO="Ubuntu|-|https://ubuntu.com/|Complete desktop Linux operating system, freely available with both community and professional support.|x86_64";; + ubuntu-budgie) INFO="Ubuntu Budgie|-|https://ubuntubudgie.org/|Community developed distribution, integrating the Budgie Desktop Environment with Ubuntu at its core.|x86_64";; + ubuntucinnamon) INFO="Ubuntu Cinnamon|-|https://ubuntucinnamon.org/|Community-driven, featuring Linux Mint’s Cinnamon Desktop with Ubuntu at the core, packed fast and full of features, here is the most traditionally modern desktop you will ever love.|x86_64";; + ubuntukylin) INFO="Ubuntu Kylin|-|https://ubuntukylin.com/|Universal desktop operating system for personal computers, laptops, and embedded devices. It is dedicated to bringing a smarter user experience to users all over the world.|x86_64";; + ubuntu-mate) INFO="Ubuntu MATE|-|https://ubuntu-mate.org/|Stable, easy-to-use operating system with a configurable desktop environment. It is ideal for those who want the most out of their computers and prefer a traditional desktop metaphor. Using Mate desktop.|x86_64";; + ubuntu-server) INFO="Ubuntu Server|-|https://ubuntu.com/server|Brings economic and technical scalability to your datacentre, public or private. Whether you want to deploy an OpenStack cloud, a Kubernetes cluster or a 50,000-node render farm, Ubuntu Server delivers the best value scale-out performance available.|x86_64";; + ubuntustudio) INFO="Ubuntu Studio|-|https://ubuntustudio.org/|Comes preinstalled with a selection of the most common free multimedia applications available, and is configured for best performance for various purposes: Audio, Graphics, Video, Photography and Publishing.|x86_64";; + ubuntu-unity) INFO="Ubuntu Unity|-|https://ubuntuunity.org/|Flavor of Ubuntu featuring the Unity7 desktop environment (the default desktop environment used by Ubuntu from 2010-2017).|x86_64";; + vanillaos) INFO="Vanilla OS|-|https://vanillaos.org/|Designed to be a reliable and productive operating system for your daily work.|x86_64";; + void) INFO="Void Linux|anon:voidlinux|https://voidlinux.org/|General purpose operating system. Its package system allows you to quickly install, update and remove software; software is provided in binary packages or can be built directly from sources.|x86_64";; + vxlinux) INFO="VX Linux|-|https://vxlinux.org/|Pre-configured, secure systemd-free Plasma desktop with focus on convenience, performance and simplicity. Based on the excellent Void Linux.|x86_64";; + windows) INFO="Windows|-|https://www.microsoft.com/en-us/windows/|Whether you’re gaming, studying, running a business, or running a household, Windows helps you get it done.|x86_64";; + windows-server) INFO="Windows Server|-|https://www.microsoft.com/en-us/windows-server/|Platform for building an infrastructure of connected applications, networks, and web services.|x86_64";; + xubuntu) INFO="Xubuntu|-|https://xubuntu.org/|Elegant and easy to use operating system. Xubuntu comes with Xfce, which is a stable, light and configurable desktop environment.|x86_64";; + zorin) INFO="Zorin OS|-|https://zorin.com/os/|Alternative to Windows and macOS designed to make your computer faster, more powerful, secure, and privacy-respecting.|x86_64";; esac echo "${INFO}" } From d78f0107f729070c6f71a37a7ebaae960aaa7cfe Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Mon, 24 Jun 2024 08:39:13 +0100 Subject: [PATCH 9/9] wip: add architecture aware to alpine --- quickget | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/quickget b/quickget index 777f6123ad..1953bcbb31 100755 --- a/quickget +++ b/quickget @@ -567,7 +567,7 @@ function releases_alpine() { local RELS="" RELS=$(web_pipe "https://dl-cdn.alpinelinux.org/alpine/" | grep '"v' | cut -d'"' -f2 | tr -d / | sort -Vr | head -n 10) for REL in ${RELS}; do - if web_check "https://dl-cdn.alpinelinux.org/alpine/${REL}/releases/x86_64/"; then + if web_check "https://dl-cdn.alpinelinux.org/alpine/${REL}/releases/${ARCH_GUEST}/"; then echo -n "${REL} " fi done @@ -1436,6 +1436,7 @@ function make_vm_config() { echo "Making ${CONF_FILE}" cat << EOF > "${CONF_FILE}" #!$(which quickemu) --vm +arch_vm="${ARCH_QEMU}" guest_os="${GUEST}" disk_img="${VM_PATH}/disk.qcow2" ${IMAGE_TYPE}="${VM_PATH}/${IMAGE_FILE}" @@ -1555,10 +1556,10 @@ function get_alma() { function get_alpine() { local HASH="" local ISO="" - local URL="https://dl-cdn.alpinelinux.org/alpine/${RELEASE}/releases/x86_64" + local URL="https://dl-cdn.alpinelinux.org/alpine/${RELEASE}/releases/${ARCH_GUEST}" local VERSION="" VERSION=$(web_pipe "${URL}/latest-releases.yaml" | awk '/"Xen"/{found=0} {if(found) print} /"Virtual"/{found=1}' | grep 'version:' | awk '{print $2}') - ISO="alpine-virt-${VERSION}-x86_64.iso" + ISO="alpine-virt-${VERSION}-${ARCH_GUEST}.iso" HASH=$(web_pipe "${URL}/latest-releases.yaml" | awk '/"Xen"/{found=0} {if(found) print} /"Virtual"/{found=1}' | grep 'sha256:' | awk '{print $2}') echo "${URL}/${ISO} ${HASH}" } @@ -3390,6 +3391,7 @@ if ((BASH_VERSINFO[0] < 4)); then exit 1 fi +# TODO: Move supported archs to distro info and check that from releases_ # ARCH_GUEST is the common string used in the URL # ARCH_QEMU is the suffix used by to determine the qemu-system- to use and what is written into the VM config ARCH_HOST=$(uname -m)