| 13 Aug 2025 |
aloisw | In reply to @emilazy:matrix.org I guess we can because microcode? That's normally just concatenated to the normal initrd. I don't remember a nice way to pass the kernel multiple initrd files. | 17:58:26 |
emily | yeah seems like GRUB will concatenate them for you | 17:58:55 |
emily | but not other stuff | 17:58:58 |
ElvishJerricco | love a good patch of a patch file :P | 17:59:22 |
aloisw | In reply to @elvishjerricco:matrix.org so what we'd really want to do is split modules from user space and share the user space … or put both modules in the same initrd side by side. The directory is versioned. | 17:59:54 |
ElvishJerricco | In practice microcode works by us just prepending to the initrd | 18:00:22 |
ElvishJerricco | .... that's interesting | 18:00:27 |
aloisw | In reply to @emilazy:matrix.org yeah seems like GRUB will concatenate them for you Wait GRUB can do that? I meant that they were already concatenated into one file during build. | 18:00:39 |
emily | yeah I know that's what you meant, but apparently yeah GRUB will do that | 18:00:52 |
ElvishJerricco | if we could assert that our specialisations all use the same initrd and just manually inject all the kernel modules.... | 18:00:52 |
ElvishJerricco | Grub can do that but we don't use it I don't think | 18:01:11 |
emily | oh yeah sharing the initrd would be a substantial win I bet | 18:01:16 |
emily | like it'll help compress the drivers between the two kernels even | 18:01:23 |
ElvishJerricco | The initrd is 33M | 18:01:32 |
emily | hey 33 MiB is a big deal in this game | 18:01:54 |
ElvishJerricco | I think I can get the initrds to be shared | 18:02:07 |
emily | if we eliminated the cost of the second initrd that'd be cool | 18:02:11 |
ElvishJerricco | I have a pretty good idea how to write that up | 18:02:13 |
ElvishJerricco | seems pretty easy | 18:02:17 |
emily | but it probably won't get eliminated so idk | 18:02:22 |
aloisw | In reply to @elvishjerricco:matrix.org The initrd is 33M It's already compressed so you'll really get approximately 33M savings though. | 18:02:30 |
emily | well | 18:02:42 |
emily | I really doubt that the two module sets will completely compress into nothing | 18:02:50 |
emily | kernel versions do famously change things in modules | 18:02:57 |
emily | but I'd hope it'd be a non-trivial improvement | 18:03:14 |
emily | ideally we'd get them to be interleaved in the cpio… | 18:03:22 |
emily | so that you have one version of a module right after the other version | 18:03:27 |
emily | then it'd compress better | 18:03:35 |
emily | think you can do that ElvishJerricco? :P | 18:03:40 |
ElvishJerricco | I mean at that point we better take the erofs initrd patch and just let erofs do the fancy dedupe | 18:03:54 |