riscvarchive / riscv-edk2-platforms

Port of EDK2 implementation of UEFI to RISC-V. See documentation at:
https://github.com/riscv/riscv-uefi-edk2-docs
Other
18 stars 7 forks source link

Add initrd shell command #6

Closed JohnAZoidberg closed 3 years ago

JohnAZoidberg commented 3 years ago

The initrd kernel parameter of the Linux EFISTUB is deprecated. The preferred method is the EFISTUB invoking the LoadFile2 protocol with a specific GUID. There's already a UEFI shell command to do that: https://github.com/ardbiesheuvel/edk2/commit/ac8f3ddf03c4fcda186a42918a234733153e42eb

JohnAZoidberg commented 3 years ago
diff --git i/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc w/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
index 73eabe96435b..c48af8d8f37b 100644
--- i/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
+++ w/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.dsc
@@ -572,6 +572,11 @@ [Components]
   FatPkg/EnhancedFatDxe/Fat.inf
   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf

+  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+    <PcdsFixedAtBuild>
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+  }
+
   ShellPkg/Application/Shell/Shell.inf {
     <LibraryClasses>
       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
diff --git i/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf w/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf
index 54fd09e38cc8..12e37365eb55 100644
--- i/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf
+++ w/Platform/SiFive/U5SeriesPkg/FreedomU540HiFiveUnleashedBoard/U540.fdf
@@ -210,6 +210,7 @@ [FV.DXEFV]

 INF  MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf

+INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
 INF  ShellPkg/Application/Shell/Shell.inf

 #
JohnAZoidberg commented 3 years ago

Done on riscv-virt-gh-actions branch.