TL;DR: The following patch seems to fix the problem:
https://lore.kernel.org/all/wlscshbqan2svtqkz5xc6v47tzndfnsvge7h4lbfn67zoplekl@elt2oxwhrp6f/T/#u

---

As noted, when trying to load the i40e driver by itself it does not load
with the following error:

## Plucky P9
# unzstd 
/lib/modules/6.14.0-13-generic/kernel/drivers/net/ethernet/intel/i40e/i40e.ko.zst
 -o ./i40e.ko
# insmod i40e.ko 
insmod: ERROR: could not insert module i40e.ko: Unknown symbol in module
# dmesg | tail -n 1
[81939.426842] i40e: Unknown symbol libie_rx_pt_lut (err -2)

This is simply due to the fact that libie.ko must be loaded first, since
it is a dependency:

## Plucky P9
# modinfo ./i40e.ko 
filename:       /home/mpellizzer/playground/./i40e.ko
license:        GPL v2
import_ns:      LIBIE
description:    Intel(R) Ethernet Connection XL710 Network Driver
srcversion:     67BA2C92026E29EF9B4B3FD
...
depends:        libie
intree:         Y
name:           i40e

When trying to load libie.ko we get:

## Plucky P9
# unzstd 
/lib/modules/6.14.0-13-generic/kernel/drivers/net/ethernet/intel/libie/libie.ko.zst
 -o ./libie.ko
# insmod libie.ko 
[82148.116767] module_64: libie: doesn't contain __patchable_function_entries.
[82148.117858] module_64: libie: doesn't contain __patchable_function_entries.
insmod: ERROR: could not insert module libie.ko: Cannot allocate memory
# sudo dmesg | tail -n 4
[82148.116767] module_64: libie: doesn't contain __patchable_function_entries.
[82148.116833] execmem: unable to allocate memory
[82148.117858] module_64: libie: doesn't contain __patchable_function_entries.
[82148.117899] execmem: unable to allocate memory

This happens because (from the mail thread linked above):

"get_stubs_size assumes that there must always be at least one patchable
 function entry, which is not always the case (modules that export data
 but no code), otherwise it returns -ENOEXEC and thus the section header
 sh_size is set to that value. During module_memory_alloc() the size is
 passed to execmem_alloc() after being page-aligned and thus set to zero
 which will cause it to fail the allocation (and thus module loading) as
 __vmalloc_node_range() checks for zero-sized allocs and returns null"

Therefore the changes proposed here:
- 
https://lore.kernel.org/all/wlscshbqan2svtqkz5xc6v47tzndfnsvge7h4lbfn67zoplekl@elt2oxwhrp6f/T/#u
should fix the issue.

I applied the patch on top of the latest Plucky kernel, compiled and
loaded the new kernel on a P9 bare metal with Oracular on top (it was
not possible to install the kernel on Plucky since Plucky does not
boot). After the reboot the system comes up without presenting the bug
again:

# uname -a
Linux p9bm-t 6.14.0-13-generic #13 SMP Thu Apr  3 23:33:14 UTC 2025 ppc64le 
ppc64le ppc64le GNU/Linux

-- 
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/2104297

Title:
  not able to install a Power9 bare metal with Ubuntu 25.04 Plucky

Status in The Ubuntu-power-systems project:
  New
Status in linux package in Ubuntu:
  New

Bug description:
  Not able to netboot install a Power9 bare metal. It fails because it
  is not detecting network, after that the system goes to shell/busybox

  ```
  Begin: Waiting up to 180 secs for any network device to become available ... 
Failure: Network device did not appear in time
  done.
  dhcpcd-10.1.0 starting
  dev: loaded udev
  [  188.277865] 8021q: 802.1Q VLAN Support v1.8
  no valid interfaces found
  exiting due to oneshot
  aborting as link detection is disabled
  Sleeping 30 seconds before retrying getting a DHCP lease
  dhcpcd-10.1.0 starting
  dev: loaded udev
  no valid interfaces found
  exiting due to oneshot
  aborting as link detection is disabled
  dhcpcd exited
  Sleeping 60 seconds before retrying getting a DHCP lease
  dhcpcd-10.1.0 starting
  dev: loaded udev
  no valid interfaces found
  exiting due to oneshot
  aborting as link detection is disabled
  dhcpcd exited
  Sleeping 90 seconds before retrying getting a DHCP lease
  dhcpcd-10.1.0 starting
  dev: loaded udev
  no valid interfaces found
  exiting due to oneshot
  aborting as link detection is disabled
  dhcpcd exited
  Sleeping 120 seconds before retrying getting a DHCP lease

  
  BusyBox v1.37.0 (Ubuntu 1:1.37.0-4ubuntu1) built-in shell (ash)
  Enter 'help' for a list of built-in commands.

  (initramfs)
  ```

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-power-systems/+bug/2104297/+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