Hhm, da werde ich dir nicht groß weiterhelfen können, meine Erfahrung mit
Kernel+initrd sind gering.
An deiner Stelle wäre noch die Option mittels Distributions-Paketmanager einen
Kernel als Paket zu bauen. Ich habe das sowohl bei Debian als auch Arch immer so
gemacht.
Bei Arch wäre das: ABS konfigurieren (
http://wiki.archlinux.de/?title=Abs), den Build
z.B. des Standard-Kernels nach ../abs/local und dort die Kernel-Config anpassen.
Wichtig ist: die Kernel-Revision/Name so anpassen (IMHO in der PKGBUILD) das
Kernel als auch Modul-Verzeichnisse eine "eigene" Endung bekommen und somit
den Standard-Kernel nicht überschreiben. Wenn du dann mit makepkg das Paket
baust wird über mkinitcpio auch eine passende initrd mit erzeugt.
Außerdem ist der eigene Kernel so einfacher wartbar bzw. deinstallierbar.
//Edit: Es gibt im englischen Wiki IMHO einige Artikel, die den Bau eigener Kernel
"the arch way" beschreiben.
Eigene Kernel, die ich noch baue über den "Dreisatz" (make menuconfig, make, make
modules_install) haben alle notwendigen Treiber zum Booten fest im Kernel, die
.configs schleppe ich teils schon seit Jahren mit rum.
Evtl. kann dir jemand anderes den entscheidenden Tip geben...