Kernel Compiled
Hi guys,
I just compiled kernel 2.6.13.4 from source from kernel.org. I compiled it to a .deb package. When I installed it and rebooted I got the following message: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block (0,0) I looked around on google and found a lot of people with the problem but no concrete solution. My file system is ext so I tried to type: dhcppc:/usr/src/linux# mkinitrd -c -k 2.6.10 -m jbd:ext3 -f ext3 -r /dev/hda2 /usr/sbin/mkinitrd: illegal option -- c does anyone know how to fix this. Im sure its relatively easy I just cant put my finger on it. Thanks, |
It could be one or more of the following:
1. Did you get the grub config right? Make sure you get his right as it's an easy mistake to make. Grub uses a different naming system to the rest of linux in an effort to not have to specify whether the device is IDE, SCSI or SATA. You just have to specify a device number (starting from 0) and then a partition number (also starting from 0). An example would be the device "/dev/hda1" would be listed in /boot/grub/menu.lst as "(hd0,0)", "/dev/sdb3" would be "(hd1,2)" as so on. It may also be necessary to specify an initrd image here if you've created one. 2. Did you compile ext3 into the kernel and not as a module? If not then the kernel would not be able to load the "ext3" module later since it would not be able to read the partition where the module is located. 3. Did you make an initrd image? It may be necessary to create an initial RAM disk (check out man mkinitrd) to get the kernel over the "first hump" - so to speak - after which the kernel proper could take over. These are not always necessary and are a way to get around compiling all the filesystem drivers (ext3, for example) into the kernel. Quote:
mkinitrd -o /boot/initrd.img-2.6.13.4 2.6.13.4 |
Thanks for the response,
I just recompiled the kernel with ext3 support and ext2 support built into it. I then created the initrd file the way you specified. Checked out my grub: title Debian GNU/Linux, kernel 2.6.13.4 root (hd0,1) kernel /boot/vmlinuz-2.6.13.4 root=/dev/hda2 ro initrd /boot/initrd.img-2.6.13.4 savedefault boot everything looks good here, but when I rebooted I still got the same error: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown block (0,0) Any other ideas about what I could have forgotten to compile or what else i need to do to get this kernel working? Thanks |
What config did you start with? Did you use a previous one? The configs for debian kernels are called /boot/config-<kernel version>. Copy one of those into you kernel tree and call in ".config". Then do make <whatever>config. I'd suggest leaving as much of it in tact as you can and seeing if it boots. If it does, you have a platform to work from.
|
hmm, that might be the problem, I started clean from scratch, after downloading the kernel. My previous kernel was 2.6.8-2, so I have to do the following steps:
1. copy config-2.6.8-2 to /usr/src/linux 2. rename it to .config 3. make xconfig and change the settings I need 4. recompile and reboot Does that look like the corrent procedure then? How is it that I can apply the 2.6.8 configuration to the 2.6.13 kernel source? isnt there new options that I can select and older options that are now obsolete? Thanks in advance for the response |
I cant seem to use the old config scheme. everytime I use it I get the following errors:
.config:84: trying to assign nonexistent symbol X86_EMU486 .config:133: trying to assign nonexistent symbol PM_DISK .config:175: trying to assign nonexistent symbol CPU_FREQ_PROC_INTF .config:181: trying to assign nonexistent symbol CPU_FREQ_24_API .config:334: trying to assign nonexistent symbol MTD_ELAN_104NC .config:386: trying to assign nonexistent symbol PARPORT_PC_CML1 .config:391: trying to assign nonexistent symbol PARPORT_OTHER .config:476: trying to assign nonexistent symbol IDE_TASKFILE_IO .config:495: trying to assign nonexistent symbol BLK_DEV_ADMA .config:586: trying to assign nonexistent symbol SCSI_MEGARAID .config:629: trying to assign nonexistent symbol SCSI_PCI2000 .config:630: trying to assign nonexistent symbol SCSI_PCI2220I .config:667: trying to assign nonexistent symbol MCD .config:668: trying to assign nonexistent symbol MCD_IRQ .config:669: trying to assign nonexistent symbol MCD_BASE .config:700: trying to assign nonexistent symbol FUSION_ISENSE .config:754: trying to assign nonexistent symbol NETLINK_DEV .config:762: trying to assign nonexistent symbol IP_ROUTE_NAT .config:764: trying to assign nonexistent symbol IP_ROUTE_TOS .config:859: trying to assign nonexistent symbol IP_NF_NAT_LOCAL .config:877: trying to assign nonexistent symbol IP_NF_COMPAT_IPCH etc. etc. and then when I try to compile the .deb package it throws me out with errors: drivers/char/drm/drm_memory.h:123: error: redefinition of `drm_follow_page' drivers/char/drm/drm_memory.h:123: error: `drm_follow_page' previously defined h ere drivers/char/drm/drm_memory.h:151: error: redefinition of `drm_ioremap' drivers/char/drm/drm_memory.h:151: error: `drm_ioremap' previously defined here drivers/char/drm/drm_memory.h:163: error: redefinition of `drm_ioremap_nocache' drivers/char/drm/drm_memory.h:163: error: `drm_ioremap_nocache' previously defin ed here drivers/char/drm/drm_memory.h:174: error: redefinition of `drm_ioremapfree' drivers/char/drm/drm_memory.h:174: error: `drm_ioremapfree' previously defined h ere drivers/char/drm/gamma_drv.c:56:22: drm_proc.h: No such file or directory drivers/char/drm/gamma_drv.c:57:20: drm_vm.h: No such file or directory drivers/char/drm/gamma_drv.c:58:22: drm_stub.h: No such file or directory drivers/char/drm/gamma_drv.c:59:25: drm_scatter.h: No such file or directory drivers/char/drm/gamma_lists.h:161: warning: `DRM' defined but not used drivers/char/drm/gamma_lock.h:36: warning: `DRM' defined but not used drivers/char/drm/gamma_lock.h:69: warning: `DRM' defined but not used make[4]: *** [drivers/char/drm/gamma_drv.o] Error 1 make[3]: *** [drivers/char/drm] Error 2 make[2]: *** [drivers/char] Error 2 make[1]: *** [drivers] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.13.4' I even redownloaded the kernel package to make sure that some files werent broken. Do you know how I can fix this? |
make xconfig
head to this part; drivers/char/drm/ and double check your entries to be correct.Or if they are there and you dont need them,untick them and then save and make |
Quote:
Quote:
|
got it, thanks for the help guys
|
All times are GMT -5. The time now is 05:13 PM. |