[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Unable to boot into CompactFlash card - card not found by initrd



Hi,

Thus spoketh Scott Ferguson <prettyfly.productions@gmail.com> 
unto us on Wed, 18 Jan 2012 22:10:40 +1100:
(...)
> 
> set root='(hd1,msdos1)'
> 
> hd0 is the first hard drive (where /boot lives)

I think root=(...) should not point to / but to grub's root, at least the
page you linked suggests this:

"GRUB uses GRUB's root device implicitly. So if you set the root device
to, say, ‘(hd1,1)’ by the command ‘set root=(hd1,1)’ (see set),
then /boot/kernel is the same as (hd1,1)/boot/kernel."

Anyway, changing this line does not have any effect, apparently it is
overridden by 

    search (...)--fs-uuid --set 7329bb28-71ea-4060-96a1-accaeef453f5

which points to (hd0,msdos1).
Of course I stole the menu entry syntax from the debian installer and it
looks like for some reason they added some redundance here, I tried and
actually I can omit either the "set root..." line or the "search..."
line, but in the latter case I must set root='(hd0,msdos1)' or grub will
try to load the kernel from the CF card and so fail because the BIOS
don't know about it.

(...)
> 
> I regret I don't have the time to check the above for you at the moment
> (CF card is in use). I'm not sure if the / in front of the initrd and
> kernel are necessary. (there paths are supposed to be relative to the
> /boot directory). So try without them as well.

Hmm, as long as it finds both kernel and initrd I think it can't be too
bad ;)
 
> You still get problems we can try boot delays incase it takes too long
> to make the device ready (pcmcia lag).

I have tried before to add rootdelay=30 which is suggested often in these
cases, but without success. And, if the problem is caused by a pcmcia
delay, shouldn't then the card be available after a few minutes in the
rescue shell? If so, I can confirm that at least 15 min. is not enough ;)

Now, as grub boots the kernel ok and tries to mount the right partition
as "/", I am afraid the problem is somewhere else than in the grub menu
entry :(

I have been looking into the udev rules files in the intrd and found the
following in 60-persistent-storage.rules :

# skip removable ide devices, because open(2) on them causes an events
# loop
KERNEL=="hd*[!0-9]", ATTR{removable}=="1", DRIVERS=="ide-cs|ide-floppy", \
					GOTO="persistent_storage_end"
KERNEL=="hd*[0-9]", ATTRS{removable}=="1", \
					GOTO="persistent_storage_end"

I even tried uncommenting this, but  of course it was not that easy ;)

Unfortunately good docs on writing udev rules are even much harder to
find than good grub docs ;)

Thanks for your efforts, I really appreciate that!

Michael

.-.. .. ...- .   .-.. --- -. --.   .- -. -..   .--. .-. --- ... .--. . .-.

Murder is contrary to the laws of man and God.
		-- M-5 Computer, "The Ultimate Computer", stardate 4731.3


Reply to: