Răsfoiți Sursa

docs:fixed hyperlink error and some typo

guttatus 9 luni în urmă
părinte
comite
8bd3a65abe
1 a modificat fișierele cu 16 adăugiri și 17 ștergeri
  1. 16 17
      docs/booting-linux-kernel-in-qemu-using-uboot-and-opensbi.md

+ 16 - 17
docs/booting-linux-kernel-in-qemu-using-uboot-and-opensbi.md

@@ -1,24 +1,24 @@
-# 使用OpenSBI & U-boot在QEMU中启动Linux内核
+# 使用OpenSBI & U-Boot在QEMU中启动Linux内核
 
-本教程给出了使用OpenSBI和U-boot在QEMU中启动Linux内核的基本流程。高级用户可以在本教程中配置或构建各种内容时尝试不同的选项。
+本教程给出了使用OpenSBI和U-Boot在QEMU中启动Linux内核的基本流程。高级用户可以在本教程中配置或构建各种内容时尝试不同的选项。
 
 请读者在其主机上安装必要的软件来尝试本教程的脚本。本教程是在Arch Linux上开发的。
 
 [环境配置](#环境配置)小节给出了本教程的环境配置方法,用户在使用本教程时需要先完成环境配置小节内容。
 
-[编译Linux Kernel](#编译Linux Kernel)小节给出了Linux Kernel的编译流程,并使用编译好的Linux Kernel镜像制作启动盘。
+[编译Linux Kernel](#编译linux-kernel)小节给出了Linux Kernel的编译流程,并使用编译好的Linux Kernel镜像制作启动盘。
 
 OpenSBI 有三种 Firmware:
 
-- `FW_PAYLOAD`:下一引导阶段被作为 payload 打包进来,通常是 U-Boot 或 Linux。这是兼容 Linux 的 RISC-V 硬件所使用的默认 Firmware。
-- `FW_JUMP`:跳转到一个固定地址,该地址上需存有下一个加载器。QEMU 的早期版本曾经使用过它。
-- `FW_DYNAMIC`:根据前一个阶段传入的信息动态加载下一个阶段。U-Boot SPL/Coreboot 使用 `FW_DYNAMIC`。现在 QEMU 默认使用 `FW_DYNAMIC`。
+- `fw_payload`:下一引导阶段被作为 payload 打包进来,通常是 U-Boot 或 Linux。这是兼容 Linux 的 RISC-V 硬件所使用的默认 Firmware。
+- `fw_jump`:跳转到一个固定地址,该地址上需存有下一个加载器。QEMU 的早期版本曾经使用过它。
+- `fw_dynamic`:根据前一个阶段传入的信息动态加载下一个阶段。U-Boot SPL/Coreboot 使用 `fw_dynamic`。现在 QEMU 默认使用 `fw_dynamic`。
 
-[`fw_payload`](#`fw_payload`)小节本给出了使用OpnSBI `fw_payload`类型固件和U-Boot在QEMU上启动Linux Kernel的教程。
+[`fw_payload`](#fw_payload)小节本给出了使用OpnSBI `fw_payload`类型固件和U-Boot在QEMU上启动Linux Kernel的教程。
 
-[`fw_jump`](#`fw_jump`)小节本给出了使用OpnSBI `fw_jump`类型固件和U-Boot在QEMU上启动Linux Kernel的教程。
+[`fw_jump`](#fw_jump)小节本给出了使用OpnSBI `fw_jump`类型固件和U-Boot在QEMU上启动Linux Kernel的教程。
 
-[`fw_dynamic`](#`fw_dynamic`)小节本给出了使用OpnSBI `fw_dynamic`类型固件和U-Boot在QEMU上启动Linux Kernel的教程。
+[`fw_dynamic`](#fw_dynamic)小节本给出了使用OpnSBI `fw_dynamic`类型固件和U-Boot在QEMU上启动Linux Kernel的教程。
 
 本教程使用软件版本如下:
 
@@ -174,7 +174,7 @@ $ export CROSS_COMPILE=riscv64-linux-gnu-
 ``` shell
 $ make defconfig
 $ make menuconfig
-# 启用 Settings-->Build Options 里的 Build static binary (no shared libs) 选项
+# Enable the Build static binary (no shared libs) option in Settings-->Build Options
 $ make -j $(nproc)
 $ make install
 ```
@@ -210,13 +210,12 @@ $ sudo losetup --find --show linux-rootfs.img
 
 记下循环设备的完整路径。在本教程中它是`/dev/loop0`。对`/dev/loop0`的操作将会对`linux-rootfs.img`进行操作。
 
-对`\dev\loop0`分区
+对`/dev/loop0`分区
 
 ``` shell
 # Create a couple of primary partitions
 $ sudo parted --align minimal /dev/loop0 mkpart primary ext4 0 100%
 
-# Optional: inspect the partit FW_PAYLOAD_PATH=ions
 $ sudo parted /dev/loop0 print
 ```
 
@@ -343,7 +342,7 @@ $ export CROSS_COMPILE=riscv64-linux-gnu-
 $ make PLATFORM=generic FW_PAYLOAD_PATH=../u-boot/u-boot.bin -j$(nproc)
 ```
 
-本小节将使用 QEMU 可以运行的输出文件 `build/platform/generic/firmware/fw_payload.elf`。由于 FW_PAYLOAD_PATH 指向 u-boot,因此 U-Boot 嵌入在输出中,OpenSBI 将自动启动 U-Boot。
+本小节将使用 QEMU 可以运行的输出文件 `build/platform/generic/firmware/fw_payload.elf`。由于`FW_PAYLOAD_PATH`指向 u-boot,因此 U-Boot 嵌入在输出中,OpenSBI 将自动启动 U-Boot。
 
 ### 使用OpenSBI `fw_payload`固件启动Linux Kernel
 
@@ -370,7 +369,7 @@ $ qemu-system-riscv64 -M virt -smp 4 -m 256M -nographic \
 
 ### 编译U-Boot
 
-和[`fw_payload`](#`fw_payload`)小节一致
+和[`fw_payload`](#fw_payload)小节一致
 
 ### 编译OpenSBI
 
@@ -422,7 +421,7 @@ $ qemu-system-riscv64 -M virt -smp 4 -m 256M -nographic \
 进入OpenSBI目录
 
 ``` shell
-cd opensbi
+$ cd opensbi
 ```
 
 导出环境变量
@@ -445,7 +444,7 @@ $ make all PLATFORM=generic PLATFORM_RISCV_XLEN=64 -j$(nproc)
 进入U-Boot目录
 
 ``` shell
-cd u-boot
+$ cd u-boot
 ```
 
 导出环境变量
@@ -494,7 +493,7 @@ $ cd workshop
 $ qemu-system-riscv64 -M virt -smp 4 -m 256M -nographic \
           -bios ./u-boot/spl/u-boot-spl \
           -device loader,file=./u-boot/u-boot.itb,addr=0x80200000 \
-		 -blockdev driver=file,filename=./linux-rootfs.img,node-name=hd0 \
+          -blockdev driver=file,filename=./linux-rootfs.img,node-name=hd0 \
           -device virtio-blk-device,drive=hd0
 ```