Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
btwise
OpenCorePKG_MOD
提交
218d9060
O
OpenCorePKG_MOD
项目概览
btwise
/
OpenCorePKG_MOD
通知
26
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
OpenCorePKG_MOD
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
218d9060
编写于
2月 07, 2022
作者:
A
Andrey1970AppleLife
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Bump version
上级
30798fb0
变更
8
展开全部
隐藏空白更改
内联
并排
Showing
8 changed file
with
171 addition
and
146 deletion
+171
-146
Docs/Configuration.md5
Docs/Configuration.md5
+1
-1
Docs/Configuration.pdf
Docs/Configuration.pdf
+0
-0
Docs/Configuration.tex
Docs/Configuration.tex
+1
-1
Docs/Differences/Differences.pdf
Docs/Differences/Differences.pdf
+0
-0
Docs/Differences/Differences.tex
Docs/Differences/Differences.tex
+77
-105
Docs/Differences/PreviousConfiguration.tex
Docs/Differences/PreviousConfiguration.tex
+91
-38
Docs/Errata/Errata.pdf
Docs/Errata/Errata.pdf
+0
-0
Include/Acidanthera/Library/OcMainLib.h
Include/Acidanthera/Library/OcMainLib.h
+1
-1
未找到文件。
Docs/Configuration.md5
浏览文件 @
218d9060
0a5f00c225c3bc5a7e0a5a57143640f7
234bf876a6e9ec92239d908af9aae409
Docs/Configuration.pdf
浏览文件 @
218d9060
无法预览此类型文件
Docs/Configuration.tex
浏览文件 @
218d9060
...
...
@@ -94,7 +94,7 @@
\vspace
{
0.2in
}
Reference Manual (0.7.
8
)
Reference Manual (0.7.
9
)
\vspace
{
0.2in
}
...
...
Docs/Differences/Differences.pdf
浏览文件 @
218d9060
无法预览此类型文件
Docs/Differences/Differences.tex
浏览文件 @
218d9060
此差异已折叠。
点击以展开。
Docs/Differences/PreviousConfiguration.tex
浏览文件 @
218d9060
...
...
@@ -94,7 +94,7 @@
\vspace
{
0.2in
}
Reference Manual (0.7.
7
)
Reference Manual (0.7.
8
)
\vspace
{
0.2in
}
...
...
@@ -3260,6 +3260,34 @@ the default boot entry choice will remain changed until the next manual reconfig
option. Therefore, for significant implementation updates, such as was the case with OpenCore 0.6.4,
an NVRAM reset should be executed with
\texttt
{
Bootstrap
}
disabled, after which it can be re-enabled.
\emph
{
Note 3
}
: Some versions of Intel Visual BIOS (e.g. on Intel NUC) have an unfortunate bug whereby if any boot
option is added referring to a path on a USB drive, from then on that is the only boot option which will be shown
when any USB drive is inserted. If OpenCore is started from a USB drive on this firmware with
\texttt
{
LauncherOption
}
set to
\texttt
{
Full
}
or
\texttt
{
Short
}
, this applies and only the OpenCore boot entry will be
seen afterwards, when any other USB is inserted (this highly non-standard BIOS behaviour affects other software as well).
The best way to avoid this is to leave
\texttt
{
LauncherOption
}
set to
\texttt
{
Disabled
}
or
\texttt
{
System
}
on any
version of OpenCore which will be started from a USB drive on this firmware. If the problem has already
occurred the quickest reliable fix is:
\begin{itemize}
\tightlist
\item
Enable the system UEFI Shell in Intel Visual BIOS
\item
With power off, insert an OpenCore USB
\item
Power up and select the system UEFI Shell
\item
Since the system shell does not include
\texttt
{
bcfg
}
, use the system shell to start OpenCore's OpenShell
(e.g. by entering the command
\texttt
{
FS2:
\textbackslash
EFI
\textbackslash
OC
\textbackslash
Tools
\textbackslash
OpenShell.efi
}
,
but you will need to work out which drive is correct for OpenCore and modify the drive number
\texttt
{
FS
\#
:
}
accordingly)
\item
Within OpenShell, use
\texttt
{
bcfg boot dump
}
to display the NVRAM boot options and then use
\texttt
{
bcfg boot rm
\#
}
(where
\texttt
{
\#
}
is the number of the OpenCore boot entry) to remove the OpenCore entry
\end{itemize}
It is alternatively possible to start OpenShell directly from the OpenCore boot menu, if you have
a working configured OpenCore for the system. In that case, and if OpenCore has
\texttt
{
RequestBootVarRouting
}
enabled, it will be
necessary to run the command
\texttt
{
\textbackslash
EFI
\textbackslash
OC
\textbackslash
Tools
\textbackslash
OpenControl.efi disable
}
before using
\texttt
{
bcfg
}
. (After
\texttt
{
OpenControl disable
}
, it is necessary to either reboot or run
\texttt
{
OpenControl restore
}
,
before booting an operating system.)
It is also possible to use
\texttt
{
efibootmgr
}
within Linux to remove the offending entry, if you have a working
version of Linux on the machine. Linux must be started either not via OpenCore, or via OpenCore with
\texttt
{
RequestBootVarRouting
}
disabled
for this to work.
\item
\texttt
{
LauncherPath
}
\\
\textbf
{
Type
}
:
\texttt
{
plist
\
string
}
\\
...
...
@@ -3314,12 +3342,13 @@ the default boot entry choice will remain changed until the next manual reconfig
OpenCore picker behaviour for that drive of selecting the appropriate icon depending
on whether the drive is internal or external.
\medskip
\item
\texttt
{
0x0002
}
---
\texttt
{
OC
\_
ATTR
\_
USE
\_
DISK
\_
LABEL
\_
FILE
}
,
provides
custom
\item
\texttt
{
0x0002
}
---
\texttt
{
OC
\_
ATTR
\_
USE
\_
DISK
\_
LABEL
\_
FILE
}
,
use
custom
prerendered titles for boot entries from
\texttt
{
.disk
\_
label
}
(
\texttt
{
.disk
\_
label
\_
2x
}
)
file next to the bootloader for all filesystems.
Prerendered labels can be generated via the
\texttt
{
disklabel
}
utility or the
\texttt
{
bless
}
command.
When disabled or missing, label text in (
\texttt
{
.contentDetails
}
or
\texttt
{
.disk
\_
label.contentDetails
}
) will be rendered if present instead, otherwise
These labels can be generated via the
\texttt
{
disklabel
}
utility or the
\texttt
{
bless -
{}
-folder
\{
FOLDER
\_
PATH
\}
-
{}
-label
\{
LABEL
\_
TEXT
\}
}
command.
When prerendered labels are disabled or missing, use label text in
\texttt
{
.contentDetails
}
(or
\texttt
{
.disk
\_
label.contentDetails
}
) file next to bootloader if present instead, otherwise
the entry name itself will be rendered.
\item
\texttt
{
0x0004
}
---
\texttt
{
OC
\_
ATTR
\_
USE
\_
GENERIC
\_
LABEL
\_
IMAGE
}
, provides predefined
label images for boot entries without custom entries. This may however give less detail for
...
...
@@ -3346,10 +3375,11 @@ the default boot entry choice will remain changed until the next manual reconfig
\begin{itemize}
\tightlist
\item
For a Tool the value is read from
\texttt
{
Flavour
}
field.
\item
For an automatically discovered entry it is read from the
\texttt
{
.contentFlavour
}
\item
For an automatically discovered entry, including for boot entry protocol entries such as those
generated by the OpenLinuxBoot driver, it is read from the
\texttt
{
.contentFlavour
}
file next to the bootloader, if present.
\item
For a custom entry it is read from the
\texttt
{
.contentFlavour
}
file next to the
bootloader if
\texttt
{
Flavour
}
is
\texttt
{
Auto
}
, otherwise specified via the
\texttt
{
Flavour
}
\item
For a custom entry
specified in the
\texttt
{
Entries
}
section
it is read from the
\texttt
{
.contentFlavour
}
file next to the
bootloader if
\texttt
{
Flavour
}
is
\texttt
{
Auto
}
, otherwise
it is
specified via the
\texttt
{
Flavour
}
value itself.
\item
If read flavour is
\texttt
{
Auto
}
or there is no
\texttt
{
.contentFlavour
}
, entry
flavour is chosen based on the entry type (e.g. Windows automatically gets Windows flavour).
...
...
@@ -3852,30 +3882,27 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-log |
entry for disabling and enabling System Integrity Protection in OpenCore picker.
This will toggle Apple NVRAM variable
\texttt
{
csr-active-config
}
between
\texttt
{
0
}
for
SIP Enabled and a practical default value for SIP Disabled
(currently
\texttt
{
0x26F
}
)
.
SIP Enabled and a practical default value for SIP Disabled.
\emph
{
Note 1
}
: It is strongly recommended not to make a habit of running macOS with
SIP disabled. Use of this boot option may make it easier to quickly disable SIP
protection when genuinely needed - it should be re-enabled again afterwards.
\emph
{
Note 2
}
: OpenCore uses
\texttt
{
0x2
6F
}
even though
\texttt
{
csrutil disable
}
on
Big Sur
sets
\texttt
{
0x7F
}
. To explain the choice:
\emph
{
Note 2
}
: OpenCore uses
\texttt
{
0x2
7F
}
while
\texttt
{
csrutil disable
}
on macOS
Big Sur
and Monterey sets
\texttt
{
0x7F
}
.
\begin{itemize}
\tightlist
\item
\texttt
{
csrutil disable -
{}
-no-internal
}
actually sets
\texttt
{
0x6F
}
, and this is
preferable because
\texttt
{
CSR
\_
ALLOW
\_
APPLE
\_
INTERNAL
}
(
\texttt
{
0x10
}
) prevents updates
(unless you are running an internal build of macOS).
\item
\texttt
{
CSR
\_
ALLOW
\_
UNAPPROVED
\_
KEXTS
}
(
\texttt
{
0x200
}
) is generally useful, in the case
where you do need to have SIP disabled
, as it allows installing unsigned kexts without manual
approval in System Preferences.
\item
\texttt
{
CSR
\_
ALLOW
\_
UNAUTHENTICATED
\_
ROOT
}
(
\texttt
{
0x800
}
) is not
practical as it prevent
s
incremental (non-full)
OTA updates.
where you do need to have SIP disabled
anyway, as it allows installing unsigned kexts without
manual
approval in System Preferences.
\item
\texttt
{
CSR
\_
ALLOW
\_
UNAUTHENTICATED
\_
ROOT
}
(
\texttt
{
0x800
}
) is not
included, as it i
s
very easy when using it to inadvertently break OS seal and prevent incremental
OTA updates.
\end{itemize}
\emph
{
Note3
}
: For any other value which you may need to use, it is possible to
configure
\texttt
{
CsrUtil.efi
}
as a
\texttt
{
TextMode
}
\texttt
{
Tools
}
entry to configure a
different value, e.g. use
\texttt
{
toggle
\
0x
6F
}
in
\texttt
{
Arguments
}
to toggle the
SIP disabled value set by default
by
\texttt
{
csrutil disable -
{}
-no-internal
}
in Big Sur
.
different value, e.g. use
\texttt
{
toggle
\
0x
77
}
in
\texttt
{
Arguments
}
to toggle the
SIP disabled value set by default
in macOS Catalina
.
\item
\texttt
{
ApECID
}
\\
...
...
@@ -6322,19 +6349,32 @@ failure (typically halting with a black screen) of the Linux kernel, due to a fi
firmware released after
2017
. When present and not mitigated by this quirk, this affects booting
via OpenCore with or without OpenLinuxBoot.
After installing OpenLinuxBoot, it is recommended to compare the Linux boot options
(
shown with
\texttt
{
cat
/
proc
/
cmdline
}
)
seen when booting via OpenLinuxBoot and via the distro's original bootloader. If the default bootloader
is GRUB, expect the options generated by OpenLinuxBoot not to
contain a
\texttt
{
BOOT
\_
IMAGE
=
...
}
value where the GRUB options do, and to contain an
\texttt
{
initrd
=
...
}
value while the GRUB options do not.
All remaining options should match
(
option order does not matter
)
--
perhaps excluding less important graphics
handover options
(
such as in the Ubuntu example given in
\texttt
{
autoopts
}
below
)
. If they do not, it is recommended
to manually add the missing options, e.g. with
\texttt
{
partuuidopts:
\{
partuuid
\}
+=
\{
opts
\}
}
to target a specific
distro
(
or just with
\texttt
{
autoopts
+=
\{
opts
\}
}
, which applies to all installed distros, if only one distro is in use
)
.
After installing OpenLinuxBoot, it is recommended to compare the options shown in the OpenCore debug
log when booting
(
or attempting to boot
)
a given distro against the options seen using the shell command
\texttt
{
cat
/
proc
/
cmdline
}
when the same distro has been booted via its native bootloader.
In general
(
for safety and security of the running distro
)
these options should match, and if they do not
it is recommended to use the driver arguments below
(
in particular
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RO
}
,
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RW
}
,
\texttt
{
partuuidopts
}
and
\texttt
{
autoopts
}
)
to modify the options as required.
Note however that the following differences are normal and do not need to be fixed:
\begin
{
itemize
}
\tightlist
\item
If the default bootloader is GRUB then the options generated by OpenLinuxBoot will not contain a
\texttt
{
BOOT
\_
IMAGE
=
...
}
value where the GRUB options do, and will contain an
\texttt
{
initrd
=
...
}
value where the GRUB options do not.
\item
OpenLinuxBoot uses
\texttt
{
PARTUUID
}
rather than filesystem
\texttt
{
UUID
}
to identify the location
of
\texttt
{
initrd
}
, this is by design as UEFI filesystem drivers do not make Linux filesystem
\texttt
{
UUID
}
values available.
\item
Less important graphics handover options
(
such as discussed in the Ubuntu example
given in
\texttt
{
autoopts
}
below
)
will not match exactly, this is not important as long
as distro boots successfully.
\end
{
itemize
}
If using OpenLinuxBoot with Secure Boot, users may wish to use the
\texttt
{
shim
-
to
-
cert.tool
}
included in OpenCore
utilities, which can be used to extract the
required public key to validate a distro's kernels directly, rather
than via
shim. For non
-
GRUB distros, the required public key must be found by user research.
utilities, which can be used to extract the
public key needed to boot a distro's kernels directly, as done when using OpenCore
with OpenLinuxBoot, rather than via GRUB
shim. For non
-
GRUB distros, the required public key must be found by user research.
\subsubsection
{
Configuration
}
...
...
@@ -6390,13 +6430,24 @@ options for the driver may be specified in \texttt{UEFI/Drivers/Arguments}:
\emph
{
Note
}
: This option is recommended on all systems.
\medskip
\item
\texttt
{
0
x
00000400
}
(
bit
\texttt
{
10
}
)
---
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RO
}
,
This option applies to autodetected Linux only
(
i.e. to Debian
-
style distrubutions, not to BLSpec and
Fedora
-
style distributions with
\texttt
{
/
loader
/
entries
/*
.conf
}
files
)
.
Some distrubtions run a filesystem check on loading which requires the root
filesystem to initially be mounted read
-
only via the
\texttt
{
ro
}
kernel option. Set this bit to add this
This option applies to autodetected Linux only
(
i.e. not to BLSpec or
Fedora
-
style distributions which have
\texttt
{
/
loader
/
entries
/*
.conf
}
files
)
.
Some distributions run a filesystem check on loading which requires the root
filesystem to initially be mounted read
-
only via the
\texttt
{
ro
}
kernel option, which requires this
option to be added to the autodetected options. Set this bit to add this
option on autodetected distros; should be harmless but very slightly slow down boot time
(
due to requried
remount as read
-
write
)
on distros which do not require it. To specify this option for specific
distros only, use
\texttt
{
partuuidopts:
\{
partuuid
\}
+=
ro
}
instead of this flag.
remount as read
-
write
)
on distros which do not require it.
When there are multiple distros and it is required to specify this option for specific distros only, use
\texttt
{
partuuidopts:
\{
partuuid
\}
+=
ro
}
to manually add the option where required, instead of using this flag.
\item
\texttt
{
0
x
00000800
}
(
bit
\texttt
{
11
}
)
---
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RW
}
,
Like
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RO
}
, this option applies to autodetected Linux only. It is not
required for most distros
(
which usually require either
\texttt
{
ro
}
or nothing to be added to
detected boot options
)
, but is required on some Arch
-
derived distros, e.g. EndeavourOS.
When there are multiple distros and it is required to specify this option for specific distros only, use
\texttt
{
partuuidopts:
\{
partuuid
\}
+=
rw
}
to manually add the option where required, instead of using this flag.
If this option and
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RO
}
are both specified, only this option is applied
and
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RO
}
is ignored.
\item
\texttt
{
0
x
00002000
}
(
bit
\texttt
{
13
}
)
---
\texttt
{
LINUX
\_
BOOT
\_
ALLOW
\_
CONF
\_
AUTO
\_
ROOT
}
,
In some instances of
\texttt
{
BootLoaderSpecByDefault
}
in combination with
\texttt
{
ostree
}
, the
...
...
@@ -6414,7 +6465,9 @@ options for the driver may be specified in \texttt{UEFI/Drivers/Arguments}:
\end
{
itemize
}
\medskip
Flag values can be specified in hexadecimal beginning with
\texttt
{
0
x
}
or in decimal,
e.g.
\texttt
{
flags
=
0
x
80
}
or
\texttt
{
flags
=
128
}
.
\medskip
e.g.
\texttt
{
flags
=
0
x
80
}
or
\texttt
{
flags
=
128
}
. It is also possible to specify flags to
add or remove, using syntax such as
\texttt
{
flags
+=
0
xC
000
}
to add all debugging
options or
\texttt
{
flags
-=
0
x
400
}
to remove the
\texttt
{
LINUX
\_
BOOT
\_
ADD
\_
RO
}
option.
\medskip
\item
\texttt
{
partuuidopts:
\{
partuuid
\}
[+]=
"
\{
options
\}
"
}
-
Default: not set.
\medskip
...
...
Docs/Errata/Errata.pdf
浏览文件 @
218d9060
无法预览此类型文件
Include/Acidanthera/Library/OcMainLib.h
浏览文件 @
218d9060
...
...
@@ -31,7 +31,7 @@
OpenCore version reported to log and NVRAM.
OPEN_CORE_VERSION must follow X.Y.Z format, where X.Y.Z are single digits.
**/
#define OPEN_CORE_VERSION "0.7.
8
"
#define OPEN_CORE_VERSION "0.7.
9
"
/**
OpenCore build type reported to log and NVRAM.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录