AW: [U-Boot-Users] USB booting...

Hi all,
u-boot-users-admin@lists.sourceforge.net wrote on :
In message 1120664027.6064.99.camel@daroca you wrote:
I am attempting to boot Linux on a target platform using a USB mass storage device (flash disk) to hold the kernel and the root filesystem.
I thought it may be a good idea to replicate the same steps used when booting from a tftp server, i.e. I copy the root filesystem (using an initrd image) to an address in RAM, then copy the kernel to a different address in RAM. Finally bootm with the start address of the kernel. Bootargs will be set during this process.
You can do it this way, but it is a waste of system RAM. Why don't you use a (read-only) file system mounted on the USB device?
I tried this with a read-only ext2 root file system on a linux partition on an USB memory stick some time ago - and failed. I hadn't much time to analyze what's going wrong but I think the problem was that the kernel (linuxppc_2_4_devel from denx) tried to mount the root file system _before_ initializing of the usb sub system has completed. At least the console messages looked so - but perhaps I missed something.
Has anybody else tried this? I would be happy to hear about a successful way to do this.
Regards, Martin

"Martin" == Martin Krause Martin.Krause@tqs.de writes:
Martin> I tried this with a read-only ext2 root file system on a Martin> linux partition on an USB memory stick some time ago - and Martin> failed. I hadn't much time to analyze what's going wrong but Martin> I think the problem was that the kernel (linuxppc_2_4_devel Martin> from denx) tried to mount the root file system _before_ Martin> initializing of the usb sub system has completed. At least Martin> the console messages looked so - but perhaps I missed Martin> something.
Martin> Has anybody else tried this? I would be happy to hear about a Martin> successful way to do this.
Yes, there's a race condition between the kernel mounting the rootfs and USB detection / partition scan - I have solved it with a small initrd (~100k) which sits in a loop trying to mount the USB stick and then does a pivot_root to it.
participants (2)
-
Martin Krause
-
Peter Korsgaard