Installation fails on eoan/PowerVM : missing /dev/nvram

Bug #1837726 reported by Frédéric Bonnard
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
The Ubuntu-power-systems project
Fix Released
High
Canonical Kernel Team
linux (Ubuntu)
Fix Released
High
Seth Forshee

Bug Description

Hi,
since eoan and kernel 5.2, the installation fails when installing grub at the end.
Actually /dev/nvram does not exist.
nvram support was previously built in the kernel and is now built as a module,
and the module is not shipped within the iso or in udebs.
This is probably due to commit d7d73492dc5f2 in Ubuntu's linux git tree :

---
commit d7d73492dc5f2ccc5c76b042341370838af148e4
Author: Seth Forshee <email address hidden>
Date: Wed Jun 5 10:47:33 2019 -0500

    UBUNTU: [Config] update annotations following config review
...
-CONFIG_NVRAM policy<{'amd64': 'm', 'i386': 'm'}>
+CONFIG_NVRAM policy<{'amd64': 'm', 'i386': 'm', 'ppc64el': 'm'}>
...
---

F.

Tags: eoan
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1837726

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: eoan
Revision history for this message
Frédéric Bonnard (frediz) wrote :

apport-collect is not available from the installation iso shell

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Seth Forshee (sforshee) wrote :

Thanks for the report. I can add the module to the udebs, unless it makes more sense to just make it built-in.

Changed in linux (Ubuntu):
assignee: nobody → Seth Forshee (sforshee)
importance: Undecided → High
Revision history for this message
Seth Forshee (sforshee) wrote :

I went ahead and applied a change to our 5.3 tree to make nvram built-in for ppc64el. If it would be preferable to keep it a module and add it to the installer, let me know and I can change it.

Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Frédéric Bonnard (frediz) wrote :

Thanks Seth, I'll test this as soon as it's released.

F.

Revision history for this message
Frédéric Bonnard (frediz) wrote :

The fix is in 5.3.0-12.13 but trying current http://ports.ubuntu.com/ubuntu-ports/dists/eoan-proposed/main/installer-ppc64el/current/images/netboot/mini.iso (2019-09-21 81M, 3ed00b52f4335c589f4e1b070107c1af mini.iso)
the kernel of the installer just panics without much details...

Preparing to boot Linux version 5.3.0-12-generic (buildd@bos02-ppc64el-011) (gcc version 9.2.1 20190909 (Ubuntu 9.2.1-8ubuntu1)) #13-Ubuntu SMP Tue Sep 17 12:34:04 UTC 2019 (Ubuntu 5.3.0-12.13-generic 5.3.0)
Detected machine type: 0000000000000101command line: BOOT_IMAGE=/install/vmlinux tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false --- quiet
Max number of cores passed to firmware: 2048 (NR_CPUS = 2048)
Calling ibm,client-architecture-support... donememory layout at init:
  memory_limit : 0000000000000000 (16 MB aligned)
  alloc_bottom : 0000000007080000 alloc_top : 0000000030000000
  alloc_top_hi : 0000000100000000
  rmo_top : 0000000030000000 ram_top : 0000000100000000
instantiating rtas at 0x000000002fff0000... done
prom_hold_cpus: skipped
copying OF device tree...
Building dt strings...
Building dt structure...
Device tree strings 0x0000000007090000 -> 0x0000000007090a8d
Device tree struct 0x00000000070a0000 -> 0x00000000070b0000
Quiescing Open Firmware ...
Booting Linux via __start() @ 0x0000000002000000 ...
Linux ppc64le
#13-Ubuntu SMP T[ 0.914674] vio vio: uevent: failed to send synthetic uevent
Failed to write 'add' to '/sys/devices/vio/uevent': No such device
[ 0.917725] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
[ 0.917815] CPU: 0 PID: 1 Comm: init Not tainted 5.3.0-12-generic #13-Ubuntu
[ 0.917885] Call Trace:
[ 0.917913] [c0000000fa4bfc00] [c000000000e72108] dump_stack+0xac/0xf4 (unreliable)
[ 0.917996] [c0000000fa4bfc40] [c000000000126a2c] panic+0x16c/0x400
[ 0.918119] [c0000000fa4bfce0] [c00000000012eb70] do_exit+0xca0/0xd40
[ 0.918206] [c0000000fa4bfdc0] [c00000000012ece0] do_group_exit+0x60/0x120
[ 0.918308] [c0000000fa4bfe00] [c00000000012edc4] sys_exit_group+0x24/0x40
[ 0.918377] [c0000000fa4bfe20] [c00000000000b388] system_call+0x5c/0x70

Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

This seems to be unrelated to the kernel. The init program is mounting a tmpfs with size 100M and trying to copy 172M into it. I will report it to the installer side, and see if this affects other images as well.

Cascardo.

Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

This was a false conclusion, as I was executing /sbin/init instead of /init. The copying works with 100M.

What seems to cause the failure here is udevadm trigger at /lib/debian-installer/start-udev failing because writing add to /sys/devices/vio/uevent will fail with ENODEV.

This is because there is a fake parent device for vio, just to make it look "pretty", dating back to the conversion of vio to 2.6 driver model back in 2004. Removing such a bogus device should fix things. I just don't know yet why this has started to be a problem when it wasn't on previous releases.

Cascardo.

Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

This is due to kernel commit df44b479654f62b478c18ee4d8bc4e9f897a9844 ("kobject: return error code if writing /sys/.../uevent fails"), which has also just recently been backported to bionic.

Cascardo.

Revision history for this message
Frédéric Bonnard (frediz) wrote :

Thanks Thadeu, good to know the problem has been identified !
I'll be happy to test the fix.

Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

Hi, @frediz.

I will open a new bug, so we can track the nvram and vio issues independently. I can't tell for sure if I will be able to provide a new ISO or initrd for the installer, but will try.

Thanks.
Cascardo.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 5.3.0-12.13

---------------
linux (5.3.0-12.13) eoan; urgency=medium

  * Change kernel compression method to improve boot speed (LP: #1840934)
    - [Packaging] Add lz4 build dependency for s390x

  * Miscellaneous Ubuntu changes
    - SAUCE: Remove spl and zfs source

linux (5.3.0-11.12) eoan; urgency=medium

  * eoan/linux: 5.3.0-11.12 -proposed tracker (LP: #1844144)

  * Suspend to RAM(S3) does not wake up for latest megaraid and mpt3sas
    adapters(SAS3.5 onwards) (LP: #1838751)
    - PCI: Restore Resizable BAR size bits correctly for 1MB BARs

  * s390/setup: Actually init kernel lock down (LP: #1843961)
    - SAUCE: (lockdown) s390/setup: Actually init kernel lock down

  * cherrypick has_sipl fix (LP: #1843960)
    - SAUCE: s390/sclp: Fix bit checked for has_sipl

  * Change kernel compression method to improve boot speed (LP: #1840934)
    - [Config]: Switch kernel compression from LZO to LZ4 on s390x

  * Installation fails on eoan/PowerVM : missing /dev/nvram (LP: #1837726)
    - [Config] CONFIG_NVRAM=y for ppc64el

  * Miscellaneous Ubuntu changes
    - [Config]: remove nvram from ppc64el modules ABI
    - [Config] Update annotations for recent config changes
    - SAUCE: sched: Add __ASSEMBLY__ guards around struct clone_args
    - SAUCE: i2c: qcom-geni: Disable DMA processing on the Lenovo Yoga C630
    - SAUCE: arm64: dts: qcom: Add Lenovo Yoga C630
    - update dkms package versions

  [ Upstream Kernel Changes ]

  * Rebase to v5.3

 -- Seth Forshee <email address hidden> Tue, 17 Sep 2019 13:36:26 +0200

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) wrote :

The other bug has been opened as https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1845572.

Regards.
Cascardo.

Manoj Iyer (manjo)
Changed in ubuntu-power-systems:
importance: Undecided → High
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
Changed in ubuntu-power-systems:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.