Well spotted Heinrich. I'd hypothesized that something was shutting down
the network stack, but didn't yet no where to look, and overlooked
grub_net_fini_hw() message! With that hint, I went ahead and tried
commenting out[*] the registration of that callback, and voila, the
ReadFile2 initramfs loading from TFTP worked:

loader/efi/linux.c:348: Providing initrd via LOAD_FILE2_PROTOCOL
EFI stub: Loaded initrd from LINUX_EFI_INITRD_MEDIA_GUID device path
EFI stub: Exiting boot services...

But I'm not sure of the correct way to address it. Perhaps the kernel's
efi stub needs to own network device shutdown to do this properly? I'm
happy to bring this discussion up on the mailing list. But, for jammy,
seems like disabling ReadFile2 initramfs for !riscv64 would be the
safest approach at this point.


[*]
Index: grub2-unsigned-2.06/grub-core/net/net.c
===================================================================
--- grub2-unsigned-2.06.orig/grub-core/net/net.c
+++ grub2-unsigned-2.06/grub-core/net/net.c
@@ -1818,11 +1818,11 @@ grub_net_fini_hw (int noreturn __attribu
   return GRUB_ERR_NONE;
 }
 
-static grub_err_t
+/*static grub_err_t
 grub_net_restore_hw (void)
 {
   return GRUB_ERR_NONE;
-}
+  }*/
 
 static int
 grub_config_search_through (char *config, char *suffix,
@@ -2048,9 +2048,9 @@ GRUB_MOD_INIT(net)
   grub_dns_init ();
 
   grub_net_open = grub_net_open_real;
-  fini_hnd = grub_loader_register_preboot_hook (grub_net_fini_hw,
+  /*  fini_hnd = grub_loader_register_preboot_hook (grub_net_fini_hw,
                                                grub_net_restore_hw,
-                                               
GRUB_LOADER_PREBOOT_HOOK_PRIO_DISK);
+                                               
GRUB_LOADER_PREBOOT_HOOK_PRIO_DISK);*/
   grub_net_poll_cards_idle = grub_net_poll_cards_idle_real;
 
 #ifdef GRUB_MACHINE_EFI

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1967562

Title:
  jammy beta (220330) arm iso pxe boot kernel panic on Ampere Mt. Jade

Status in grub2 package in Ubuntu:
  New
Status in grub2-signed package in Ubuntu:
  New
Status in linux package in Ubuntu:
  Incomplete
Status in subiquity package in Ubuntu:
  Invalid

Bug description:
  = Description =
  Platforms: Ampere Mt. Jade Altra (bizzy), Cavium thunderX crb2s (recht)
  Image: Jammy Beta (220330)

  I setup my pxe server to provision jammy beta and got the following
  kernel panic message after grub stage:

  log from console log

  [    1.176614] integrity: Couldn't parse dbx signatures: -74^M
  [    1.371630] Kernel panic - not syncing: VFS: Unable to mount root fs on 
unknown-block(0,0)^M
  [    1.379891] CPU: 42 PID: 1 Comm: swapper/0 Not tainted 5.15.0-23-generic 
#23-Ubuntu^M
  [    1.387535] Hardware name: WIWYNN Mt.Jade Server System 
B81.030Z1.0007/Mt.Jade Motherboard, BIOS 1.6.20210526 (SCP: 1.06.20210526) 
2021/05/26^M
  [    1.400215] Call trace:^M
  [    1.402649]  dump_backtrace+0x0/0x1ec^M
  [    1.406310]  show_stack+0x24/0x30^M
  [    1.409614]  dump_stack_lvl+0x68/0x84^M
  [    1.413271]  dump_stack+0x18/0x34^M
  [    1.416573]  panic+0x18c/0x39c^M
  [    1.419616]  mount_block_root+0x160/0x210^M
  [    1.423622]  mount_root+0x12c/0x14c^M
  [    1.427097]  prepare_namespace+0x140/0x1a0^M
  [    1.431182]  kernel_init_freeable+0x1c8/0x214^M
  [    1.435527]  kernel_init+0x30/0x160^M
  [    1.439006]  ret_from_fork+0x10/0x20^M
  [    1.442573] SMP: stopping secondary CPUs^M
  [    1.447323] Kernel Offset: 0x55263ee90000 from 0xffff800008000000^M
  [    1.453404] PHYS_OFFSET: 0x80000000^M
  [    1.456879] CPU features: 0x000085c1,a3302e42^M
  [    1.461225] Memory Limit: none^M
  [    1.464271] ---[ end Kernel panic - not syncing: VFS: Unable to mount root 
fs on unknown-block(0,0) ]---^M

  = Steps to Reproduce =
  1. Followed this guide to setup the pxe server 
https://discourse.ubuntu.com/t/netbooting-the-live-server-installer-via-uefi-pxe-on-arm-aarch64-arm64-and-x86-64-amd64/19240
 with the jammy beta image (220330) 
http://cdimage.ubuntu.com/ubuntu-server/daily-live/20220330/jammy-live-server-arm64.iso
  1-1. You may use this script to perform the set-up 
https://github.com/tai271828/ubuntu-autoinstall-pxe-server by invoking: `sudo 
./setup-pxe-server.sh --url 
http://cdimage.ubuntu.com/ubuntu-server/daily-live/20220330/jammy-live-server-arm64.iso`
  2. Boot the system via PXE
  3. Select Ubuntu at Grub menu

  = Expected Result =
  The image is loaded to the system locally via PXE, and subiquity is launched

  = Actual Result =
  Console log simply shows nothing for 10 seconds and then the kernel panic 
shows up.

  = Additional Information =
  - If we install via the virtual CD of the server, subiquity could be launched 
and the installation process completes successfully.
  - MAAS could deploy Jammy to the Mt. Jade server as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1967562/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to