== Using a stock kernel.org kernel on Fedora Core 5 If you like initrds, the stock Linux kernels from [[kernel.org http://www.kernel.org]] should just compile and work. Install the _kernel-devel_ RPM, copy the _.config_ from _/usr/src/kernels/_ to your source tree to duplicate the normal Fedora Core kernel configuration, _[[make oldconfig EasyKernelConfMods]]_, and go. I don't like initrds, though. So one of the usual benefits of compiling my own kernel is not needing one, so there's one fewer moving part in my system environment. Unfortunately, Fedora Core 5 uses udev, which introduces a problem: the normal initrd is what *creates* _/dev_. No initrd, no _/dev/console_, and your kernel reports: > _Warning: unable to open an initial console._ Usually things blow up shortly afterward. (You're also missing _/dev/zero_ and _/dev/null_, which doesn't help.) One way around this is to populate a basic _/dev_ on the root filesystem. To get around the chicken and egg problem that FC5 boots with something mounted on top of _/dev_, you can use [[the NFS trick I mentioned yesterday ../sysadmin/PeekingUnderMountsWithNFS]]. The simpler way out is just to make an initrd anyways, despite theoretically not needing one. _mkinitrd_ is happy to set you up with a basic initrd that just does the necessary magic to create _/dev_ and switch into the real root filesystem and so on. As a bonus, *this initrd is kernel agnostic*: you can use it for any kernel version (making it slightly more palatable). It looks somewhat like the resulting 'generic' initrd does know what your root filesystem is. Unfortunately the _nash_ manual page and the actual init script buried in the initrd disagree with each other, so I'm not entirely sure. Since I was in a rush yesterday, I opted to hold my nose a bit and use the initrd approach. Thus, unfortunately, I have no idea what additional steps making a real _/dev_ may require; caveat emptor. === Sidebar: inspecting initrds Fedora Core 5 initrds are gzip'd cpio archives. _cpio -tv_ will list the contents; _cpio -id_ will extract them (into the current directory). _/init_ is the magic script that does all the work. I will reluctantly concede that this is more convenient than the old approach of gziped filesystem images.