aboutsummaryrefslogtreecommitdiff
path: root/Dockerfile.auto
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile.auto')
-rw-r--r--Dockerfile.auto44
1 files changed, 31 insertions, 13 deletions
diff --git a/Dockerfile.auto b/Dockerfile.auto
index 60dde95..2fce725 100644
--- a/Dockerfile.auto
+++ b/Dockerfile.auto
@@ -92,19 +92,29 @@ USER arch
ENV USER arch
-# 5.13 problem
-ENV SUPERMIN_KERNEL=/boot/vmlinuz-linux
-ENV SUPERMIN_MODULES=/lib/modules/5.12.14-arch1-1
+#### libguestfs versioning
+# 5.13+ problem resolved by building the qcow2 against 5.12 using libguestfs-1.44.1-6
+
+ENV SUPERMIN_KERNEL=/boot/vmlinuz-linux
+ENV SUPERMIN_MODULES=/lib/modules/5.12.14-arch1-1
ENV SUPERMIN_KERNEL_VERSION=5.12.14-arch1-1
+ENV KERNEL_PACKAGE_URL=https://archive.archlinux.org/packages/l/linux/linux-5.12.14.arch1-1-x86_64.pkg.tar.zst
+ENV LIBGUESTFS_PACKAGE_URL=https://archive.archlinux.org/packages/l/libguestfs/libguestfs-1.44.1-6-x86_64.pkg.tar.zst
+
+ARG LINUX=true
+
+# required to use libguestfs inside a docker container, to create bootdisks for docker-osx on-the-fly
+RUN if [[ "${LINUX}" == true ]]; then \
+ sudo pacman -U "${KERNEL_PACKAGE_URL}" --noconfirm \
+ ; sudo pacman -U "${LIBGUESTFS_PACKAGE_URL}" --noconfirm \
+ ; sudo libguestfs-test-tool \
+ ; sudo rm -rf /var/tmp/.guestfs-* \
+ ; fi
+
+####
-RUN sudo pacman -Rns linux --noconfirm \
- ; sudo pacman -Syy \
- ; sudo pacman -S mkinitcpio --noconfirm \
- ; sudo pacman -U https://archive.archlinux.org/packages/l/linux/linux-5.12.14.arch1-1-x86_64.pkg.tar.zst --noconfirm \
- ; sudo rm -rf /var/tmp/.guestfs-* \
- ; libguestfs-test-tool
WORKDIR /home/arch/OSX-KVM
@@ -135,6 +145,14 @@ RUN if [[ "${COMPLETE}" ]]; then \
&& wget ${WGET_OPTIONS} -O /home/arch/OSX-KVM/mac_hdd_ng.img "${IMAGE_URL}" \
; fi
+
+####
+
+# symlink the old directory, for redundancy
+RUN ln -s /home/arch/OSX-KVM/Opencore /home/arch/OSX-KVM/Opencore-Catalina || true
+
+####
+
#### SPECIAL RUNTIME ARGUMENTS BELOW
ENV ADDITIONAL_PORTS=
@@ -200,9 +218,9 @@ CMD echo "${BOILERPLATE}" \
; sudo chown -R $(id -u):$(id -g) /dev/kvm /dev/snd "${IMAGE_PATH}" "${BOOTDISK}" "${ENV}" 2>/dev/null || true \
; [[ "${NOPICKER}" == true ]] && { \
sed -i '/^.*InstallMedia.*/d' Launch.sh \
- && export BOOTDISK="${BOOTDISK:=/home/arch/OSX-KVM/OpenCore-Catalina/OpenCore-nopicker.qcow2}" \
+ && export BOOTDISK="${BOOTDISK:=/home/arch/OSX-KVM/OpenCore/OpenCore-nopicker.qcow2}" \
; } \
- || export BOOTDISK="${BOOTDISK:=/home/arch/OSX-KVM/OpenCore-Catalina/OpenCore.qcow2}" \
+ || export BOOTDISK="${BOOTDISK:=/home/arch/OSX-KVM/OpenCore/OpenCore.qcow2}" \
; [[ "${GENERATE_UNIQUE}" == true ]] && { \
./Docker-OSX/osx-serial-generator/generate-unique-machine-values.sh \
--master-plist-url="${MASTER_PLIST_URL}" \
@@ -211,7 +229,7 @@ CMD echo "${BOILERPLATE}" \
--bootdisks \
--width "${WIDTH:-1920}" \
--height "${HEIGHT:-1080}" \
- --output-bootdisk "${BOOTDISK:=/home/arch/OSX-KVM/OpenCore-Catalina/OpenCore.qcow2}" \
+ --output-bootdisk "${BOOTDISK:=/home/arch/OSX-KVM/OpenCore/OpenCore.qcow2}" \
--output-env "${ENV:=/env}" \
|| exit 1 ; } \
; [[ "${GENERATE_SPECIFIC}" == true ]] && { \
@@ -225,7 +243,7 @@ CMD echo "${BOILERPLATE}" \
--mac-address "${MAC_ADDRESS}" \
--width "${WIDTH:-1920}" \
--height "${HEIGHT:-1080}" \
- --output-bootdisk "${BOOTDISK:=/home/arch/OSX-KVM/OpenCore-Catalina/OpenCore.qcow2}" \
+ --output-bootdisk "${BOOTDISK:=/home/arch/OSX-KVM/OpenCore/OpenCore.qcow2}" \
|| exit 1 ; } \
; { [[ "${DISPLAY}" = ':99' ]] || [[ "${HEADLESS}" == true ]] ; } && { \
nohup Xvfb :99 -screen 0 1920x1080x16 \