You are not logged in.
Hi,
I recently installed from an arch0.7.2-base CD, but can't boot after the mkiniticpio upgrade, including with the kernel26-fallback.img.
My root partiition is on a USB hard-drive, and it seems like the drive isn't being detected in time.
With mkinitrd I could specify a delay to wait for USB devices to settle, but there doesn't appear to be anything similar in mkinitcpio, is there?
This may not be the problem at all, of course, but on one occasion when I booted with break=y, just after the message about break requested, there is no ls binary etc.,
usb2-4: new fullspeed USB device using OHCI_HCD address 2
came up, which looked like it had found the USB device, but too late.
(This is after it says it failed to detect the filesytem type etc.)
When I do break=y and echo /dev/*, my hda devices are there, but there are no sda devices, just a series of usbdev files (e.g. usbdev1.1_ep00 ). Is that normal?
Sorry for posting yet another mkinitcpio question.
Any suggestions would be greatly appreciated. Let me know if there's any other output I should post.
Thanks,
Fishonadish
Offline
Update:
I'm fairly certain the lack of wait time for USB is the problem now.
I can now boot into arch fine provided I use break=y.
I get the messages about about not finding the root device then the break requested section then, after the ramfs$ prompt appears I get
SCSI device sda: [number] 512-byte hdwr sectors [number] MB
and so on...
and when I type exit at the prompt it boots fine.
To get this far I rebuilt the kernel26.img with the following in mkinitcpio.conf:
MODULES="usb-storage ext3"
HOOKS="base udev autodetect usb filesystems"
(Not sure about this, but it seems putting usb-storage in modules got me this far?)
I still need to get it to delay for USB for a bit longer so I don't have to type 'exit' at the ramfs prompt every time I want to boot, or is it some other problem?
If this has been dealt with before, then sorry for the repetition, but I can't find anything covering it elsewhere.
Thanks.
Fishonadish
Offline
what about the other usb modules?
i do believe you want them loaded in mkinitcpio.conf
usbcore ehci_hcd uhci_hcd
i know when i was messing with usb drives back when we used mkinitrd.conf i needed those modules , so i would say you do also
Offline
A quick skim through the intcpio scripts suggests that 'rootdelay' might be the boot parameter you are looking for. It seems to be set to 5 secs by default (in the usb hook), so you could try making it a bit longer (say, 'rootdelay=8' ?).
larch: http://larch.berlios.de
Offline
I seem to finally have it working!
Thanks gradgrind I changed the rootdelay in /lib/initcpio/hooks/usb to 8sec. and regenerated the image and can now boot fine without the break.
It would be handy if this could be set in the conf file like it could with mkinitrd.
rayjgu3: You are right, I think. It was only working because I had the USB hook in aswell, I suspect. I needed ohci_hcd, usbcore and I think sd_mod aswell. Anyway, I emptied the modules line and let the USB hook do the work.
Thanks for the help.
Fishonadish
Offline
Thanks gradgrind I changed the rootdelay in /lib/initcpio/hooks/usb to 8sec. and regenerated the image and can now boot fine without the break.
It would be handy if this could be set in the conf file like it could with mkinitrd.
It should work as a boot parameter (in the kernel line in GRUB). Wouldn't that be the easiest?
larch: http://larch.berlios.de
Offline
Oops. Re-reading your post I seem to have missed the fact that you were talking about a boot parameter. That would be more sensible than fiddling with the scripts, and presumably would cope with an upgrade more easily too. I'll try it that way.
Thanks again,
Fishonadish
Offline