Kernel booting problem
I am trying to boot my freshly compiled linux kernel (126.96.36.199) but it boots to a certain point and then gives a kernel panic. It says that it cannot mount the VFS so I passed on a root=/dev/sdb1 parameter to the kernel (grub) but then it says to me that /dev/sdb1 is not a valid mount point? I am trying to boot it of my bootable usb stick with grub.
The kernel is compiled without initial ramdisk support. I also tried some other arguments like : root=/media/cdrom (when booting from a grub bootable cd) but this also gives the same error. However this time the kernels says that I should try passing a root parameter for the cd drive? possible arguments are : 0xb00 sr : sr0
But passing these also does not work.
Can someone please help me on how to boot the kernel from a usb stick?
I tried the bzImage for booting and the vmlinuz one but both act the same.
Thank you for reading
I've never played with bootable USB sticks myself, but common sense tells us following:
There is a PC with this stick plugged in, it has all kind of devices, including unknown number of hard drives.
USB stick is accessed thru SCSI layer, thus it is given node name sd as is given to hard drives.
Obviously, when you plug it into a box which has one drive it will be sdb, this is not going to be the case if the PC has two or more drives.
Thus, your best bet is to access it by UUID.
Thank you for your fast reply I tried to root with the UUID, However this resulted in the same error. Is there any possible way to pass on a root fs with usb booting or cd booting?
Can someone please point me into the right direction?
Thank you for reading
if you aren't using initrd, then you need to make sure that the drivers required to see/mount the filesystem on the USB drive are compiled into the kernel
Well I am creating a initrd now to not to grow the kernel to much in size hehe.
Thanks for your help!
I still cannot seem to get it to work :/ (using virtualbox this time with an iso image)
this is the output:
as root="" I tried: cdrom , cd-rom , /dev/sdb1, 0b00, 0b800 ,
RAMDISK: cramfs filesystem found at block 0
RAMDISK: image too big! (76889Kib/65536Kib)
VFS: Cannot open root device "/initrd" or unknown block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
0b00 1048575 sr0 driver: sr
0800 249856 sda driver: sd
Kernal panic - not syncing: VFS: unable to mount root fs on unknown block(0,0)
And it still gives the same output error :/
Does someone know how I can fix this?
This error implies your kernel is unable to access the drive. In your case, it means you have not enabled required USB and SCSI options.
Ahh how dumb of me.. I thought that I compiled these drivers into the kernel but I accidently compiled them as modules hehe my mistake. Recompiling the kernel now and willpost if it worked or not :)
I recompiled my kernel and I built in the scsi and usb drivers and it still give me the same error. I recompiled even with all the usb / scsi drivers and even made a new initrd but no working result :/
Is this the same error or are the numbers different now?
Yep its the same :/
I also tried : /dev/sdb1 , sr, sd, sr0, cd-rom , cdrom , /media/cdrom
VFS: cannot open root device = "/initrd" or unknown-block(0,0)
My environment is (not that it helps I dont know :/)
-ubuntu 10.04 latest stable gcc, g++
What's the kernel command line in your bootloader?