Actually, each time I look at init/main.c I feel like we are super lucky
that Linux boots ;-)
Well, my point was that actually populate_rootfs() does _very_ little
with regard to FS manipulation, acpi_find_dsdt_initrd() even less. The
task of checking that everything needed is available beforehand is
certainly not the same magnitude as the one of the Danaides as you
seemed to implied ;-)
The fact is, this patch has been tested a lot, because it's been used by
several distributions for a long time. I expect that the only potential
problems are corner cases that are possible to work around.
Yes, we agree on this. That would be crazy :-)
I'm actually the author of this comment... The static/init firmware
infrastructure that I mentioned was more just about a way to hide the fs
access in a special part of the kernel, not avoiding it. We used to have
a different way but it was even uglier: append the DSDT after the
initramfs, and then access it _directly_. This implies teaching
populate_rootfs() to not panic when seeing DSDTs and loosing the benefit
of the compression.
That said, I'm really not against any complete different approach. All
that is needed is being able to read a file early at boot (the DSDT)
without having to recompile the kernel each time the file is modified.
For instance someone had once mentioned modifying the in-kernel DSDT by
unlinking and relinking the bzimage. If one can show me how to do that
I'd be happy to implement it...
Eric
--