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

Fix helm installation failure and cleanup values organization #134

Merged
merged 1 commit into from
Jan 24, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
41 changes: 20 additions & 21 deletions helm/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -377,8 +377,8 @@ data:
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
{{- if .Values.kexts.add }}
{{- range .Values.kexts.kextsToAdd }}
{{- if .Values.macos.kexts.add }}
{{- range .Values.macos.kexts.kextsToAdd }}
<dict>
<key>Arch</key>
<string>Any</string>
Expand Down Expand Up @@ -744,7 +744,7 @@ data:
<key>TakeoffDelay</key>
<integer>0</integer>
<key>Timeout</key>
<integer>{{ .Values.openCore.boot.timeout }}</integer>
<integer>{{ .Values.macos.openCore.boot.timeout }}</integer>
</dict>
<key>Debug</key>
<dict>
Expand Down Expand Up @@ -851,7 +851,7 @@ data:
<key>SystemAudioVolume</key>
<data>Rg==</data>
<key>boot-args</key>
<string>{{ .Values.configPlist.bootArgs }}</string>
<string>{{ .Values.macos.configPlist.bootArgs }}</string>
<key>run-efi-updater</key>
<string>No</string>
<key>csr-active-config</key>
Expand Down Expand Up @@ -918,19 +918,19 @@ data:
<key>AdviseWindows</key>
<false/>
<key>MLB</key>
<string>{{ .Values.configPlist.MLB }}</string>
<string>{{ .Values.macos.configPlist.MLB }}</string>
<key>ROM</key>
<data>
m7zhIYfl
</data>
<key>SpoofVendor</key>
<true/>
<key>SystemProductName</key>
<string>{{ .Values.configPlist.SystemProductName }}</string>
<string>{{ .Values.macos.configPlist.SystemProductName }}</string>
<key>SystemSerialNumber</key>
<string>{{ .Values.configPlist.SystemSerialNumber }}</string>
<string>{{ .Values.macos.configPlist.SystemSerialNumber }}</string>
<key>SystemUUID</key>
<string>{{ .Values.configPlist.SystemUUID }}</string>
<string>{{ .Values.macos.configPlist.SystemUUID }}</string>
</dict>
<key>UpdateDataHub</key>
<true/>
Expand Down Expand Up @@ -1103,21 +1103,20 @@ data:
#/bin/sh

# Add extra kexts to EFI/OC/kexts
{{- if .Values.kexts.add }}
{{- range .Values.kexts.kextsToAdd }}
{{- if .Values.macos.kexts.add }}
{{- range .Values.macos.kexts.kextsToAdd }}
{{- $rangeItem := . -}}
{{- with $ }}
echo 'Installing kext {{ $rangeItem.name }}..'
cp -r "{{ .Values.kexts.path }}/{{ $rangeItem.name }}" /home/{{ .Values.image.userName }}/OSX-KVM/OpenCore-Catalina/EFI/OC/Kexts/
cp -r "{{ .Values.macos.kexts.path }}/{{ $rangeItem.name }}" /home/{{ .Values.image.userName }}/OSX-KVM/OpenCore-Catalina/EFI/OC/Kexts/
sudo chmod 755 /home/{{ .Values.image.userName }}/OSX-KVM/OpenCore-Catalina/EFI/OC/Kexts/{{ $rangeItem.name }}
{{- end }}
{{- end }}
{{- end }}

# Rebuild Opencore.qcow2 after making changes to config.plist and etc..
{{- if .Values.openCore.rebuild }}
{{- if .Values.macos.openCore.rebuild }}
echo 'Building new Opencore.qcow2..'
sudo apt install {{ .Values.openCore.kernel }} -y
pushd OpenCore-Catalina/
mkdir -p EFI/OC/Resources
rm -f OpenCore.qcow2
Expand All @@ -1128,20 +1127,20 @@ data:
popd
{{- end }}

if ! [ -d "{{ .Values.qemu.systemInstaller.path }}" ]; then
mkdir -p {{ .Values.qemu.systemInstaller.path }}
if ! [ -d "{{ .Values.macos.installerSettings.path }}" ]; then
mkdir -p {{ .Values.macos.installerSettings.path }}
fi

if ! [ -d "/system_image/{{ .Values.serverName }}" ]; then
mkdir -p "/system_image/{{ .Values.serverName }}"
fi

