1. 有两种方式

1.1 直接从uefi shell启动linux内核

1.2 从uefi shell启动grub,然后再从grub启动linux内核

2. 需要哪些东西?

2.1 linux内核

2.2 initrd镜像

2.3 .nsh后缀名的启动脚本(可选,可通过手动键入命令)

某个.nsh的内容如下:

Image initrd=\initrd.gz root=/dev/ram0 earlycon=uart

2.4 BOOTAA64.EFI (这是arm64的EFI固件,可选)

注: 这些东西需要放在fat文件系统中

3. uefi shell启动linux内核的操作过程

3.1 进入目标分区

Shell> fs0:

FS0:\>

3.2 启动linux内核

FS0:\>boot.nsh

4. 从uefi shell启动grub, 然后启动linux内核

4.1 进入目标分区

Shell> fs0:

FS0:\>

4.2. 进入grub

FS0:\>BOOTAA64.EFI

4.3 在grub中设置临时访问的根节点

grub> root=(hd0,msdos1) (hd0,msdos1中有linux内核镜像和initrd镜像)

4.4 启动linux内核

grub> linux /Image initrd=/initrd.gz earlycon=uart root=(hd0,msdos1) rw rootwait

来源:博客园

作者:Jello

链接:https://www.cnblogs.com/dakewei/p/11475031.html

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