hello there,
I've got a lot (around 100) computers and I have to apply them and create from scratch an already-patched kernel (a 2.6.16.5). I'm using "make-kpkg" tool which is very good. It creates me every required files for the kernel in just one ".deb" file (kernel-image...2.6.16.5....blabla.deb)
Then, on every machine I just install this .DEB file and the kernel is automatically installed. However, i need to create locally a "initrd" file for the kernel in order to correctly boot. This method is working well on EVERY desktop I have, even though there are different kind of Hardware. If I do it on laptops (I've tried on DELL D600, D620, D800 and D810), I've got every time the same error message and my kernel can't boot.
Here is the message :
pivot_root : No such file or directory
/sbin/init : 432 Cannit open dev/console : No such file
[17179570.332000] Kernel panic - Not syncing : Attempted to kill init !
Do you have any idea please ?
Thanks
hw differences?
do the laptops have a different ide chipset? were the laptops running with the (pata) ide driver before and changed to sata, and therefore the device nodes changed from /dev/hd* to /dev/sd* ? other chipset differences?
Why aren't you using the
Why aren't you using the Debian built kernels? They'll likely get you the same thing with no work from you.
But if you insist on making your own, if you pass --initrd to make-kpkg it'll cause the .deb to run update-initramfs for you so that you don't have to create the initramfs file manually after installation. As for why pivot_root's failing, that's usually a sign of some module missing that's required to access the root filesystem. If you add 'break' to the kernel command line the initramfs will drop to a shell right after udev runs so you can see what devices were found and what nodes were created in /dev.
let's try this BREAK option
Noth, I'm not using the debian built kernel because I have to use MIPL/NEMO , and real time patches ...
I already tried to give "--initrd" to my Make-kpkg line And I had the same "pivot_root" failure. But I will use this "break" features, thanks a lot for this piece of advice.
Regards, Foubee
Also you should probably
Also you should probably start with a known-good config to make sure you've got everything. Grab /boot/config-whatever from the Debian package, copy it to .config in your kernel source directory and run 'make oldconfig' and then go in via menuconfig or whatever and change any custom options from your patches.
Noth
Yeah, i already did it. Before to start compiling my kernel I was wondering "which kernel config should be the most adaptive ?..." And then I used the .config file which comes directly from the ubuntu distribution. Then make oldconfig, make xconfig etc ....
Found solution ? ....
Ok finally, by browsing lot of forums, it seems I've found a solution.
Instead of using :
"mkinitrd -o /boot/initrd.img.toto 2.6.16.toto"
I used :
"mkinitramfs -o /boot/initrd.img.toto 2.6.16.toto"
And it's working on all my laptops now. So Mkinitramfs more efficient than Mkinitrd ?? that is the question ....
Hope it will help
... FouBee ...
Yea, I just assumed you were
Yea, I just assumed you were already using an initramfs instead of an initrd...
And I believe the preferred way to generate them is with update-initramfs and not directly with mkinitramfs.