Boot Problems after Upgrading Kernel

Status
Not open for further replies.

sachin_kothari

Ambassador of Buzz
I am using Debian Etch on my system having default kernel as 2.6.18.
I downloaded the latest kernel 2.6.21.5 from kernel .org and compiled and installed it.
Everything was fine till here.
I rebooted my system and when i try to boot from the new kernel i get this error message
Code:
VFS: Cannot open root device "hda3" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
I rebooted to my old kernel finally.
Help me boot to my new kernel.
 

nileshgr

Wise Old Owl
As root, in your old kernel, delete the new one and try reupdating using your package manager from the terminal. For example i updated my kernel in Fedora using this in the terminal:

Code:
yum update kernel

yum is the package manager for RedHat/Fedora. Also your problem may be because some dependencies for the kernel were not updated. yum downloaded 3 dependencies to be updated. :)
 

nileshgr

Wise Old Owl
sachin_kothari said:
how do u do that in debian?
Which packman is installed? dpkg or apt-get?

See this googled result if it helps you: *www.google.com/search?hl=en&client...t=result&cd=1&q=debian+package+update&spell=1
 
OP
sachin_kothari

sachin_kothari

Ambassador of Buzz
i got what the problem is. but no solution yet.
the problem is

Code:
title		Debian GNU/Linux, kernel 2.6.21.5
root		(hd0,2)
kernel		/boot/vmlinuz-2.6.21.5 root=/dev/hda3 ro 
savedefault

title		Debian GNU/Linux, kernel 2.6.18-4-k7
root		(hd0,2)
kernel		/boot/vmlinuz-2.6.18-4-k7 root=/dev/hda3 ro 
initrd		/boot/initrd.img-2.6.18-4-k7
savedefault

the initrd entry is missing in the new kernel.
how do i get this entry?
how do i create the initrd.img file?
 

praka123

left this forum longback
if u made the kernel debian way(its easy!) u can make initrd image by appending "--initrd" to the end of make-kpkg kernel_image kernel_headers to get initrd generated.EDIT:U need to check in kernel menuconfig "CONFIG_BLK_DEV_INITRD=y" to enable generation of initrd.normally it works as it just copies ur current kernels /boot/config-2.xx as /usr/src/.config which supports initrd generation.else u can generate initrd image(tried longback) using tools like yaird,mkinitrd,mkinitramfs etc.u can make a kernel that doesnt need initrd.mostly initrd is used when file system support is made as modules.make it compiled into the kernel with (*) symbol.
Debian uses patched kernel-source which can be obtained via apt as apt-get install linux-source-*
*howtoforge.com got nice explanation on debian/ubuntu custom kernel compilation.else install "newbiedoc" from apt.
do research "man make-kpkg" and "man for initrd tools" u need to manually copy the initrd image to /boot directory and it needs to match kernel version exactly if u generate initrd the non-debian way.GIYF.always use the debian way for kernel compiling.it generates packages(.deb) for kernel image,headers,modules,initrd and more.
initrd guides:
*wiki.linuxquestions.org/wiki/Mkinitrd
*www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/s1-custom-kernel-initrd.html
*www.faqs.org/docs/evms/x3834.html
 
Last edited:
OP
sachin_kothari

sachin_kothari

Ambassador of Buzz
i did what u told appended --initrd at the end of make-kpfg.
the initrd entry is now ok.

but now a new problem
while booting i go this error
Code:
Begin: Waiting for root file system ... ...
nothing happens after that.
 
OP
sachin_kothari

sachin_kothari

Ambassador of Buzz
ext3
and i used this tutorial for compiling
*www.holtmann.org/linux/kernel/debian.html
with a change of appending --initrd to make-kpkg
 

praka123

left this forum longback
check for modules built for basic ext3/ext2 support

the guide u r following is quiet old and for 2.4 kernels and seems obsolete.use the one at *howtoforge.com and debian itself has a package called newbiedoc which installs a complete guide for debian including kernel compiling the debian way too.
*howtoforge.com/roll_a_kernel_debian_ubuntu_way
*howtoforge.com/kernel_compilation_debian_etch
the error may be due to fs support not built as @mehul said.
go to ur /usr/src/.config or ur new kernel's /boot/config-2.6.xx to check below options be there.this kernel below uses initrd.u can check initrd by mounting it as cpio file(mostly.earlier kernels differ).
Code:
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
 
OP
sachin_kothari

sachin_kothari

Ambassador of Buzz
the config file shows all the options exactly as you mentioned.
anyway i will be using the new tutorial u provided for kernel compilation.
will post the results after that.
thankyou.

edit: the new tutorial worked exactly fine.
i have now booted into my new kernel.
thanks all for all the help. :)
 
Last edited:
Status
Not open for further replies.
Top Bottom