# Download and build installer image if no system drive found..
if ! [ -f "{{ .Values.qemu.systemInstaller.path }}/BaseSystem{{ .Values.qemu.systemInstaller.version }}.img" ]; then
echo "Downloading {{ .Values.qemu.systemInstaller.version }} base image.."
python fetch-macOS.py --version {{ .Values.qemu.systemInstaller.version }}
echo 'Converting downloaded BaseSystem.dmg into BaseSystem{{ .Values.qemu.systemInstaller.version }}.img and saving in {{ .Values.qemu.systemInstaller.path }}'
qemu-img convert BaseSystem.dmg -O qcow2 -p -c {{ .Values.qemu.systemInstaller.path }}/BaseSystem{{ .Values.qemu.systemInstaller.version }}.img
if ! [ -f "{{ .Values.macos.installerSettings.path }}/BaseSystem{{ .Values.macos.installerSettings.version }}.img" ]; then
echo "Downloading {{ .Values.macos.installerSettings.version }} base image.."
python fetch-macOS.py --version {{ .Values.macos.installerSettings.version }}
echo 'Converting downloaded BaseSystem.dmg into BaseSystem{{ .Values.macos.installerSettings.version }}.img and saving in {{ .Values.qemu.systemInstaller.path }}'
qemu-img convert BaseSystem.dmg -O qcow2 -p -c {{ .Values.macos.installerSettings.path }}/BaseSystem{{ .Values.qemu.systemInstaller.version }}.img
rm -f BaseSystem.dmg
else
echo 'Base Image downloaded and converted into img already..'
Expand Down Expand Up @@ -1221,7 +1220,7 @@ data:
-device ide-hd,bus=sata.2,drive=OpenCoreBoot \
{{- if .Values.qemu.systemInstaller.enabled }}
-device ide-hd,bus=sata.3,drive=InstallMedia \
-drive id=InstallMedia,if=none,file={{ .Values.qemu.systemInstaller.path }}/BaseSystem{{ .Values.qemu.systemInstaller.version }}.img,format=qcow2 \
-drive id=InstallMedia,if=none,file={{ .Values.macos.installerSettings.path }}/BaseSystem{{ .Values.macos.installerSettings.version }}.img,format=qcow2 \
{{- end }}
-drive id=MacHDD,if=none,file=/system_image/{{ .Values.serverName }}/mac_hdd_ng.img,format=qcow2 \
-device ide-hd,bus=sata.4,drive=MacHDD \
Expand Down
68 changes: 35 additions & 33 deletions helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,41 @@ image:
# Please note, this must be a directory name within `/system_image` mounted at the bottom in extraVolumeMounts
serverName: server

# add kexts to EFI/OC/kexts and update config.plist
# make sure your kexts are in kexts.path
kexts:
add: false
path: /system_image/kexts
kextsToAdd: {}
# - name: BrcmBluetoothInjector.kext
# executablePath: Contents/MacOS/BrcmBluetoothInjector
# plistPath: Contents/Info.plist
# - name: BrcmFirmwareData.kext
# executablePath: Contents/MacOS/BrcmFirmwareData
# plistPath: Contents/Info.plist
# - name: BrcmPatchRAM3.kext
# executablePath: Contents/MacOS/BrcmPatchRAM3
# plistPath: Contents/Info.plist

# SMBIOS settings
configPlist:
SystemProductName: iMacPro1,1
MLB: D25338500GUF8YLJA
SystemSerialNumber: D25LF7ZEF8JC
SystemUUID: 139C94D6-A533-47D2-874F-D365BFD8B047
bootArgs: '-v keepsyms=1 tlbto_us=0 vti=9 -wegoff agdpmod=pikera'

openCore:
# Rebuild OpenCore.qcow2: this can be disabled if none of the above parameters in kexts, configPlist changes, and changing the
# resolution are not desired, utilizing gpu passthrough and a few other things. Disabling is not recommended
rebuild: true
boot:
# set to zero to have OpenCore stay at boot menu
timeout: 0
macos:
# add kexts to EFI/OC/kexts and update config.plist
# make sure your kexts are in kexts.path
kexts:
add: false
path: /system_image/kexts
kextsToAdd: {}
# - name: BrcmBluetoothInjector.kext
# executablePath: Contents/MacOS/BrcmBluetoothInjector
# plistPath: Contents/Info.plist
# - name: BrcmFirmwareData.kext
# executablePath: Contents/MacOS/BrcmFirmwareData
# plistPath: Contents/Info.plist
# - name: BrcmPatchRAM3.kext
# executablePath: Contents/MacOS/BrcmPatchRAM3
# plistPath: Contents/Info.plist
# SMBIOS settings
configPlist:
SystemProductName: iMacPro1,1
MLB: D25338500GUF8YLJA
SystemSerialNumber: D25LF7ZEF8JC
SystemUUID: 139C94D6-A533-47D2-874F-D365BFD8B047
bootArgs: '-v keepsyms=1 tlbto_us=0 vti=9 -wegoff agdpmod=pikera'
openCore:
# Rebuild OpenCore.qcow2: this can be disabled if none of the above parameters in kexts, configPlist changes, and changing the
# resolution are not desired, utilizing gpu passthrough and a few other things. Disabling is not recommended
rebuild: true
boot:
# set to zero to have OpenCore stay at boot menu
timeout: 0
installerSettings:
# if using more than one deployment, a write lock will be put on the system installer dmg, so this will need to be disabled
# for other pods
version: 10.15.7
path: /system_image/installers

# This section defines QEMU and virtlo parameters
#
Expand Down Expand Up @@ -75,8 +79,6 @@ qemu:
# if using more than one deployment, a write lock will be put on the system installer dmg, so this will need to be disabled
# for other pods
enabled: false
version: 10.15.7
path: /system_image/installers
downloadDelay: 15
# can be `writethrough`, `writeback`, or `none`
cache: none
Expand Down