提交 2dfe6911 编写于 作者: V vit9696

OpenCoreUefi: Add APFS support

上级 c3d015c7
......@@ -7,6 +7,7 @@ OpenCore Changelog
- Fixed `Custom` `UpdateSMBIOSMode` modifying SMBIOSv3 table
- Updated docs to cover separating SMBIOS via `UpdateSMBIOSMode`
- Fixed rendering macOS installer icons in OpenCanopy
- Added APFS support with Fusion Drive and enhanced security
#### v0.5.7
- Added TimeMachine detection to picker
......
......@@ -787,6 +787,19 @@
</dict>
<key>UEFI</key>
<dict>
<key>APFS</key>
<dict>
<key>EnableJumpStart</key>
<true/>
<key>ConnectNewDevices</key>
<false/>
<key>HideVerbose</key>
<true/>
<key>MinVersion</key>
<integer>0</integer>
<key>MinDate</key>
<integer>0</integer>
</dict>
<key>Audio</key>
<dict>
<key>AudioCodec</key>
......
......@@ -890,6 +890,19 @@
</dict>
<key>UEFI</key>
<dict>
<key>APFS</key>
<dict>
<key>EnableJumpStart</key>
<true/>
<key>ConnectNewDevices</key>
<false/>
<key>HideVerbose</key>
<true/>
<key>MinVersion</key>
<integer>0</integer>
<key>MinDate</key>
<integer>0</integer>
</dict>
<key>Audio</key>
<dict>
<key>AudioCodec</key>
......
......@@ -468,6 +468,17 @@ typedef enum {
OC_ARRAY (OC_STRING, _, __)
OC_DECLARE (OC_UEFI_DRIVER_ARRAY)
///
/// APFS is a set of options for APFS file system support.
///
#define OC_UEFI_APFS_FIELDS(_, __) \
_(UINT64 , MinVersion , , 0 , ()) \
_(UINT32 , MinDate , , 0 , ()) \
_(BOOLEAN , EnableJumpStart , , FALSE , ()) \
_(BOOLEAN , ConnectNewDevices , , FALSE , ()) \
_(BOOLEAN , HideVerbose , , FALSE , ())
OC_DECLARE (OC_UEFI_APFS)
///
/// Audio is a set of options for sound configuration.
///
......@@ -550,6 +561,7 @@ typedef enum {
///
#define OC_UEFI_CONFIG_FIELDS(_, __) \
_(BOOLEAN , ConnectDrivers , , FALSE , ()) \
_(OC_UEFI_APFS , Apfs , , OC_CONSTR2 (OC_UEFI_APFS, _, __) , OC_DESTR (OC_UEFI_APFS)) \
_(OC_UEFI_AUDIO , Audio , , OC_CONSTR2 (OC_UEFI_AUDIO, _, __) , OC_DESTR (OC_UEFI_AUDIO)) \
_(OC_UEFI_DRIVER_ARRAY , Drivers , , OC_CONSTR2 (OC_UEFI_DRIVER_ARRAY, _, __) , OC_DESTR (OC_UEFI_DRIVER_ARRAY)) \
_(OC_UEFI_INPUT , Input , , OC_CONSTR2 (OC_UEFI_INPUT, _, __) , OC_DESTR (OC_UEFI_INPUT)) \
......
......@@ -65,6 +65,7 @@ OC_STRUCTORS (OC_PLATFORM_SMBIOS_CONFIG, ())
OC_STRUCTORS (OC_PLATFORM_CONFIG, ())
OC_ARRAY_STRUCTORS (OC_UEFI_DRIVER_ARRAY)
OC_STRUCTORS (OC_UEFI_APFS, ())
OC_STRUCTORS (OC_UEFI_AUDIO, ())
OC_STRUCTORS (OC_UEFI_INPUT, ())
OC_STRUCTORS (OC_UEFI_OUTPUT, ())
......@@ -553,6 +554,16 @@ mUefiProtocolsSchema[] = {
OC_SCHEMA_BOOLEAN_IN ("UnicodeCollation", OC_GLOBAL_CONFIG, Uefi.Protocols.UnicodeCollation)
};
STATIC
OC_SCHEMA
mUefiApfsSchema[] = {
OC_SCHEMA_BOOLEAN_IN ("EnableJumpStart", OC_GLOBAL_CONFIG, Uefi.Apfs.EnableJumpStart),
OC_SCHEMA_BOOLEAN_IN ("ConnectNewDevices", OC_GLOBAL_CONFIG, Uefi.Apfs.ConnectNewDevices),
OC_SCHEMA_BOOLEAN_IN ("HideVerbose", OC_GLOBAL_CONFIG, Uefi.Apfs.HideVerbose),
OC_SCHEMA_INTEGER_IN ("MinVersion", OC_GLOBAL_CONFIG, Uefi.Apfs.MinVersion),
OC_SCHEMA_INTEGER_IN ("MinDate", OC_GLOBAL_CONFIG, Uefi.Apfs.MinDate),
};
STATIC
OC_SCHEMA
mUefiAudioSchema[] = {
......@@ -598,6 +609,7 @@ mUefiOutputSchema[] = {
STATIC
OC_SCHEMA
mUefiConfigurationSchema[] = {
OC_SCHEMA_DICT ("APFS", mUefiApfsSchema),
OC_SCHEMA_DICT ("Audio", mUefiAudioSchema),
OC_SCHEMA_BOOLEAN_IN ("ConnectDrivers", OC_GLOBAL_CONFIG, Uefi.ConnectDrivers),
OC_SCHEMA_ARRAY_IN ("Drivers", OC_GLOBAL_CONFIG, Uefi.Drivers, &mUefiDriversSchema),
......
......@@ -72,6 +72,7 @@
IoLib
OcAcpiLib
OcAfterBootCompatLib
OcApfsLib
OcAppleBootPolicyLib
OcAppleEventLib
OcAppleImageConversionLib
......
......@@ -26,6 +26,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/OcAppleImageConversionLib.h>
#include <Library/OcAudioLib.h>
#include <Library/OcInputLib.h>
#include <Library/OcApfsLib.h>
#include <Library/OcAppleKeyMapLib.h>
#include <Library/OcAppleUserInterfaceThemeLib.h>
#include <Library/OcConsoleLib.h>
......@@ -497,6 +498,19 @@ OcLoadUefiSupport (
OcMiscUefiQuirksLoaded (Config);
if (Config->Uefi.Apfs.EnableJumpStart) {
OcApfsConfigure (
Config->Uefi.Apfs.MinVersion,
Config->Uefi.Apfs.MinDate,
Config->Misc.Security.ScanPolicy,
Config->Uefi.Apfs.HideVerbose
);
OcApfsConnectDevices (
Config->Uefi.Apfs.ConnectNewDevices
);
}
if (Config->Uefi.ConnectDrivers) {
OcLoadDrivers (Storage, Config, &DriversToConnect);
DEBUG ((DEBUG_INFO, "OC: Connecting drivers...\n"));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册