HELP!! Kernel install gone wrong...
Hello,
I have a debian machine at home, that was running the 2.4.18-bf2.4 kernel about 20 minutes ago. I decided i needed to upgrade it to 2.4.20-1-686. Here's my processor, according to 'cpuid': Code:
hobbs@turnip:~$ cpuid It did ask me a question that i wasn't sure about though... so this is where i think i went wrong: Code:
You are attempting to install an initrd kernel image (version 2.4.20-1-686) nothing. still unpingable 10 minutes later! i think it's broken :scratch: :scratch: i added "initrd=/initrd.img" to lilo.conf as it told me to, before the reboot: Code:
# Boot up Linux by default. i will start investigating as soon as i can get to the machine physically, but i would like to have a clue about what's gone wrong before i start messing around. Thanks in advance for any help... it's much appreciated. |
Well the initrd should be pointing to an initial ramdisk image. You don't really need it if you compiled all the necessary things needed for booting directly into the kernel (not as modules). You can disable it by turning off the option CONFIG_BLK_DEV_INITRD.
The easiest thing to do when compiling a new kernel is to copy the .config file from your old kernel and then run 'make oldconfig' That way you keep at least all the old options of your previous kernel. |
i think you installed the wrong kernel for what you want.
the initrd it is talking about is one it expects you already made. not one that just happens to exist on systems. |
Quote:
As you said i don't really need it, does that mean where it said to add that line to lilo.conf, i didn't really need to?? Quote:
|
Well I don't use debian. But if they provide a precompiled kernel with initrd enabled they should also provide a initrd image file along with it. In that case you should make then entry in lilo.conf point to the file. Usually it would be in the /boot directory.
Or you should see if they have any kernels without it since your last kernel apparently was also without that option. You could always install a 2.4.20 kernel which you compiled yourself. I don't know if debian contains source packages for their kernel but you might want to at least get a .config file to start with. After that you can always enable/disable things yourself. It's easier to base it off a config file you know that works and then go from there then going through each option and deciding whether you need it or not. Unless you know what you are doing. PS: And are you running /sbin/lilo after changing lilo.conf. Because if lilo is at least a bit decent it should complain about not finding a /initrd.img file, unless it's really there (which IMO is kinda messy). |
debian do supply source packages, but i've never ever managed to compile a kernel myself *and* get it to boot, so i'm only gonna try that as a last resort.
i think i've figured out what's happened here.... previously, i was using "2.4.18-bf2.4", and i downloaded and installed "2.4.20-1-686". As we can see below, there a a load of kernels with "1" in them (e.g. kernel-image-2.4.20-1-686) and loads without (e.g. kernel-image-2.4.20-686). Code:
kernel-image-2.4.20-1-386 - Linux kernel image for version 2.4.20 on 386. |
my friend just tried installing "kernel-image-2.4.20-686" to test this theory, but it asks for "inetrd" as well. He has now backed out of making the changes.
|
I never apt-get'ed a kernel for Debian but my best guess is that it puts a initrd.img in the /boot directory.You should look in there and see if it is there and what it is actually called - probably something like initrd2.4.20.img.Then try to add initrd=/boot/initrd-whatever.img to lilio.
|
i'm going to try that as soon as i can physically get to the machine, and find a keyboard and monitor to plug into it! lol
i'm pretty sure i'm going to see a kernel panic when i get home, but i'm not sure yet. What's the difference between the kernel-image-2.4.20-1-686 and the kernel-image-2.4.20-686 packages?? The '1' must mean something, but i don't know what... why does neither my old kernel (2.4.18-bf2.4) or my friends kernel (2.4.18-grsec-1.9.4) require initrd, but the 2.4.20 kernel does? is it a module that i don't actually need? or is it just how the new kernel works? |
I usually don't use initrd.As far as I know it is mainly used to load drivers that you need for booting before the kernel is operational like scsi drivers.It's mainly useful for kernels from distros where the drivers for the hdd's are built as modules that need to be loaded in order to boot the system.If you make your own kernel and compile the drivers for in the kernel and not as modules you don't need it.
Something like that anyway. |
ok, gotcha.... but i still don't know what the number 1 means in the kernel package name... any ideas anyone??
also, do you know which of these i need? i do not want to include initrd, as i do not need it: Code:
kernel-image-2.4.20-1-386 - Linux kernel image for version 2.4.20 on 386. Code:
hobbs@turnip:~$ cpuid |
does anyone know the difference between:
- kernel-image-2.4.20-1-686 and - kernel-image-2.4.20-686 ?? :D |
All times are GMT -5. The time now is 01:46 AM. |