Some people seem to have problems booting their freshly installed CRUX system. I suspect this is caused by some Linux kernel misconfiguration, so here are some pointers.
I assume you followed the official installation guide here http://crux.nu/Main/Handbook2-7#ntoc9
When comes the kernel compilation phase however, no detail is given (Crux assumes you know how to do that)
Everything can be tweaked, but the goal here is to obtain a working kernel 🙂
Let’s go :
# cd /usr/src/linux*
First of all let’s clean everything just in case
# make mrproper
Generate a default kernel configuration file (.config) for x86 systems
# make i386_defconfig
# make menuconfig
Everything can be let as it is. For a lighter/faster kernel, you might want to disable Auditing/Profiling/Kprobes.
Bus options (PCI etc.)
If your computer is not a laptop, you might want to disable PCCard support.
Disable Amateur Radio support (unless you need it)
If you know you will not be using Wifi at all, you can disable it. Otherwise, build it as Modules.
Same for RF switch subsystem support.
The goal is to remove anything you don’t need (when in doubt, don’t remove :), and build the rest as Modules.
Sound card support > Advanced Linux Sound Architecture > PCI sound devices
Select your sound card as a module. In doubt, include the most common devices (Intel HD Audio, Intel/Sis/nVidia/AMD/Ali AC97, etc)
Since we are using a standard kernel with no initramfs ( https://duckduckgo.com/?q=initramfs ), we MUST include support for the filesystem we are using for the root filesystem.
If no support at all, or if it is built as a module, the kernel will not be able to mount the root fs! (hence the famous “unable to sync VFS” kernel message)
Here my example with EXT2/3 and 4 enabled directly in the kernel (other fs are disabled, adapt to your system)
You might want to disable quota support.
I personally choose to disable Kernel debugging (and everything concerning tracing/debugging).
You’ll want to stay with the defaults if you’re encountering bugs with your system.
Again I disable everything here 🙂
Read more about kernel security : https://secure.wikimedia.org/wikipedia/en/wiki/Security-Enhanced_Linux
Exit configuration (save it!)
Ok, we’re done with configuration, now let’s compile
# make all && make modules_install
# cp arch/x86/boot/bzImage /boot/vmlinuz
# cp System.map /boot
Be sure to properly setup the bootloader (lilo here)
# nano /etc/lilo.conf
mine looks like that :
# /etc/lilo.conf: lilo(8) configuration, see lilo.conf(5)
# End of file
Now reboot your system (and cross your fingers 😀 )
To see all kernel compilation possibilities
# make help |more