From 48a469d933e9c4b60bd4f6d6bcafe42fe75dfcd9 Mon Sep 17 00:00:00 2001 From: Mayank Kumar Date: Thu, 10 Jun 2021 15:23:45 -0700 Subject: [PATCH] Add base installer + fix hibernation issues --- Installer/kryptonite.sh | 296 ++++++++++++++++-- .../Kryptonite.xcodeproj/project.pbxproj | 0 .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcschemes/Kryptonite.xcscheme | 0 {Kernel => Kryptonite}/Kryptonite/Info.plist | 0 .../Kryptonite/kern_compatibility.cpp | 0 .../Kryptonite/kern_compatibility.hpp | 0 .../Kryptonite/kern_hooks.cpp | 0 .../Kryptonite/kern_hooks.hpp | 0 .../Kryptonite/kern_nvramargs.cpp | 0 .../Kryptonite/kern_nvramargs.hpp | 0 .../Kryptonite/kern_patchapplicator.cpp | 0 .../Kryptonite/kern_patchapplicator.hpp | 0 .../Kryptonite/kern_patches.cpp | 0 .../Kryptonite/kern_patches.hpp | 0 .../Kryptonite/kern_patchset.cpp | 0 .../Kryptonite/kern_patchset.hpp | 0 .../Kryptonite/kern_start.cpp | 0 .../Kryptonite/kern_targetkexts.hpp | 0 OpenCore/0.7.0/config.plist | 2 +- 21 files changed, 273 insertions(+), 25 deletions(-) rename {Kernel => Kryptonite}/Kryptonite.xcodeproj/project.pbxproj (100%) rename {Kernel => Kryptonite}/Kryptonite.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename {Kernel => Kryptonite}/Kryptonite.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename {Kernel => Kryptonite}/Kryptonite.xcodeproj/xcshareddata/xcschemes/Kryptonite.xcscheme (100%) rename {Kernel => Kryptonite}/Kryptonite/Info.plist (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_compatibility.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_compatibility.hpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_hooks.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_hooks.hpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_nvramargs.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_nvramargs.hpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_patchapplicator.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_patchapplicator.hpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_patches.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_patches.hpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_patchset.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_patchset.hpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_start.cpp (100%) rename {Kernel => Kryptonite}/Kryptonite/kern_targetkexts.hpp (100%) diff --git a/Installer/kryptonite.sh b/Installer/kryptonite.sh index 7199974..24456da 100755 --- a/Installer/kryptonite.sh +++ b/Installer/kryptonite.sh @@ -1,20 +1,24 @@ #!/bin/sh # kryptonite.sh -# Version: 1.0.0 +# Version: 0.9.0 # Author: @mayankk2308 github.com / @mac_editor egpu.io script="$0" configure_environment() { b="$(tput bold)" n="$(tput sgr0)" - version="1.0.0" + version="0.9.0" pb="/usr/libexec/PlistBuddy" - work_dir="/Library/Application Support/Kryptonite/" - disk_plist="${work_dir}disks.plist" + work_dir="/Library/Application Support/Kryptonite" + mkdir -p "${work_dir}" + disk_plist="${work_dir}/disks.plist" userinput="" pnames=() pids=() + bootargs_plist_ref=":NVRAM:Add:7C436110-AB2A-4BBB-A880-FE41995C9F82:boot-args" + bootloader_exists=0 + debug_resources=0 } printfn() { @@ -26,13 +30,20 @@ printfc() { printfn "${@}" } +exit_if_failed() { + if [ $? != 0 ]; then + printfn "$1" + exit 1 + fi +} + yesno_action() { prompt="${1}" read -n1 -p "${prompt} [Y/N]: " userinput printf "\033[2K\r" - ([ $userinput = "Y" ] || [ $userinput = "y" ]) && return 0 - ([ $userinput = "N" ] || [ $userinput = "n" ]) && return 1 - printfn "Invalid choice. Please try again." + if [ "${userinput}" = "Y" ] || [ "${userinput}" = "y" ]; then return 0; fi + if [ "${userinput}" = "N" ] || [ "${userinput}" = "n" ]; then return 1; fi + printfn "Invalid choice. Please try again.\n" yesno_action "${prompt}" } @@ -60,23 +71,33 @@ validate_macos_version() { } populate_disks() { - mkdir -p "${work_dir}" printfn "${b}Populating disks...${n}" diskutil list -plist > "${disk_plist}" whole_disk_count=$($pb -c "Print :WholeDisks" "${disk_plist}" | grep -i disk | wc -l | xargs) for (( i = 0; i < ${whole_disk_count}; i++ )) do + pstart=0 base_cmd="Print :AllDisksAndPartitions:${i}:Partitions" + if [ "$($pb -c "Print :AllDisksAndPartitions:${i}:Content" "${disk_plist}")" = "Apple_HFSX" ]; then + base_cmd="Print :AllDisksAndPartitions" + pstart=$i + fi pcount=$($pb -c "${base_cmd}" "${disk_plist}" | sed -e 1d -e '$d' | grep -o -i "Dict" | wc -l) - for (( j = 0; j < ${pcount}; j++ )) + [ $pstart != 0 ] && pcount=$(( $pstart + 1 )) + for (( j = $pstart; j < ${pcount}; j++ )) do pcontent="$($pb -c "${base_cmd}:${j}:Content" "${disk_plist}")" - ([ "${pcontent}" = "EFI" ] || [ "${pcontent}" = "Apple_APFS" ]) && continue + ([ "${pcontent}" = "EFI" ] || + [ "${pcontent}" = "Apple_APFS" ] || + [ "${pcontent}" = "Apple_CoreStorage" ] || + [ "${pcontent}" = "Apple_Boot" ]) && continue pname="$($pb -c "${base_cmd}:${j}:VolumeName" "${disk_plist}")" + exit_if_failed "Failed to retrieve volume name. Exiting." pid="$($pb -c "${base_cmd}:${j}:DeviceIdentifier" "${disk_plist}")" + exit_if_failed "Failed to retrieve volume identifier. Exiting." pnames+=("${pname}") pids+=("${pid}") done @@ -86,6 +107,7 @@ populate_disks() { } list_disks() { + printfn ">> ${b}Detected Volumes${n}\n" disk_count=${#pnames[@]} if (( $disk_count < 1 )); then printfn "No valid partitions found. Exiting." @@ -96,16 +118,31 @@ list_disks() { disk_no=$(( $i + 1 )) printfn " ${b}${disk_no}${n}. ${pnames[$i]}" done + printfn "\n ${b}R${n}. Refresh" printfn " ${b}0${n}. Quit" } select_disk() { printfc + printfn "Note that ${b}APFS containers and volumes${n} are not shown." + printfn "If you want to use an internal volume, create a FAT32 partition" + printfn "via ${b}Disk Utility${n}, after which it should show up here.\n" read -p "${b}Choose disk to format${n}: " userinput - if ( [ -z $userinput ] || [ $userinput -lt 1 ] || - [ $userinput -gt ${#pids[@]} ] ); then - printfn "Invalid choice. Aborting." - exit 1 + if [ "${userinput}" = "R" ] || [ "${userinput}" = "r" ]; then + printfn + list_disks + select_disk + return 0 + fi + if [ -z "${userinput}" ] || + ! [ $userinput -eq $userinput 2>/dev/null ] || + [ $userinput -lt 0 ] || + [ $userinput -gt ${#pids[@]} ]; then + printfn "Invalid choice. Please re-select." + printfn + list_disks + select_disk + return 0 fi if [ $userinput -eq 0 ]; then printfc "Quitting as requested." @@ -121,25 +158,34 @@ select_disk() { erase_disk() { printfc yesno_action "${b}Format disk${n}?" - if [ $? != 0 ]; then - printfc "Aborting disk format." - exit 1 - fi + exit_if_failed "Aborting disk format." printfn "${b}Formatting disk...${n}" - diskutil eraseVolume FAT32 KRYPTONITE "${pids[$userinput]}" - main_dir="/Volumes/KRYPTONITE/" + diskutil eraseVolume FAT32 KRYPTONITE "${pids[$userinput]}" 1>/dev/null + exit_if_failed "Failed to erase volume. Exiting." + main_dir="$(diskutil info "${pids[$userinput]}" | grep -i "mount point" | cut -d':' -f2 | awk '{$1=$1};1')" if [ ! -e "${main_dir}" ]; then - printfn "Failed to format disk. Exiting." + printfn "Failed to find formatted volume root. Exiting." exit 1 fi + config_plist="${main_dir}/EFI/OC/config.plist" printfn "Disk ready." } format_disk() { - yesno_action "${b}Do you already have a bootloader?${n}" + yesno_action "${b}Already using OpenCore?${n}" if [ $? = 0 ]; then - printfn "${b}Skipping disk management...${n}" + printfn "${b}Drag and drop${n} your OpenCore disk here. Then press ${b}RETURN${n}." + read -p "${b}Disk Path${n}: " main_dir + printfn + config_plist="${main_dir}/EFI/OC/config.plist" + if [ ! -e "${main_dir}" ] || + [ ! -e "${config_plist}" ]; then + printfn "Failed to find bootloader volume root. Exiting." + exit 1 + fi + bootloader_exists=1 + printfn "Bootloader path set." return 0 fi @@ -149,22 +195,224 @@ format_disk() { erase_disk } +retrieve_kryptonite_resources() { + release_data="$(curl -qs "https://api.github.com/repos/mayankk2308/kryptonite/releases/latest")" + filter="RELEASE" + [ $debug_resources = 1 ] && filter="DEBUG" + bootloader_url="$(printfn "${release_data}" | grep '"browser_download_url":' | + grep "${filter}" | sed -E 's/.*"([^"]+)".*/\1/' 2>/dev/null)" + + if [ -z "${bootloader_url}" ]; then + printfn "Unable to retrieve download URL for bootloader. Exiting." + exit 1 + fi +} + +cleanup_archive_data() { + rm -rf "${object}" 2>/dev/null + rn -rf "${destination}/__MACOSX" 2>/dev/null +} + +download_kryptonite() { + printfn "${b}Downloading kryptonite resources...${n}" + destination="$1" + if [ ! -e "${destination}" ]; then + printfn "Invalid download destination." + exit 1 + fi + retrieve_kryptonite_resources + object="${destination}/bootloader.zip" + cleanup_archive_data + curl -qLs -o "${object}" "${bootloader_url}" + exit_if_failed "Failed to download resources. Exiting." + unzip -q -d "${destination}" -o "${object}" + exit_if_failed "Failed to unzip resources. Exiting." + rm -rf "${destination}/__MACOSX" + printfn "Download complete." +} + +bless_kryptonite() { + printfn "${b}Blessing disk...${n}" + bless --folder "${main_dir}/EFI/BOOT" --label "Kryptonite" + exit_if_failed "Failed to bless bootloader. Exiting." +} + +get_tb_version() { + tb_version="$(ioreg | grep AppleThunderboltNHIType)" + tb_version="${tb_version##*+-o AppleThunderboltNHIType}" + tb_version="${tb_version::1}" +} + +configure_boot_args() { + get_tb_version + gpu="AMD" + debug_args="" + [ $debug_resources = 1 ] && debug_args="-liludbg liludump=60" + printfn + yesno_action "Are you using an ${b}NVIDIA eGPU${n}?" + [ $? = 0 ] && gpu="NVDA" + bootargs="krygpu=${gpu} krytbtv=${tb_version} ${debug_args}" +} + +get_existing_boot_args() { + printfn "${b}Retrieving existing boot-args...${n}" + existing_bootargs="$($pb -c "Print ${bootargs_plist_ref}" "${config_plist}" 2>/dev/null)" + if [ "${existing_bootargs#Error}" != "${existing_bootargs}" ]; then + existing_bootargs="" + fi + if [ $? != 0 ] && [ -n "${existing_bootargs}" ]; then + printfn "Failed to retrieve existing ${b}boot-args${n} from configuration.\nExiting." + exit 1 + fi + if [ "${existing_bootargs#*kry}" != "$existing_bootargs" ]; then + printfn "${b}Existing boot-args${n}: ${existing_bootargs}" + printfn "\nKryptonite configuration already exists." + printfn "If required, please configure manually.\n" + return 1 + fi + printfn "Existing boot-args retrieved." + return 0 +} + +move_kry_kexts() { + printfn "${b}Adding kryptonite dependencies...${n}" + rsync -a "${work_dir}/EFI/OC/Kexts/" "${main_dir}/EFI/OC/Kexts/" + printfn "Kryptonite dependencies added." +} + +update_kext_injections() { + printfn "${b}Configuring kext injections...${n}" + kext_count="$($pb -c "Print :Kernel:Add" "${config_plist}" | grep "Dict" | wc -l)" + lilu_index=-1 + kry_index=-1 + c_index=0 + for (( i = 0; i < $kext_count; i++ )); do + base_cmd="Print :Kernel:Add:" + kext_bundlepath="$($pb -c "Print :Kernel:Add:${i}:BundlePath" "${config_plist}")" + [ "${kext_bundlepath}" = "Lilu.kext" ] && printfn "${b}Lilu${n} already present." && lilu_index=$i + [ "${kext_bundlepath}" = "Kryptonite.kext" ] && printfn "${b}Kryptonite${n} already present." && kry_index=$i + c_index=$i + done + + if [ $lilu_index != -1 ]; then + $pb -c "Set :Kernel:Add:${lilu_index}:Enabled true" "${config_plist}" + exit_if_failed "Failed to enable existing Lilu kext in configuration. Exiting." + else + $pb -c "Add :Kernel:Add:${c_index}:Arch string Any" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:BundlePath string Lilu.kext" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:ExecutablePath string Contents/MacOS/Lilu" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:PlistPath string Contents/Info.plist" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:Enabled bool true" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + c_index=$(( $c_index + 1 )) + fi + if [ $kry_index != -1 ]; then + $pb -c "Set :Kernel:Add:${kry_index}:Enabled true" "${config_plist}" + exit_if_failed "Failed to enable existing Kryptonite kext in configuration. Exiting." + else + $pb -c "Add :Kernel:Add:${c_index}:Arch string Any" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:BundlePath string Kryptonite.kext" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:ExecutablePath string Contents/MacOS/Kryptonite" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:PlistPath string Contents/Info.plist" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + $pb -c "Add :Kernel:Add:${c_index}:Enabled bool true" "${config_plist}" + exit_if_failed "Failed to update kext injection configuration. Exiting." + c_index=$(( $c_index + 1 )) + fi + + printfn "Kext injections configured." +} + +update_boot_args() { + $pb -c "Set ${bootargs_plist_ref} ${bootargs} ${existing_bootargs}" "${config_plist}" 2>/dev/null + exit_if_failed "Failed to configure boot-args. Exiting." + printfn "${b}Final boot-args${n}: ${bootargs} ${existing_bootargs}" + printfn "\nIf you have duplicate boot-args, consider fixing them manually." + printfn "You can do this by editing ${b}config.plist${n} on the bootloader disk.\n" +} + +update_existing_plist() { + printfn "${b}Updating existing configurations...${n}" + update_kext_injections + configure_boot_args + get_existing_boot_args + [ $? = 0 ] && update_boot_args + printfn "Configurations updated." +} + +setup_plist() { + configure_boot_args + update_boot_args +} + +setup_kry_dependencies() { + printfn "${b}Setting up kryptonite dependencies...${n}" + download_kryptonite "${work_dir}" + move_kry_kexts + update_existing_plist + printfn "Setup complete." +} + +install_kryptonite() { + download_kryptonite "${main_dir}" + bless_kryptonite + setup_plist +} + +use_debug_resources() { + printfn "If you want to ${b}emit logs for testing${n}, please use" + printfn "${b}DEBUG${n} resources. Otherwise, press ${b}N${n} to get ${b}RELEASE${n} resources.\n" + yesno_action "Use ${b}DEBUG${n} resources?" + [ $? = 0 ] && debug_resources=1 +} + +setup_kryptonite() { + printfn "\n${b}Installing Kryptonite...${n}\n" + retrieve_kryptonite_resources + use_debug_resources + if [ $bootloader_exists = 1 ]; then + setup_kry_dependencies + return 0 + fi + + install_kryptonite + printfn "Installation complete.\n" + printfn "To use ${b}Kryptonite${n}, press ${b}OPTION${n} while booting" + printfn "and select the \"Kryptonite\" boot disk." +} + start_prompt() { clear printfc "===${b} Kryptonite Configurator ${version} ${n}===\n" printfn "This tool can prepare a disk for a simplified ${b}OpenCore${n}" printfn "configuration for your Mac to run ${b}Kryptonite${n}.\n" - printfn "If you are have already configured a ${b}bootloader${n}," + printfn "If you have already configured a ${b}bootloader${n}," printfn "this tool can provide you the necessary resources" printfn "to enable eGPUs with your existing bootloader.\n" } +cleanup() { + rm -rf "${work_dir}" 2>/dev/null + rm -rf "${main_dir}/bootloader.zip" 2>/dev/null +} + start() { validate_macos_version elevate_privileges configure_environment start_prompt format_disk + setup_kryptonite + cleanup } +trap cleanup EXIT + start \ No newline at end of file diff --git a/Kernel/Kryptonite.xcodeproj/project.pbxproj b/Kryptonite/Kryptonite.xcodeproj/project.pbxproj similarity index 100% rename from Kernel/Kryptonite.xcodeproj/project.pbxproj rename to Kryptonite/Kryptonite.xcodeproj/project.pbxproj diff --git a/Kernel/Kryptonite.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Kryptonite/Kryptonite.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Kernel/Kryptonite.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to Kryptonite/Kryptonite.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Kernel/Kryptonite.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Kryptonite/Kryptonite.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Kernel/Kryptonite.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to Kryptonite/Kryptonite.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Kernel/Kryptonite.xcodeproj/xcshareddata/xcschemes/Kryptonite.xcscheme b/Kryptonite/Kryptonite.xcodeproj/xcshareddata/xcschemes/Kryptonite.xcscheme similarity index 100% rename from Kernel/Kryptonite.xcodeproj/xcshareddata/xcschemes/Kryptonite.xcscheme rename to Kryptonite/Kryptonite.xcodeproj/xcshareddata/xcschemes/Kryptonite.xcscheme diff --git a/Kernel/Kryptonite/Info.plist b/Kryptonite/Kryptonite/Info.plist similarity index 100% rename from Kernel/Kryptonite/Info.plist rename to Kryptonite/Kryptonite/Info.plist diff --git a/Kernel/Kryptonite/kern_compatibility.cpp b/Kryptonite/Kryptonite/kern_compatibility.cpp similarity index 100% rename from Kernel/Kryptonite/kern_compatibility.cpp rename to Kryptonite/Kryptonite/kern_compatibility.cpp diff --git a/Kernel/Kryptonite/kern_compatibility.hpp b/Kryptonite/Kryptonite/kern_compatibility.hpp similarity index 100% rename from Kernel/Kryptonite/kern_compatibility.hpp rename to Kryptonite/Kryptonite/kern_compatibility.hpp diff --git a/Kernel/Kryptonite/kern_hooks.cpp b/Kryptonite/Kryptonite/kern_hooks.cpp similarity index 100% rename from Kernel/Kryptonite/kern_hooks.cpp rename to Kryptonite/Kryptonite/kern_hooks.cpp diff --git a/Kernel/Kryptonite/kern_hooks.hpp b/Kryptonite/Kryptonite/kern_hooks.hpp similarity index 100% rename from Kernel/Kryptonite/kern_hooks.hpp rename to Kryptonite/Kryptonite/kern_hooks.hpp diff --git a/Kernel/Kryptonite/kern_nvramargs.cpp b/Kryptonite/Kryptonite/kern_nvramargs.cpp similarity index 100% rename from Kernel/Kryptonite/kern_nvramargs.cpp rename to Kryptonite/Kryptonite/kern_nvramargs.cpp diff --git a/Kernel/Kryptonite/kern_nvramargs.hpp b/Kryptonite/Kryptonite/kern_nvramargs.hpp similarity index 100% rename from Kernel/Kryptonite/kern_nvramargs.hpp rename to Kryptonite/Kryptonite/kern_nvramargs.hpp diff --git a/Kernel/Kryptonite/kern_patchapplicator.cpp b/Kryptonite/Kryptonite/kern_patchapplicator.cpp similarity index 100% rename from Kernel/Kryptonite/kern_patchapplicator.cpp rename to Kryptonite/Kryptonite/kern_patchapplicator.cpp diff --git a/Kernel/Kryptonite/kern_patchapplicator.hpp b/Kryptonite/Kryptonite/kern_patchapplicator.hpp similarity index 100% rename from Kernel/Kryptonite/kern_patchapplicator.hpp rename to Kryptonite/Kryptonite/kern_patchapplicator.hpp diff --git a/Kernel/Kryptonite/kern_patches.cpp b/Kryptonite/Kryptonite/kern_patches.cpp similarity index 100% rename from Kernel/Kryptonite/kern_patches.cpp rename to Kryptonite/Kryptonite/kern_patches.cpp diff --git a/Kernel/Kryptonite/kern_patches.hpp b/Kryptonite/Kryptonite/kern_patches.hpp similarity index 100% rename from Kernel/Kryptonite/kern_patches.hpp rename to Kryptonite/Kryptonite/kern_patches.hpp diff --git a/Kernel/Kryptonite/kern_patchset.cpp b/Kryptonite/Kryptonite/kern_patchset.cpp similarity index 100% rename from Kernel/Kryptonite/kern_patchset.cpp rename to Kryptonite/Kryptonite/kern_patchset.cpp diff --git a/Kernel/Kryptonite/kern_patchset.hpp b/Kryptonite/Kryptonite/kern_patchset.hpp similarity index 100% rename from Kernel/Kryptonite/kern_patchset.hpp rename to Kryptonite/Kryptonite/kern_patchset.hpp diff --git a/Kernel/Kryptonite/kern_start.cpp b/Kryptonite/Kryptonite/kern_start.cpp similarity index 100% rename from Kernel/Kryptonite/kern_start.cpp rename to Kryptonite/Kryptonite/kern_start.cpp diff --git a/Kernel/Kryptonite/kern_targetkexts.hpp b/Kryptonite/Kryptonite/kern_targetkexts.hpp similarity index 100% rename from Kernel/Kryptonite/kern_targetkexts.hpp rename to Kryptonite/Kryptonite/kern_targetkexts.hpp diff --git a/OpenCore/0.7.0/config.plist b/OpenCore/0.7.0/config.plist index 7543c24..17b03f9 100755 --- a/OpenCore/0.7.0/config.plist +++ b/OpenCore/0.7.0/config.plist @@ -304,7 +304,7 @@ 7C436110-AB2A-4BBB-A880-FE41995C9F82 boot-args - -liludbgall liludump=30 keepsyms=1 krygpu=AMD + krygpu=AMD Delete