FS#12896 - USB install - won't boot into install system
Attached to Project:
Release Engineering
Opened by Vladislav Guberinic (neosisani) - Thursday, 22 January 2009, 22:34 GMT
Last edited by Dieter Plaetinck (Dieter_be) - Saturday, 14 February 2009, 15:08 GMT
Opened by Vladislav Guberinic (neosisani) - Thursday, 22 January 2009, 22:34 GMT
Last edited by Dieter Plaetinck (Dieter_be) - Saturday, 14 February 2009, 15:08 GMT
|
Details
When using
http://dev.archlinux.org/~aaron/archiso/archlinux-2009.01-ftp-x86_64.img
to install system i can't boot into install system.
Grub goes fine, then booting starts, kernel does some stuff and starts parsing archiso hook. Then it fails with ERROR: cannot find boot device, cannot continue... Falling back to interactive prompt A few seconds after failing to prompt system discovers its usb devices. I've edited archiso file so that it works, but it is ugly workaround. I've added sleep in several places so my computer has enough time to register all devices. Note that even with this sleep time it took me few restarts for devices to be detected. I've attached my /hooks/archiso file. |
This task depends upon
Closed by Dieter Plaetinck (Dieter_be)
Saturday, 14 February 2009, 15:08 GMT
Reason for closing: Fixed
Saturday, 14 February 2009, 15:08 GMT
Reason for closing: Fixed
Myself could not test usb boot images, but give it a try...
So a sleep time of 4s works for you. Could you try decreasing this and report how many seconds you need minimum?
AFAIK this should be handled well by udevadm, settle should wait until all usb(device) events are finished.
Maybe it's better to put additional a short sleep period after this command.
with 4s i could boot 2/3 times.
with 5s i could boot 3/3 times.
Perhaps we could add notice like: "if it hangs, try again".
How can I apply your archiso hook? Adding rootdelay to the kernel line in grub didn't work for me.
Could you test if this solves the problem? I could not test usb images myself, so i hope <g> that the patch applied correctly...
http://users.archlinux.de/~gerbra/iso/test-usb/archlinux-2009.01-1-ftp-i686.img
http://users.archlinux.de/~gerbra/iso/test-usb/md5sum.txt
/bin/run-init: opening console: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
This happens just after :
Binding /bootmnt to bootmnt
Passing control to Archlinux Initscripts.. Please wait
md5sum was correct
GRUB Loading stage 1.5Read Error
I also got this using 2008.06 ISO. See http://bbs.archlinux.org/viewtopic.php?pid=474774#p474774
GerBra, could you somehow dump to some file all the stuff that is seen during boot (after dmesg and before bash)? I think i've seen some other ugly stuff there but can't be sure.
i tried to edit the grub menue and add usbdelay=5 (also tried 10 and 20) but to no effect)
Here is the full message im getting:
::Scanning usb drives...
EXT2-fs warning (device sda1): ext2_fill_super: mounting ext3 filesystem as ext2
EXT2-fs warning (device sdb1): ext2_fill_super: mounting ext3 filesystem as ext2
ERROR: cannot fint boot device, cannot continue...
Falling back to interactive prompt
ramfs$ scsi 2:0:0:0P Direct-Access SanDisk U3 Cruzer Micro 4.04 PQ: 0 ANSI: 2
sd 2:0:0:0: [sdc] 8027793 512-byte hardware sectors: (4.11 GB/3.82 GiB)
sd 2:0:0:0: [sdc] Write Protect is off
sd 2:0:0:0: [sdc] Assuming drive cache: write through
sd 2:0:0:0: [sdc] 8027793 512-byte hardware sectors: (4.11 GB/3.82 GiB)
sd 2:0:0:0: [sdc] Write Protect is off
sd 2:0:0:0: [sdc] Assuming drive cache: write through sdc: sdc1
sd 2:0:0:0: [sdc] Attached SCSI removable disk
ramfs$
and just to make sure im doing it right but you need to edit the kernel line in grub and after the ramdisk_size=75% you add usbdelay=10 so it looks like "...ramdisk_size=75% usbdelay=10" correct?
If we use usb-storage's use_delay param, we sleep for exactly that time, whereas we should probably sleep for longer than that time. Perhaps usbdelay+1. Do you think this is a good idea, or should we always set use_delay to 0 and use usbdelay for the sleep time only?
It also displays someting fancy as "Usbdelay waiting for n seconds"
After i try rootdelay=10 and work correct.
Now the installation is finish correctly.
Bye
There was another problem when booting from USB (it's _very_ slow without disconnecting and connecting the USB stick again at boot drive prompt, but I don't think that's related to the boot loader, Syslinux in my case).
'usbdelay=x' does not work, nor does 'rootdelay=1'... 'rootdelay=10' works.
See http://dev.archlinux.org/~aaron/archiso/
I personally don't use the usb stuff, but I did see with rc2-i686-core the kernel has param usbdelay=5 and the archiso hooks waits 6 (shouldn't that be 5?) seconds for usb devices to settle.