Re: [PATCH 1/2] docs/zh_CN: Add translation zh_CN/admin-guide/efi-stub.rst

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 6/20/21 6:40 PM, Wu XiangCheng wrote:
> 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@xxxxxxxx>
> ---
>  .../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..b6a4cedec8eb
> --- /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@xxxxxxxx>
> +
> +=========
> +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不支持压缩内核? 

Thanks
Alex
> +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
> 



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux