Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 890352 - HPPA minimal installation ISOs use the wrong initramfs on 64bit
Summary: HPPA minimal installation ISOs use the wrong initramfs on 64bit
Status: UNCONFIRMED
Alias: None
Product: Gentoo Release Media
Classification: Unclassified
Component: InstallCD (show other bugs)
Hardware: HPPA Linux
: Normal normal (vote)
Assignee: Gentoo Release Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-10 14:23 UTC by jonys
Modified: 2023-01-11 14:40 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jonys 2023-01-10 14:23:11 UTC
The PALO boot loader on HPPA doesn't understand the ISO9660 filesystem and loads files through a special boot manifest instead. The manifest contains entries for the 32b kernel, 64b kernel and one initramfs. Gentoo uses the initramfs slot for a 32b-only initramfs, but that leaves the 64b kernel without a suitable boot env. As a result, booting the minimal install CD on 64b machines fails, because the kernel lacks the required modules to mount the rootfs.

Reproducible: Always

Steps to Reproduce:
1. Load the minimal installation CD on 64b HPPA. At least the 2022-12-11 ISO is affected, but all ISOs between 2020 and 2022 seem susceptible.
2. Edit the PALO command line to boot the 64b kernel and 64b initramfs.
3. Observe that PALO proceeds to load the 64b kernel and 32b initramfs without any warning (you can see it by comparing the reported object sizes).
4. If you drop into the initramfs busybox shell, note the lack of suitable 64b kernel modules in /lib/modules.
Actual Results:  
If using a kernel without the isofs module built in, the boot stops because the CD cannot be mounted and therefore the rootfs cannot be reached.

The 2019 ISO reportedly boots successfully, indicating that ISO9660 support is built in (it doesn't have the kernel config on the CD, so I'm not sure). In the 2022-12-11 ISO, it is built as a module.

Expected Results:  
The kernel should load a suitable initramfs. Since only one initramfs is supported, there either have to be separate ISOs for 32b and 64b HP-PA variants, or (preferably) a universal 32b+64b initramfs should be used.

Failing that, the kernel should have the drivers required for early boot built in, removing the need for a correct initramfs altogether. CONFIG_MLONGCALLS is already set, so the 7.6MB limit is not an issue here.

A workaround for users is to generate an initramfs with both 32b and 64b module sets, as described in https://forums.gentoo.org/viewtopic-p-8768660.html#8768660
Comment 1 Matt Turner gentoo-dev 2023-01-11 14:40:32 UTC
I've modified the kernel configs to build iso9660 into the kernel:

https://gitweb.gentoo.org/proj/releng.git/commit/?id=b526a4417c08152f596e6588f3d342344c4c9387