I had the same two problems.

WRT to grub, I don't remember anymore exactly what I have done, but I think I have
copied sectors 1-62 from one conventional grub-bootable HDD to USB,

Or maybe used some old HDD and formated it, parittioned it like the USB disk, copied /boot partition on it and set up grub on it, then copied sectors 1-62 back to USB disk. Sector 0 is for MBR codeand last few tens of bytes contain headers for first 4 partitions, so it shouldn't be touched and first partition begins with sector 63.

Something like that.


WRT to boot panics, kernel can't find USB key at boot since USB initialisation code needs more time for key to stabilise. Use kernel parameter rootdelay=10 for 10 second wait period for USB

Hope this helps.


BTW: You will in all likelyhood be dissapointed with USB key performance. Its R/W throughput is comparable to HDD only on paper. In reality it seems that USB can't cope efficiently with small sector-sized writes but also scattered reads seem to be far from optimal.Either that or USB driver really sucks on Linux.

It is very useable as fallback though. Like having one USB key soldered directly on the MoBO and using it for boot if/when your HDD croaks or if something eats your main boot option...


Regards,


Branko




Raffaele BELARDI wrote:
In the process of building an amd64 diskless box, I am trying to make a
bootable USB key with no success up to now.

The first problem I encountered was related to ext2/vfat. I initially
tried to format the key as ext2, but grub refuses to install on it. Even
though I copied the /boot/grub/* directory into the key, and I see it is
there, grub does not see it. The problem does not happen with vfat.

So I worked around that and created two partitions in the key, a small
vfat for the /boot and a 2Gb ext2 for the /. I copied the stage3 into
the / with no problem. In the /boot I put the kernel image which I am
already using on the same box, for now with discs still connected. All
the modules are compiled in.

When I boot from the key, grub enters the shell (although I did create
the grub.conf and menu.1st, so I don't understand why it doesn't show
the menu). I manually specify the kernel file location and root
parameter:

kernel /linux-2.6.24-gentoo-r4 root=/dev/sdg1
boot

The kernel starts to load, but panics because it is unable to find the
root partition. When it stops it shows the available partitions, these
include all the hard disk partitions but no USB key partition. In fact,
if I omit the 'root' parameter from the grub shell the boot works fine
but it uses the hard disk root partition instead of the USB one.

>From the log on the screen the USB controller seems correctly detected,
so I don't understand why it is not finding the root. While writing this
one idea comes to my mind, maybe it is failing because I attach the key
to a SDC/MMC/USB card reader? This evening I'll try to plug it into a
different USB slot.

Any other ideas welcome.

raffaele


--
[email protected] mailing list

Reply via email to