Also, mkinitcpio's error-handling is a bit flakey. It sometimes fails to create a proper image, but reports success upon completion. I hope to be able to spend some time on that in the near future.
Have some personal probs to sort out first though...
I wasn't building a custom kernel. Just installed the stock kernel26. If I were building a custom kernel, I'd just include the root filesystem and mobo disk controller modules in the image itself, rather than use an initramfs or secondary load technique.
I've tried twice to reproduce the original kernel panic and have not managed to do so. One thing I noticed while experimenting, though, is that if you forget to install gzip the console reports a failure in building the initramfs image (the ncurses installer interface still reports success, though -- so if you don't read the console output it is easily missed). That may or may not be connected ...
]]>If you built your own kernel, you might have just copied the config from one of those stock kernel. This will not work without a proper initramfs...
An alternative would be to compile your own kernel and make your own config, in which you just the things you need and _not_ to compile these things as modules... This way you won't need an initramfs
If you did install a stock-kernel though, and you did it like so:
# pacman -S kernel26
(options: kernel26, kernel26ck, kernel26suspend), it would be a bug if mkinitcpio wasn't pulled in as a dependency
Are you sure mkinitcpio is not installed? What does
# pacman -Q | grep mkinitcpio
tell you?
Another possibility is that it is installed and you didn't have your boot-partition mounted when the initramfs wuold have been created...
]]>The kernel headers are some other packages seem to be "automatically" added, also. I'm wondering a bit about how the installer works, but not desperately curious enough to dive into its internals to find out.
]]>At this time, however, I can't think of any justifiable reasons to get rid of mkinitcpio except to, perhaps, play with an alternative (if there is one, or if you're trying to make one, for instance).
]]>As I understand it, mkinitcpio is used for creating an early userspace environment for the purpose of detecting and loading required kernel modules. In my case, I'm guessing that 'init' cannot be found because the root filesystem cannot be mounted. This would make sense if the early userspace is missing and the filesystem module never loads.
Is it a bug that mkinitcpio can be omitted during installation? Or are there configurations where it would not be required (root filesystem on ext2, maybe) ?
]]>