Merge ~xnox/ubuntu-core-initramfs:less-modules into ~canonical-foundations/ubuntu-core-initramfs:master

Proposed by Dimitri John Ledkov
Status: Merged
Merged at revision: 39f77dcb29f2e75370a8f3ef6fef2d73508760f6
Proposed branch: ~xnox/ubuntu-core-initramfs:less-modules
Merge into: ~canonical-foundations/ubuntu-core-initramfs:master
Diff against target: 86 lines (+2/-68)
2 files modified
debian/changelog (+1/-1)
factory/usr/lib/modules-load.d/ubuntu-core-initramfs.conf (+1/-67)
Reviewer Review Type Date Requested Status
Dimitri John Ledkov (community) Approve
Review via email: mp+384033@code.launchpad.net

Commit message

Ship less modules in the initrd.

RPi ideally should boot without any modules at all.

But currently we include too many, without matching firmware.

When we do that, module loads, fails to find matching firmware, and continuous to runtime without giving PiFi.

However, we have two ways to fix this
- ship more firmware in the initrd
- ship less modules in the initrd

Either of that will achieve to have "both firmware and modules at the same time". This implements "ship less modules in the initrd", as rpi kernel is built to boot without modules.

Initrd with this change was built at https://people.canonical.com/~xnox/uc20/ubuntu-core-initramfs.img-5.4.0-1011-raspi and offered for testing.

To post a comment you must log in.
Revision history for this message
Ian Johnson (anonymouse67) wrote :

I tested this change on a Raspberry Pi 4 in arm64 and it auto-loaded the wlan module correctly such that networking could be hypothetically configured via wlan from console-conf if it wasn't currently crashing.

+1 from me on pi on arm64.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Rebuild pc gadget & pc kernel, signed with snakeoil keys.

I was able to boot, install, reboot, consoleconf, runmode, reboot, runmode.

I did that with UEFI no secureboot, UEFI with secureboot, UEFI with secureboot + TPM + FDE. All three cases worked.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index b5d75ee..8017d7b 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,4 +1,4 @@
6-ubuntu-core-initramfs (35) focal; urgency=medium
7+ubuntu-core-initramfs (36) focal; urgency=medium
8
9 * Initial Release.
10
11diff --git a/factory/usr/lib/modules-load.d/ubuntu-core-initramfs.conf b/factory/usr/lib/modules-load.d/ubuntu-core-initramfs.conf
12index 5e3d795..143f3c6 100644
13--- a/factory/usr/lib/modules-load.d/ubuntu-core-initramfs.conf
14+++ b/factory/usr/lib/modules-load.d/ubuntu-core-initramfs.conf
15@@ -34,70 +34,4 @@ sdhci-iproc
16 fixed
17 gpio-regulator
18 genet
19-bcm7xxx
20-mdio-bcm-unimac
21-## arm64 Pi modules loaded
22-nls_ascii
23-dm_multipath
24-scsi_dh_rdac
25-scsi_dh_emc
26-scsi_dh_alua
27-btsdio
28-bluetooth
29-ecdh_generic
30-ecc
31-input_leds
32-brcmfmac
33-brcmutil
34-cfg80211
35-bcm2835_v4l2
36-bcm2835_mmal_vchiq
37-videobuf2_vmalloc
38-videobuf2_memops
39-videobuf2_v4l2
40-videobuf2_common
41-raspberrypi_hwmon
42-videodev
43-mc
44-vc_sm_cma
45-rpivid_mem
46-uio_pdrv_genirq
47-uio
48-sch_fq_codel
49-drm
50-ip_tables
51-x_tables
52-autofs4
53-btrfs
54-zstd_compress
55-raid10
56-raid456
57-async_raid6_recov
58-async_memcpy
59-async_pq
60-async_xor
61-async_tx
62-xor
63-xor_neon
64-raid6_pq
65-libcrc32c
66-raid1
67-raid0
68-multipath
69-linear
70-broadcom
71-bcm_phy_lib
72-mdio_bcm_unimac
73-genet
74-spidev
75-sdhci_iproc
76-crct10dif_ce
77-gpio_regulator
78-hid_generic
79-phy_generic
80-fixed
81-usbhid
82-aes_neon_bs
83-aes_neon_blk
84-crypto_simd
85-cryptd
86+

Subscribers

People subscribed via source and target branches

to all changes: