Kernel panic - booting from USB harddisk

Baho Utot baho-utot at columbus.rr.com
Thu Oct 1 16:38:29 PDT 2009


Hans Kaper wrote:
> Op Thu, 01 Oct 2009 00:19:29 +0200 schreef Baho Utot  
> <baho-utot at columbus.rr.com>:
>
>   
>> J.P.Kaper wrote:
>>     
>>> I am building LFS from book 6.4 on an ext3 logical partition of an
>>> external USB harddisk.
>>> My host system is SUSE 10.3 on one of my two internal harddisks.
>>>
>>> Booting from the USB disk fails with
>>> "[4.410067] Kernel panic - not syncing: VFS: Unable to mount
>>> root fs on unknown-block (2,0)"
>>>
>>>
>>>       
>> I have done some more research on your problem.
>>
>> Try this
>>
>> in /etc/fstab for the USB disk
>>
>> UUID=6342a6b5-25cf-4d01-a318-68309d12ab5b / ext3 defaults       1     1
>>
>> change the blkid to the correct value based on
>> $ blkid /dev/sdxx
>>
>>
>> Are you trying to boot with grub on the USB drive?
>> If so try changing /boot/grub/menu.lst kernel line like this
>>
>> kernel /boot/lfskernel-2.6.30.2 root=/dev/sdd1 rootdelay=15 ro quite
>>
>> change the /dev/sdd1 to the correct value for your USB drive
>>
>>
>> If you have success then try to use UUID in the menu.lst file like this
>>
>> kernel /boot/lfskernel-2.6.30.2
>> root=UUID=6342a6b5-25cf-4d01-a318-68309d12ab5b rootdelay=15 ro quite
>>
>>     
>
> As I said in another post, I am able to boot now by way of a work-around.  
> But I am still interested to know why my former way did not work, so I  
> will try your suggestions (if the forum-moderator allows us to carry on  
> the thread).
>
>
> Hans Kaper.
>
>
>   

It looks like grub or the kernel can give the kernel panic about not 
syncing. 

I like to use UUID or LABEL  in grubs menu.lst file.

Grub can process UUID of LABELs and it makes sure that the drive/partition
that you are trying to boot doesn't change or get mixed up. ( It keeps 
me from getting mixed up
trying to keep "whos bootin from here to where ?"  straight )

But.....

After you can successfully load/execute the kernel, and grubs done it's 
work....
I think the kernel can not locate its root file system and barfs giving 
the kernel panic.

I have found that UUID or LABELs in /etc/fstab gives you the kernel 
panic because the kernel can not process UUID or LABELs
without using a initrd as udev has not been started.  So you need to use 
/dev/sdx there.

example:

title LFS 6.5 - USB
root (hd0,0)
kernel /boot/lfskernel-2.6.30.2 root=/dev/sdd1 rootdelay=15 ro quite

That makes the USB tied to that PC :(

If you need it to boot on another PC you need to edit the grub line from 
the menu when grubs starts up or use an initrd.

Hope this helps.




More information about the lfs-support mailing list