On Wed, Jul 25, 2012 at 11:21:10PM +0200, Tom Gundersen wrote:
Dave, Tobias, Thomas,
I just managed to hose one of my machines. It was mainly due to an unfortunate series of events, but I have a suggestion which would have avoided this situation and might beneficial in general.
Oops. ;P What did you break?
The way things are now, I think the fallback image mkinitcpio generates by default is not very useful. In my experience the fallback image is broken exactly when the regular image is broken. I expect the reason for this is that the autodetection of modules is very good these days, so _that_ is never the problem.
When there is a problem, which happens every once in a while, it is either due to user error (i.e. configuration errors), or mkinitcpio not being ran at all (and hence having the modules of the previous kernel (which is what happened to me today).
It seems to me that a more useful fallback image, would be one that is generated at compile-time, rather than at install-time, and shipped as a part of the kernel package. This would avoid user errors, and mkinitcpio run-time problems.
This fallback image should contain the widest sets of hooks and modules so that it should work on any hardware and any setup (at least to the extent possible with our current hooks).
Any thoughts?
Cheers,
Tom
You've mentioned this idea before, and more recently, so has Jan. I've slowly and quietly been adding support to mkinitcpio to make this less painful to do. An xz-compressed image with the usb and fw hooks still weighs in at under 10MiB, so I have no real concerns about this being problematic for users with separate /boot partitions. That said, I'm wondering how it would be possible to generate this at compile time. I'm not really sure how this would be possible. Is there any objection to just adding another preset (maybe related to how you fubar'd your install this time?). As an alternative/addition, which has also been brought up before, why don't we build in the most basic of modules? I'll bet we can cover at least 50% of the use cases by picking some choice pata/sata modules (e.g. ahci, ata_piix, pata_jmicron, sd_mod, ext4) and compiling them in staticly. It, of course, doesn't cover folks with non-trivial setups, but it provides a bulletproof bootstrap for a lot of people. d