Boot, PCIe-to- USB3.0 Add-on card, No "expansion ROM," No "

Getting your soundcard to work, using Debian on non-i386 hardware, etc

Boot, PCIe-to- USB3.0 Add-on card, No "expansion ROM," No "

Postby Ellen1910 » 2014-05-13 16:09

Beginner, here --To obtain 3.0 capability I added a USB PCIe expansion card (Renasas controller) to an older computer (MSI G41M-P25).

Everything works as it should except I can't boot from the 3.0 USB flash device attached to the card, because this computer's BIOS doesn't recognize a device attached to a PCI bus as "bootable." Note: I attached a "known bootable" 2.0 flash drive to the PCIe card, and the BIOS stopped recognizing the device as "bootable."

ASSUME the card does not include "expansion ROM" or "ROM emulation." (Likely, it was only $13)

Is there some way I can boot from a device plugged into this card?

Note: If asking for info please give me the command to get the info. As I said, I'm a beginner.
Ellen1910
 
Posts: 57
Joined: 2006-09-30 13:49

Re: Boot, PCIe-to- USB3.0 Add-on card, No "expansion ROM,"

Postby koanhead » 2014-05-14 03:19

If the BIOS can see the drive at all, then you can use the GRUB command line to boot from it. It's not easy, but it can be done.
Of course, this only works if you
    have GRUB installed on the local bootable drive (i.e. harddisk)
    have BIOS configured to boot from local bootable drive
    have GRUB configured to a long enough timeout that you can get to it's command line.

Here is some "documentation" on GRUB's commands:
https://www.gnu.org/software/grub/manua ... mands.html

Briefly, the steps are:
Code: Select all
ls
to list available devices (GRUB devicenames are different from Linux ones or those of any OS of which I'm aware (including GNU's own HURD.) I guess consistency is for n00bs, eh?
ANYWAY, GRUB device names look like (hd0,1) for example. hd0 being the first device on the bus, and 1 being a partition on that device. It will probably take some trial-and-error before you discover which one you want. When you do, you use
Code: Select all
set  root=(device,partition)
NOTE: no whitespace
to specify it. Then you can do
Code: Select all
linux /vmlinuz root=/dev/sda1
for example,
where /vmlinuz is the path of the kernel image on the device, and /dev/sda1 is the device on which the root filesystem resides. If you need to pass any other kernel parameters, you can append them to this line.
Now you're ready to:
Code: Select all
boot

Once you enter this command, the machine should boot from your specified device if you've done everything right. I tested these commands on a VM while I composed this message, so it should be more-or-less right (but I'm dumb, so there may be syntax or spelling mistakes. Caveat lector!)

If you get lost or stuck, check out the entries in the GRUB menu. You can view their contents using the 'e' (for editor) command from the GRUB menu screen.

Or, you could re-flash your BIOS. Coreboot + SeaBIOS might recognize and boot from your drive, or it might not...
User avatar
koanhead
 
Posts: 110
Joined: 2013-06-20 16:54

Re: Boot, PCIe-to- USB3.0 Add-on card, No "expansion ROM,"

Postby Ellen1910 » 2014-05-14 19:48

koanhead wrote:If the BIOS can see the drive at all


It doesn't, or to be more exact, it sees the board's controller and assigns it an IRQ, but it doesn't "see" the devices attached to the add-on board -- or alternatively, "sees" the devices but doesn't "see" them as bootable; and therefore GRUB doesn't "see" the attached devices, either.

I'm going to look at coreboot and SeaBIOS. Thanks for the heads up.

Does plop have a solution?
Ellen1910
 
Posts: 57
Joined: 2006-09-30 13:49


Return to Hardware

Who is online

Users browsing this forum: No registered users and 6 guests

fashionable