Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add icaros desktop #713

Closed
wants to merge 98 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
0966654
initial icaros support
philclifford May 10, 2023
0adbe84
Add ubuntu server (#702)
philclifford Jun 14, 2023
5d4304e
updated with upstream merges
philclifford Apr 30, 2023
2a5ccc0
Correction of release naming
philclifford Mar 7, 2023
6487f60
The daily isos demand a minimum of 18G
philclifford Mar 7, 2023
5eab084
Issue 650 - Allow --screenpct which will scale VM's screen size
dabrown645 May 1, 2023
d6e36c4
Issue: 591 - line breaks in generated scrip
dabrown645 May 1, 2023
982a1ff
issu590: fixed typo in change that was missing continuing \
dabrown645 May 1, 2023
e95e05d
fix url and iso name for rockylinux versions
Wojberni May 3, 2023
debd3d4
Use geo-distributed mirror for Alma URL
carlwgeorge May 4, 2023
0f20b02
Update to NixOS 23.05
ahoneybun Jun 6, 2023
c151309
XeroLinux
zen0bit Mar 7, 2023
5f3ba1a
feat: add quickget support for macOS Ventura
flexiondotorg Jun 14, 2023
0370c8e
feat: add quickemu macOS Ventura support
flexiondotorg Jun 14, 2023
66248e7
feat: change default OpenCore resolution to 1920x1080
flexiondotorg Jun 14, 2023
100c812
chore: white space clean up
flexiondotorg Jun 14, 2023
b3b0e37
fix: detect the 1920x1080 OpenCore firmware
flexiondotorg Jun 14, 2023
b76535c
fix: remov trailing period from vmlinux releases
flexiondotorg Jun 14, 2023
7c2d4af
feat: add automatic Windows 10 and 11 iso downloads. Close #563
flexiondotorg Jun 14, 2023
634198f
docs: regenerated to auto-update
philclifford Jun 14, 2023
36f878f
docs: additional note explaining --screenpct
philclifford Jun 14, 2023
2ab3f98
chore: bump version to 4.8
flexiondotorg Jun 14, 2023
4258bbd
docs: windows automation return changes reflected and documentation r…
philclifford Jun 14, 2023
41e57a6
Move Ubuntu 22.10 releases into eol
philclifford Jun 26, 2023
8d4e6f2
docs: Add Ventura to supported MacOS releases
philclifford Jun 27, 2023
54e7864
Fix ventura RecoveryImage download
SafaSafari Oct 10, 2023
9fb90f9
elementary: 7.1 (#791)
zen0bit Oct 16, 2023
336066a
fix nproc (#780)
zen0bit Oct 16, 2023
1f2b988
fix ubuntu eol releases (#764)
basilky Oct 16, 2023
501d721
fix blendOS downloads again (#729)
philclifford Oct 16, 2023
73878d5
fix arcolinux releases
the-shank Jul 17, 2023
0d54bbb
Adjusted check values
criadoperez Aug 16, 2023
e59f4d6
Explained headroom for memory limits
criadoperez Aug 29, 2023
148b94a
Updated manjaro fetching as migrated to new system (#742)
Jai-JAP Oct 16, 2023
27a75bd
Improve test for presence of smbd (#754)
philclifford Oct 16, 2023
8eaa25d
siduction: 2023 1.1
zen0bit Sep 13, 2023
8f084d4
Added support for changing virtual sound hardware
chasecovello Apr 28, 2023
1158f22
vx-linux: 5.5
zen0bit Sep 13, 2023
d4d26e4
holoiso: 20230626 (#746)
zen0bit Oct 16, 2023
cdba6de
garuda: fix (#759)
zen0bit Oct 16, 2023
ce4aeb0
added linux mint 21.2
basilky Sep 16, 2023
acce345
fix cachyos
basilky Sep 16, 2023
b809d09
Fix Gentoo hash check in quickget
Neinei0k Sep 16, 2023
50be602
repair alma linux
zen0bit Sep 30, 2023
2642481
repair NetBSD releases
zen0bit Oct 1, 2023
7eef119
repair DragonFlyBSD releases
zen0bit Oct 1, 2023
eb91330
update alpine linux releases
basilky Oct 8, 2023
7023297
update devuan release
basilky Oct 8, 2023
a59ffd1
fix(rebornos): use CDN metadata API instead of scraping
SoulHarsh007 Oct 13, 2023
6c0d2a8
feat: add support for ubuntu 23.10
flexiondotorg Oct 16, 2023
338faed
feat: add edubuntu support, fixes #711 closes #757
flexiondotorg Oct 16, 2023
a9fbc1d
Add PeppermintOS
zen0bit Oct 12, 2023
2e01db1
Add Trisquel GNU Linux
zen0bit Sep 17, 2023
22f4972
Add bunsenlabs
zen0bit Oct 6, 2023
3f30963
Docs: regenerated for recent PR merges
philclifford Oct 16, 2023
d2570ec
Added install instructions for arch
kshitijaucharmal Oct 17, 2023
c6345c5
Add bodhi linux (#751)
zen0bit Oct 18, 2023
d92e0aa
Add Linux Lite
zen0bit Sep 30, 2023
cf71583
docs: regenerated after PR merges
philclifford Oct 18, 2023
84f2b76
Add Tiny Core Linux
zen0bit Sep 16, 2023
f5665a8
Add Antix
zen0bit Oct 12, 2023
0e7a75a
Add Porteus
zen0bit Oct 11, 2023
93492c5
Add SpiralLinux
zen0bit Oct 8, 2023
3725a10
Get rid of whitespaces in Tiny Core Linux
zen0bit Sep 16, 2023
b478f27
chore: regenerated docs for recent PR merges
philclifford Oct 19, 2023
e217499
change Board_id for ventura image
SafaSafari Oct 31, 2023
331e017
Added Wget read-timeout and retry
eweihe Nov 5, 2023
dab39f1
fix: actually support edubuntu
philclifford Oct 23, 2023
e1b0667
chore: docs regenerated with edubuntu
philclifford Oct 23, 2023
90fc76f
chore: bump version to 4.9
0x4A6F Oct 21, 2023
7e79b4c
update holoiso
zen0bit Oct 26, 2023
272c624
hash commented out for now
Nov 2, 2023
552b7aa
Add "--access" variable to toggle on remote Spice access
colino17 Nov 7, 2023
df9c7d8
Update quickemu.1.md
colino17 Nov 7, 2023
f54c8a1
Update README.md
colino17 Nov 7, 2023
862cbd3
vx-linux: 5.1.2
zen0bit Sep 13, 2023
81041ae
Update batocera version in quickget
software-ace Oct 21, 2023
fb5f5d4
resizing screen support for wayland
dabrown645 Oct 27, 2023
e985374
chore: remove greetings workflow, it doesn't add any value and clutte…
flexiondotorg Nov 10, 2023
b77ca3f
testmode web_get
zen0bit Oct 13, 2023
f5c771d
show_iso_url test_iso_url open_distro_homepage
zen0bit Oct 24, 2023
0fa9277
quickget: add function os_homepages
zen0bit Oct 25, 2023
d905f1c
add short commands
zen0bit Oct 26, 2023
35d3330
quickget with no argumets show also new commands
zen0bit Oct 28, 2023
0e0b30d
add open_url function
zen0bit Oct 28, 2023
412d8ae
os_homepages as case
zen0bit Oct 29, 2023
933e644
feat: restore automated Windows .iso downloads from Microsoft servers
flexiondotorg Nov 10, 2023
d2fdff6
chore: bump version to 4.9.1
flexiondotorg Nov 10, 2023
eb70316
feat: add debian packaging
flexiondotorg Nov 10, 2023
87804a8
feat(ci): add build and publish release workflow
flexiondotorg Nov 10, 2023
9c0ac86
chore: bump debian/changelog to 4.9.1-1
flexiondotorg Nov 10, 2023
26e6400
feat(ci): add publish PPA workflow
flexiondotorg Nov 10, 2023
bee59ca
feat(ci): add dependabot
flexiondotorg Nov 10, 2023
748d8ae
fix: correct publish-ppa-package version
flexiondotorg Nov 10, 2023
cfd8073
fix: correct pkgdir
flexiondotorg Nov 10, 2023
2e5eacc
refactor: rework publish ppa workflow
flexiondotorg Nov 10, 2023
146b095
refactor: use consistent debian/changelog creation for release workflow
flexiondotorg Nov 10, 2023
1004105
initial icaros support
philclifford May 10, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every week
interval: "weekly"
25 changes: 0 additions & 25 deletions .github/workflows/greetings.yml

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/publish-ppa.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Publish PPA 📦️

on:
workflow_dispatch:

jobs:
publish-ppa:
name: Publish PPA
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Import gpg key
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.PPA_GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PPA_GPG_PASSPHRASE }}
- name: Install dependencies
run: |
sudo apt-get -y update
sudo apt-get -y install debhelper-compat distro-info dput devscripts
- name: Publish to PPA
env:
DEBEMAIL: ${{ secrets.DEBEMAIL }}
DEBFULLNAME: ${{ secrets.DEBFULLNAME }}
run: |
REL_VER=$(grep "^readonly VERSION" quickemu | cut -d'"' -f2)
STAMP=$(date +%y%j.%H%M)
for CODENAME in $(distro-info --supported); do
rm debian/changelog
dch --package quickemu --newversion="${REL_VER}-1~${CODENAME}${STAMP}" --distribution=${CODENAME} "New upstream release." --create
dpkg-buildpackage -d -S -sa
dput ppa:flexiondotorg/quickemu ../quickemu_${REL_VER}-1~${CODENAME}${STAMP}_source.changes
done
50 changes: 50 additions & 0 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build 🏗️ and Publish 📦️

on:
push:
tags: ['*']

jobs:
create-release:
name: Create Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Create release ${{ github.ref }} as a draft
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create "${{ github.ref }}" --draft --generate-notes

build-release:
needs: [create-release]
name: Build Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Build and Upload .deb
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt-get -y update
sudo apt-get -y install debhelper devscripts
REL_VER=$(grep "^readonly VERSION" quickemu | cut -d'"' -f2)
rm debian/changelog
dch --package quickemu --newversion="${REL_VER}-1" --distribution=unstable "New upstream release." --create
dpkg-buildpackage --build=binary --no-check-builddeps --compression=gzip
gh release upload "${{ github.ref }}" "../quickemu_${REL_VER}-1_all.deb" --clobber

publish-release:
needs: [build-release]
name: Publish Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Publish release ${{ github.ref }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [ "$(gh release view "${{ github.ref }}" --json assets --template '{{len .assets}}')" -lt 0 ]; then
exit 1
fi
gh release edit "${{ github.ref }}" --draft=false
65 changes: 51 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Windows**.
## Features

- **macOS** Monterey, Big Sur, Catalina, Mojave & High Sierra
- **Windows** 8.1, 10 and 11 including TPM 2.0
- **Windows** 10 and 11 including TPM 2.0
- [Ubuntu](https://ubuntu.com/desktop) and all the **[official Ubuntu
flavours](https://ubuntu.com/download/flavours)**
- **Over 360 operating system editions are supported!**
Expand Down Expand Up @@ -144,6 +144,16 @@ sudo apt install quickgui

# Install Quickemu

## Arch

Quickemu is available from the AUR (Arch user repository), and can be
installed via any AUR helper. Assuming your AUR helper is yay, Run the
following command:

``` bash
yay -Sy quickemu
```

## Ubuntu

Quickemu is available from a PPA for Ubuntu users. The Quickemu PPA also
Expand Down Expand Up @@ -219,12 +229,14 @@ series.
All the official Ubuntu flavours are supported, just replace `ubuntu`
with your preferred flavour.

- `edubuntu` (Edubuntu)
- `kubuntu` (Kubuntu)
- `lubuntu` (Lubuntu)
- `ubuntu-budgie` (Ubuntu Budgie)
- `ubuntucinnamon` (Ubuntu Cinnamon)
- `ubuntukylin` (Ubuntu Kylin)
- `ubuntu-mate` (Ubuntu MATE)
- `ubuntu-server` (Ubuntu Server)
- `ubuntustudio` (Ubuntu Studio)
- `ubuntu` (Ubuntu)
- `ubuntu-unity` (Ubuntu Unity)
Expand All @@ -237,11 +249,14 @@ with your preferred flavour.
- `alma` (Alma Linux)
- `alpine` (Alpine Linux)
- `android` (Android x86)
- `antix` (Antix)
- `archcraft` (Archcraft)
- `archlinux` (Arch Linux)
- `arcolinux` (Arco Linux)
- `batocera` (Batocera)
- `blendos` (BlendOS)
- `bodhi` (Bodhi)
- `bunsenlabs` (Bunsenlabs)
- `cachyos` (CachyOS)
- `centos-stream` (CentOS Stream)
- `debian` (Debian)
Expand All @@ -254,12 +269,15 @@ with your preferred flavour.
- `fedora` (Fedora)
- `freebsd` (FreeBSD)
- `freedos` (FreeDOS)
- `garuda` (Garuda Linux)
- `gentoo` (Gentoo)
- `ghostbsd` (GhostBSD)
- `haiku` (Haiku)
- `holoiso` (HoloISO)
- `kali` (Kali)
- `kdeneon` (KDE Neon)
- `kolibrios` (KolibriOS)
- `linuxlite` (Linux Lite)
- `linuxmint` (Linux Mint)
- `lmde` (Linux Mint Debian Edition)
- `mageia` (Mageia)
Expand All @@ -269,20 +287,28 @@ with your preferred flavour.
- `netbsd` (NetBSD)
- `nixos` (NixOS)
- `openbsd` (OpenBSD)
- `openindiana` (OpenIndiana)
- `opensuse` (openSUSE)
- `oraclelinux` (Oracle Linux)
- `peppermint` (PeppermintOS)
- `popos` (Pop!\_OS)
- `porteus` (Porteus)
- `reactos` (ReactOS)
- `rebornos` (RebornOS)
- `rockylinux` (Rocky Linux)
- `siduction` (Siduction)
- `slackware` (Slackware)
- `solus` (Solus)
- `spiral` (Spiral)
- `tails` (Tails)
- `tinycore` (Tiny Core Linux)
- `trisquel` (Trisquel)
- `truenas-core` (TrueNAS Core)
- `truenas-scale` (TrueNAS Scale)
- `vanillaos` (Vanilla OS)
- `void` (Void Linux)
- `vxlinux` (VX Linux)
- `xerolinux` (XeroLinux)
- `zorin` (Zorin OS)

Or you can download a Linux image and manually create a VM
Expand Down Expand Up @@ -320,19 +346,19 @@ quickget macos catalina
quickemu --vm macos-catalina.conf
```

macOS `high-sierra`, `mojave`, `catalina`, `big-sur` and `monterey` are
supported.
macOS `high-sierra`, `mojave`, `catalina`, `big-sur`, `monterey` and
`ventura` are supported.

- Use cursor keys and enter key to select the **macOS Base System**
- From **macOS Utilities**
- Click **Disk Utility** and **Continue**
- Select `QEMU HARDDISK Media` (\~103.08GB) from the list
(on Big Sur and above use `Apple Inc. VirtIO Block Device`) and
- Select `QEMU HARDDISK Media` (\~103.08GB) from the list (on
Big Sur and above use `Apple Inc. VirtIO Block Device`) and
click **Erase**.
- Enter a `Name:` for the disk
- If you are installing macOS Mojave or later (Catalina, Big
Sur, and Monterey), choose any of the APFS options as the
filesystem. MacOS Extended may not work.
Sur, Monterey and Ventura), choose any of the APFS options
as the filesystem. MacOS Extended may not work.
- Click **Erase**.
- Click **Done**.
- Close Disk Utility
Expand Down Expand Up @@ -408,6 +434,7 @@ There are some considerations when running macOS via Quickemu.
- Catalina **(Recommended)**
- Big Sur
- Monterey
- Ventura
- `quickemu` will automatically download the required
[OpenCore](https://github.com/acidanthera/OpenCorePkg) bootloader
and OVMF firmware from [OSX-KVM](https://github.com/kholia/OSX-KVM).
Expand Down Expand Up @@ -455,24 +482,26 @@ sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

Now reboot, and the App Store should work.

## Windows 10 & 11 Guests
## Windows 8, 10 & 11 Guests

`quickget` can not download
`quickget` can download
[Windows10](https://www.microsoft.com/software-download/windows10) and
[Windows 11](https://www.microsoft.com/software-download/windows11)
automatically, but does automatically create an optimised virtual
machine configuration that you can just add an Windows .iso image to.
automatically and create an optimised virtual machine configuration.
This configuration also includes the [VirtIO drivers for
Windows](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/).

Windows 8.1 is also supported but doesn't feature any automated installation or
driver optimisation.

``` bash
quickget windows 11
quickemu --vm windows-11.conf
```

- Complete the installation as you normally would.
- All relevant drivers and services should be installed automatically.
- A local adminstrator user account is automatically created, with
- A local administrator user account is automatically created, with
these credentials:
- Username: `Quickemu`
- Password: `quickemu`
Expand All @@ -485,7 +514,7 @@ disk_img="windows-11/disk.qcow2"
iso="windows-11/windows-11.iso"
fixed_iso="windows-11/virtio-win.iso"
tpm="on"
secureboot="on"
secureboot="off"
```

- `guest_os="windows"` instructs `quickemu` to optimise for Windows.
Expand Down Expand Up @@ -744,13 +773,15 @@ Usage
quickemu --vm ubuntu.conf

You can also pass optional parameters
--access : Enable remote spice access support. 'local' (default), 'remote', 'clientipaddress'
--braille : Enable braille support. Requires SDL.
--delete-disk : Delete the disk image and EFI variables
--delete-vm : Delete the entire VM and it's configuration
--display : Select display backend. 'sdl' (default), 'gtk', 'none', 'spice' or 'spice-app'
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
--ignore-msrs-always : Configure KVM to always ignore unhandled machine-specific registers
--screen <screen> : Use specified screen to determine the window size.
--screenpct <percent> : Percent of fullscreen for VM if --fullscreen is not specified.
--shortcut : Create a desktop shortcut
--snapshot apply <tag> : Apply/restore a snapshot.
--snapshot create <tag> : Create a snapshot.
Expand All @@ -760,7 +791,7 @@ You can also pass optional parameters
--viewer <viewer> : Choose an alternative viewer. @Options: 'spicy' (default), 'remote-viewer', 'none'
--ssh-port <port> : Set ssh-port manually
--spice-port <port> : Set spice-port manually
--public-dir <path> : expose share directory. @Options: '' (default: xdg-user-dir PUBLICSHARE), '<directory>', 'none'
--public-dir <path> : Expose share directory. @Options: '' (default: xdg-user-dir PUBLICSHARE), '<directory>', 'none'
--monitor <type> : Set monitor connection type. @Options: 'socket' (default), 'telnet', 'none'
--monitor-telnet-host <ip/host> : Set telnet host for monitor. (default: 'localhost')
--monitor-telnet-port <port> : Set telnet port for monitor. (default: '4440')
Expand All @@ -772,6 +803,7 @@ You can also pass optional parameters
--keyboard_layout <layout> : Set keyboard layout.
--mouse <type> : Set mouse. @Options: 'tablet' (default), 'ps2', 'usb', 'virtio'
--usb-controller <type> : Set usb-controller. @Options: 'ehci' (default), 'xhci', 'none'
--sound-card <type> : Set sound card. @Options: 'intel-hda' (default), 'ac97', 'es1370', 'sb16', 'none'
--extra_args <arguments> : Pass additional arguments to qemu
--version : Print version

Expand Down Expand Up @@ -833,6 +865,11 @@ which Quickemu sizes to 2048x1152. Without the `--screen` option,
Quickemu would have used the 1920x1080 monitor which results in a window
size of 1664x936.

The '--screenpct' is an optional integer value between 25 \<= pct \< 100
which will override system default screen sizes. The VM size will be
'pct' of the chosen screen. **If --fullscreen is chosen screen will be
fullsize instead of being scaled down by --screenpct value.**

# References

Useful reference that assisted the development of Quickemu.
Expand Down
Loading