navycatt
018fb1c454
Improvments of port scanning. ( #79 )
...
* Fix port scan. Don't send a new line character when scanning.
* Fix port scanning. Possible infinite loop when all range of ports is busy.
Changed port scanning scheme from random to linear because this is the same faster but more predictable.
* Fix port scan. Don't send a new line character when scanning.
echo -n "" for clarity instead of cat < /dev/null
Co-authored-by: navycat <navycat@ultrasparc>
2021-10-09 22:27:47 +01:00
Martin Wimpress
d1afc10857
Detect insufficient RAM for Windows and macOS Close #78
...
Also changes the RAM allocation for the VM to better attempt a working configuration.
2021-10-09 16:51:30 +01:00
Martin Wimpress
5ad176155f
Actually honour requested disk_size
2021-10-09 16:26:06 +01:00
Martin Wimpress
fe86d970ec
Try to ensure PUBLIC_TAG stays under 31 chars
2021-10-09 15:42:42 +01:00
Martin Wimpress
6bc4c6202a
Make shellcheck happy
2021-10-09 15:41:53 +01:00
Martin Wimpress
4afaf9b21d
l10n for ~/Public
2021-10-09 15:41:13 +01:00
Martin Wimpress
0d5f393b70
Look for OVMF firmware in common locations. Close #74 Close #75
2021-10-09 15:28:26 +01:00
Martin Wimpress
d2d9bc1f1a
Fix deleting EFI VARS when VM deletion is requested
2021-10-09 15:27:06 +01:00
Martin Wimpress
6d926d66e9
Fix missing ]
2021-10-09 15:22:18 +01:00
Martin Wimpress
6f49efee2f
Correct Samba sharing to use ${PUBLIC}
2021-10-09 14:34:22 +01:00
Martin Wimpress
45b09c1f5e
Bump version to 2.2.4
2021-10-09 14:32:30 +01:00
Martin Wimpress
fd52be1dfb
Do not expose any file sharing if ${PUBLIC} is not set.
2021-10-09 14:32:06 +01:00
Martin Wimpress
ec89223b22
Reinstate sharing ~/Public is smbd is available. Close #76
...
This is a "bonus item". Samba, specifically smbd, is not a hard requirement of Quickemu, but if present quickemu will enable Samba file sharing.
2021-10-09 14:30:21 +01:00
Martin Wimpress
ca9c01eec2
Bump version to 2.2.3
2021-10-08 15:09:17 +01:00
Martin Tournoij
061c454a82
Deal with systems without xdg-user-dir better
...
My system doesn't have xdg-user-dir, and shows the following errors on
startup:
./quickemu: line 828: xdg-user-dir: command not found
mkdir: cannot create directory '': No such file or directory
basename: missing operand
Try 'basename --help' for more information.
Usage
quickemu --vm ubuntu.conf
You can also pass optional parameters
--delete : Delete the disk image.
--display : Select display backend. 'sdl' (default), 'gtk' or 'spice'
--shortcut : Create a desktop shortcut
--snapshot apply <tag> : Apply/restore a snapshot.
--snapshot create <tag> : Create a snapshot.
--snapshot delete <tag> : Delete a snapshot.
--snapshot info : Show disk/snapshot info.
--status-quo : Do not commit any changes to disk/snapshot.
--fullscreen : Starts VM in full screen mode (Ctl+Alt+f to exit)
--screen <screen> : Use specified screen to determine the window size.
--version : Print version
From a quick look it should still function correctly, but better to deal
with this case explicitly.
It's only used to get the PUBLIC, which is optional anyway. If I install
it then it just returns ~, at which point it's set to "" anyway.
I also removed it from the list of "requirements" for this reason.
This also deals with an edge case I happened to notice: "xdg-user-dir
PUBLICSHARE" returns "/home/martin/" on my system, whereas $HOME is
"/home/martin", so the equality check fails. This is arguable a problem
in xdg-user-dir, but better to fix it here. This only deals with a
single slash (multiple slashes is harder in bash), which should be
sufficient.
2021-10-08 14:50:45 +01:00
Edward Betts
6332e037a0
Correct a spelling mistake
2021-10-08 14:48:48 +01:00
Martin Wimpress
d7e2407bc9
Correct typo
2021-10-08 02:42:08 +01:00
Martin Wimpress
632f1c682c
Bump version to 2.2.2
2021-10-08 02:04:50 +01:00
Martin Wimpress
d191d0da44
Add unattended configuration for Windows 10 and 11
...
Automates some of the install/configuration steps for Windows 10 and 11, most notably essential drivers and disk formatting.
2021-10-08 02:04:30 +01:00
Martin Wimpress
8106026fd0
Use usb-mouse instead of usb-tablet on FreeBSD
2021-10-07 21:57:22 +01:00
Martin Wimpress
4d8e619988
FreeBSD 12 and 13, like Linux, both fully support VirtIO
...
Treat FreeBSD like Linux for basic optimisation.
2021-10-07 20:29:47 +01:00
Martin Wimpress
5e5b68f4f4
Bump version to 2.2.1
2021-10-07 16:11:58 +01:00
Martin Wimpress
d49bcb3452
Always boot macOS via OpenCore
2021-10-07 16:05:10 +01:00
Martin Wimpress
7553e77b11
Improve disk used heuristics. Disk preallocation is disabled by default (again)
2021-10-07 15:56:06 +01:00
Martin Wimpress
fcc050ed82
When deleting a disk, also remove the EFI vars
2021-10-07 15:54:24 +01:00
Martin Wimpress
90669add62
Bump version to 2.2.0
2021-10-06 11:01:53 +01:00
Martin Wimpress
023185291e
Add TPM support.
2021-10-06 11:01:33 +01:00
Martin Wimpress
a6847d41aa
Refactor topoext
2021-10-05 23:17:17 +01:00
Martin Wimpress
50ce992c1d
Minor clean up
2021-10-05 23:13:59 +01:00
Martin Wimpress
bc0ce93b82
Add topoext for AMD CPUs to enable hyperthreading
2021-10-05 23:13:40 +01:00
Yannick Mauray
ee774d2584
Fixed : problem with the generated shell script.
2021-10-05 20:09:24 +01:00
Martin Wimpress
3e49d4b154
Tidy MAC_BOOTLOADER
2021-10-05 00:17:51 +01:00
Martin Wimpress
1bce0374f4
Change $disk to $disk_size
2021-10-05 00:03:03 +01:00
Martin Wimpress
021e176026
Indentation correction
2021-10-05 00:02:21 +01:00
Martin Wimpress
9ac49a94d2
Make nested case statements easier to follow
2021-10-05 00:01:51 +01:00
Martin Wimpress
199952a13e
Replace PID in message with force kill details
2021-10-04 23:52:13 +01:00
Martin Wimpress
2fe80e1fe5
Check CPU capabilities, don't assume.
2021-10-04 23:47:37 +01:00
Martin Wimpress
0a56dea565
Add check_cpu_flag()
2021-10-04 23:46:43 +01:00
Martin Wimpress
62fb6690db
Minor refactor of macOS DISPLAY_DEVICE
2021-10-04 22:25:29 +01:00
Martin Wimpress
faf38a2f5d
Refactor CPU/SMP configuration to reflect host CPU sockets and threads
2021-10-04 22:24:37 +01:00
Martin Wimpress
1c53d86004
Consolidate start up status messages
2021-10-04 22:19:37 +01:00
Martin Wimpress
9611080f50
Correct MAC_DISK_DEV
2021-10-04 22:15:15 +01:00
Martin Wimpress
bd3b24ee71
Refactor DISPLAY_DEVICE for Linux guests
2021-10-04 17:50:19 +01:00
Martin Wimpress
e6c7603864
Tweak DISPLAY_DEVICE based on macOS release
...
Do not try and coerce the screen resolution on macOS. Resolution is defined via System Preferences only on macOS.
qxl is the display device on Catalina and Big Sur and VGA is used on Mahave and High Sierra.
bochs-display also appears to work correctly on Big Sur providing the QEMU moniotor is set to none, which Quickemu does by default.
2021-10-04 17:49:37 +01:00
Martin Wimpress
2a344f6fad
Add -no-hpet to macOS guest configurations
2021-10-04 17:35:07 +01:00
Martin Wimpress
561d04a2b5
Add macos_release VM configuration variable. Tune macOS based on release
...
Tune Qemu optimisations based on the macOS release, or fallback to lowest common supported options if macos_release is not specified.
2021-10-04 17:34:31 +01:00
Martin Wimpress
c240a17bda
Correctly disable mixing-engine for audio output
...
Add a note to the README that audio is not working at all on macOS Big Sur
2021-10-04 17:29:47 +01:00
Martin Wimpress
faeefcfb50
Always expose virtio-rng-pci
...
macOS Big Sur support virtio-rng-pci, so always expose it for simplicity as it doesn't matter if the guest OS doesn't support the device
2021-10-04 17:27:49 +01:00
Martin Wimpress
82f28a83ee
Correct disk order and boot priorities
...
Optimise disk performance where possible and use consistent drive ids for all boot environments.
2021-09-30 19:03:28 +01:00
Martin Wimpress
d6cbcf29ee
Don't honour --status-quo when boot macOS recovery
2021-09-30 19:00:42 +01:00
Martin Wimpress
6ea4fa812f
Don't download macOS firmware/bootloader at runtime
...
quickget it the tool to acquire macOS with compatible firmware and bootloader. quickemu is backwards compatible with Clover.
2021-09-30 18:59:00 +01:00
Martin Wimpress
5b74011219
Assorted string tweaks.
2021-09-30 17:40:40 +01:00
Martin Wimpress
e2fed9c51f
Simplify boot conditional
2021-09-29 04:11:26 +01:00
Martin Wimpress
9cb78e1fb7
Double quote "${floppy}" variable
2021-09-29 04:10:54 +01:00
Martin Wimpress
36f6c782ec
Use correct path for shortcut deletions
2021-09-29 04:10:20 +01:00
Martin Wimpress
eac94b6a6f
Text output/display improvements
2021-09-29 04:09:58 +01:00
Martin Wimpress
165e615a41
Use a variable for the virtio-9p tag and alert permission fix for macOS
2021-09-29 04:09:08 +01:00
Martin Wimpress
f190117a8a
Refactor EFI/Legacy BIOS logic
2021-09-29 03:32:55 +01:00
Martin Wimpress
2fa3a1319d
Correct path for shortcut creation
2021-09-29 03:31:46 +01:00
Martin Wimpress
2f992c5941
Minor text/display improvements
2021-09-29 03:31:14 +01:00
Martin Wimpress
01fca96f28
Add support for virtio-9p
2021-09-29 03:30:16 +01:00
Martin Wimpress
d63a57a26f
Only expose ~/Public on the host to to guests
...
Not actually ~/Public but XDG PUBLICSHARE
2021-09-29 03:27:28 +01:00
Martin Wimpress
bc2680c198
Replace rot13 with a tr implementation
2021-09-29 03:21:36 +01:00
Martin Wimpress
418c633546
Optimise disk performance
2021-09-28 22:48:38 +01:00
Martin Wimpress
a611aa6005
Add disk preallocation support
...
preallocation=metadata is now the default as it offers the best size/performance.
2021-09-28 22:47:26 +01:00
Martin Wimpress
ad7f4a2aef
Optimise RTC
2021-09-28 22:44:24 +01:00
Martin Wimpress
d08f64a9b6
Optimise Hyper-V Enlightenments
2021-09-28 22:43:46 +01:00
Martin Wimpress
e5a0bdf876
Add floppy disk image support
2021-09-28 19:01:44 +01:00
Martin Wimpress
454b639df4
Fill out SMBIOS entries
2021-09-28 17:44:02 +01:00
Martin Wimpress
7ebc66cc50
Add --version argument
2021-09-28 17:43:38 +01:00
Martin Wimpress
494d3ca22a
Fix VGA VRAM allocation
2021-09-28 17:38:06 +01:00
Martin Wimpress
232bddeed6
Optimise Hyper-V Enlightenments
2021-09-28 17:37:40 +01:00
Martin Wimpress
c755e10405
Overwrite the log for each VM launch
2021-09-28 15:51:06 +01:00
Martin Wimpress
4f68841daa
Minor disk configuration refactor
2021-09-28 15:50:24 +01:00
Martin Wimpress
c83b0ff7fc
Only expose org.spice-space.webdav.0 on Linux and Windows
...
Not supported on macOS
2021-09-28 15:49:46 +01:00
Martin Wimpress
f9d1bc21a1
White space cleanup
2021-09-28 15:48:18 +01:00
Martin Wimpress
ab994d3859
Only expose virtio-rng-pci to Linux and Windows
...
Not supported on macOS
2021-09-28 15:47:32 +01:00
Martin Wimpress
9378d6b637
Refactor video configuration
...
macOS now ignores any resolution coercion. Display resolution on macOS is now configured via macOS System Preferences only.
2021-09-28 15:43:18 +01:00
Martin Wimpress
fc2331ae92
Switch macOS video device to qxl by default
2021-09-28 15:40:00 +01:00
Martin Wimpress
3527001973
Add $virtio_blk to disable VirtIO Block Media
...
Currently only required for macOS High Sierra and Mojave
2021-09-28 15:37:36 +01:00
Martin Wimpress
f60e92d80e
Change $driver_iso to $fixed_iso
...
Compatibility for configurations using $driver_iso is preserved.
2021-09-28 15:32:12 +01:00
Martin Wimpress
ac13c5875a
Do not use VirtIO Balloon on macOS
2021-09-28 15:27:02 +01:00
Martin Wimpress
b4ec24fa07
Fix Hyper-V Enlightenments
2021-09-28 05:03:40 +01:00
Martin Wimpress
a4cfed64e1
Minor code clean up
2021-09-28 02:14:30 +01:00
Martin Wimpress
7e04f471bc
Only connect a CD/DVD to macOS when an ISO image is presented
2021-09-28 02:13:54 +01:00
Martin Wimpress
bf461eb966
Drop macOS High Sierra support
...
High Sierra doesn't support VirtIO Disk devices so dropping support from Quickemu.
2021-09-28 02:11:06 +01:00
Martin Wimpress
eee84e0c0b
Minor clean up
2021-09-27 22:53:34 +01:00
Martin Wimpress
b96587dabd
Optimise guest CPU for Windows
2021-09-27 22:53:18 +01:00
Martin Wimpress
58faf5c299
Optimise guest CPU for macOS
2021-09-27 22:52:56 +01:00
Martin Wimpress
2609189dbb
Add NET_DEVICE and USB_HOST_PASSTHROUGH_CONTROLLER variables
...
macOS doesn't support USB3 in Qemu and needs a different network interface device from Linux and Windows.
2021-09-27 22:51:48 +01:00
Martin Wimpress
89e61c4e9e
Refactor VM configuration builder using an array or arguments
...
Also create a (non-executable) shell script in the VM directory which includes the last used VM configuration.
2021-09-27 22:50:06 +01:00
Martin Wimpress
0dcbe75fb5
Refactor web_get() and add progress
2021-09-27 22:47:10 +01:00
Martin Wimpress
3a86f6c2dd
Add host CPU vendor detection
2021-09-27 22:46:26 +01:00
Martin Wimpress
0237499331
Default to sane disk image size based on OS
2021-09-25 23:26:50 +01:00
Martin Wimpress
01ca84566a
Default to EFI booting
2021-09-25 23:25:18 +01:00
Martin Wimpress
5ed1904f64
Migrate macOS to OpenCore bootloader
2021-09-25 22:50:00 +01:00
Martin Wimpress
a6fc0cac56
Reorder variables
2021-09-25 13:57:22 +01:00
Martin Wimpress
63c32ae0c3
Minor code corrections
2021-09-25 13:42:04 +01:00
Martin Wimpress
780735cce6
Qemu version check is now major/minor version only
2021-09-25 13:41:37 +01:00
Martin Wimpress
d88ae70aa8
Make usage() match README.md
2021-09-25 13:40:52 +01:00