All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wu XiangCheng <bobwxc@email.cn>
To: Alex Shi <alexs@kernel.org>, Yanteng Si <siyanteng@loongson.cn>
Cc: Jonathan Corbet <corbet@lwn.net>, linux-doc@vger.kernel.org
Subject: [PATCH v2 1/2] docs/zh_CN: Add translation zh_CN/admin-guide/efi-stub.rst
Date: Wed, 23 Jun 2021 19:13:42 +0800	[thread overview]
Message-ID: <523e3940c5deca62145845a35f9028c0dd12fd43.1624434673.git.bobwxc@email.cn> (raw)
In-Reply-To: <cover.1624434673.git.bobwxc@email.cn>

Add a new translation
  Documentation/translations/zh_CN/admin-guide/efi-stub.rst
and link it to zh_CN/admin-guide/index.rst

Signed-off-by: Wu XiangCheng <bobwxc@email.cn>
---
 .../zh_CN/admin-guide/efi-stub.rst            | 86 +++++++++++++++++++
 .../translations/zh_CN/admin-guide/index.rst  |  2 +-
 2 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/admin-guide/efi-stub.rst

diff --git a/Documentation/translations/zh_CN/admin-guide/efi-stub.rst b/Documentation/translations/zh_CN/admin-guide/efi-stub.rst
new file mode 100644
index 000000000000..d65ff6546019
--- /dev/null
+++ b/Documentation/translations/zh_CN/admin-guide/efi-stub.rst
@@ -0,0 +1,86 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/admin-guide/efi-stub.rst
+
+:译者:
+
+ 吴想成 Wu XiangCheng <bobwxc@email.cn>
+
+=========
+EFI引导桩
+=========
+
+在x86和ARM平台上,内核zImage/bzImage可以伪装成PE/COFF映像,从而使EFI固件加载
+程序将其作为EFI可执行文件加载。修改bzImage头以及固件加载程序跳转特定入口点的
+代码被统称为“EFI引导桩(EFI Boot Stub)”,分布在arch/x86/boot/header.S和
+arch/x86/boot/compressed/eboot.c中。对于ARM,EFI桩在arch/arm/boot/compressed/efi-header.S
+和arch/arm/boot/compressed/efi-stub.c中实现。体系结构之间共享的EFI桩代码
+位于drivers/firmware/efi/libstub中。
+
+而arm64不支持压缩内核,因此映像本身伪装成PE/COFF映像,EFI桩链接到内核。arm64
+EFI桩位于arch/arm64/kernel/EFI entry.S和drivers/firmware/efi/libstub/arm64-stub.c
+中。
+
+通过使用EFI引导桩,可以在不使用传统EFI引导加载程序的情况下引导Linux内核,
+如grub或elilo。由于EFI引导桩执行了引导加载程序的工作,因此某种意义上来说
+它 *就是* 引导加载程序。
+
+EFI引导桩通过CONFIG_EFI_STUB内核选项启用。
+
+
+如何安装bzImage.efi
+-------------------
+
+位于arch/x86/boot/bzImage中的bzImage必须复制到EFI系统分区(ESP)并修改扩展名
+为“.efi”。没有扩展名的话EFI固件加载程序将拒绝执行它。尚无法从普通的Linux文件
+系统中执行bzImage.efi,因为EFI固件不支持这些文件系统。ARM平台需要将arch/arm/boot/zImage
+复制到系统分区,并可能无需重命名;arm64也类似,需要复制arch/arm64/boot/Image,
+但不一定要重命名。
+
+
+从EFI shell传递内核参数
+-----------------------
+
+内核参数可于bzImage.efi之后传递,例如::
+
+	fs0:> bzImage.efi console=ttyS0 root=/dev/sda4
+
+
+“initrd=”选项
+-------------
+
+与大多数引导加载程序一样,EFI桩允许用户使用“initrd=”选项指定多个initrd文件。
+这是唯一的EFI桩特殊特命令行参数,其他所有内容都在将内核启动时传递给内核。
+
+initrd文件的路径必须为从ESP开始的绝对路径,相对路径无法使用。同时此路径为EFI
+风格,目录元素必须用反斜杠(\)分隔。例如给定以下目录布局::
+
+  fs0:>
+	Kernels\
+			bzImage.efi
+			initrd-large.img
+
+	Ramdisks\
+			initrd-small.img
+			initrd-medium.img
+
+现工作目录为fs0:\Kernels,要使用initrd-large.img文件引导,则须使用以下命令::
+
+	fs0:\Kernels> bzImage.efi initrd=\Kernels\initrd-large.img
+
+请注意bzImage.efi是怎样可用相对路径指定的。那是因为我们执行的映像是由EFI shell
+解释的,它可解析相对路径,而命令行的其余部分则传递给bzImage.efi。
+
+
+“dtb=”选项
+----------
+
+对于ARM和arm64体系结构,必须为内核提供一个设备树。通常固件应通过EFI CONFIGURATION
+TABLE(EFI配置表)来支持设备树。但是“dtb=”命令行选项可以用于覆盖固件提供的设备
+树,或在固件无法提供时来提供一个设备树。
+
+请注意:固件将在启动内核之前将运行时配置信息添加到设备树。如果 ``dtb=`` 被用来
+覆盖设备树,则固件提供的任何运行时数据都将丢失。 ``dtb=`` 选项应只用作调试工具,
+或者在EFI CONFIGURATION TABLE中未提供设备树时作为最后的手段。
+
+“dtb=”的处理方式与上述“initrd=”选项相同。
diff --git a/Documentation/translations/zh_CN/admin-guide/index.rst b/Documentation/translations/zh_CN/admin-guide/index.rst
index 460034cbc2ab..d74f5e864898 100644
--- a/Documentation/translations/zh_CN/admin-guide/index.rst
+++ b/Documentation/translations/zh_CN/admin-guide/index.rst
@@ -65,6 +65,7 @@ Todolist:
 
    clearing-warn-once
    cpu-load
+   efi-stub
    lockup-watchdogs
    unicode
 
@@ -87,7 +88,6 @@ Todolist:
    dell_rbu
    device-mapper/index
    edid
-   efi-stub
    ext4
    nfs/index
    gpio/index
-- 
2.20.1


  reply	other threads:[~2021-06-23 11:14 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-23 11:13 [PATCH v2 0/2] docs/zh_CN: Add two new translations in zh_CN/admin-guide Wu XiangCheng
2021-06-23 11:13 ` Wu XiangCheng [this message]
2021-06-24  1:48   ` [PATCH v2 1/2] docs/zh_CN: Add translation zh_CN/admin-guide/efi-stub.rst teng sterling
2021-06-23 11:14 ` [PATCH v2 2/2] docs/zh_CN: Add translation zh_CN/admin-guide/initrd.rst Wu XiangCheng
2021-06-24  1:49   ` teng sterling
2021-06-24  1:35 ` [PATCH v2 0/2] docs/zh_CN: Add two new translations in zh_CN/admin-guide teng sterling
2021-06-24  1:47   ` teng sterling

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=523e3940c5deca62145845a35f9028c0dd12fd43.1624434673.git.bobwxc@email.cn \
    --to=bobwxc@email.cn \
    --cc=alexs@kernel.org \
    --cc=corbet@lwn.net \
    --cc=linux-doc@vger.kernel.org \
    --cc=siyanteng@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.