[coreboot] SeaBIOS boot order / can't boot from USB

Matt DeVillier matt.devillier at gmail.com
Sat Dec 2 19:29:42 CET 2017


yes, just enumerate all ports/hubs.  here's mine:

https://github.com/MattDevo/coreboot/blob/master/cbfs/bootorder.usb

if there's an impact on boot time its imperceptible.  What can slow things
down are connected devices which don't initialize/respond to queries within
the USB spec, but this is regardless of their presence in the bootorder file

On Sat, Dec 2, 2017 at 12:16 PM, Hal Martin <hal.martin at gmail.com> wrote:

> Hi Matt,
>
> That's a great tip, thanks for the link!
>
> Looking at the file, it seems I would just specify every USB port from the
> PCH EHCI/xHCI controllers.
>
> Do you know if this slows down boot noticeably if there are USB devices
> attached which aren't bootable (e.g. keyboard)? Or the case where there are
> potentially bootable devices (e.g. mass storage) but which lack a
> bootloader in the MBR?
>
> I'll be back with results once I've done some testing.
>
> Thanks again,
> Hal
>
> On Sat, Dec 2, 2017 at 7:08 PM, Matt DeVillier <matt.devillier at gmail.com>
> wrote:
>
>>
>> Hal,
>>
>> your USB controllers are at 14.0 and 1d.0, so your bootorder file needs
>> to enumerate all devices attached to said controllers.  I'm not sure how
>> many devices can be attached to each for IvyBridge, but here's the
>> bootorder file Google uses for reference:
>>
>> https://chromium.googlesource.com/chromiumos/third_party/sea
>> bios/+/firmware-eve-9584.B/chromeos/bootorder
>>
>> HTH,
>> Matt
>>
>> On Sat, Dec 2, 2017 at 2:09 AM, Hal Martin <hal.martin at gmail.com> wrote:
>>
>>> Hi all,
>>>
>>> I'd like to learn more about SeaBIOS boot order, but unfortunately I
>>> wasn't able to find the answer to my question on the wiki page:
>>> https://www.coreboot.org/SeaBIOS#Configuring_boot_order
>>>
>>> I would like to add a bootscript for SeaBIOS to search for USB boot
>>> devices before falling back to the hdd or PXE.
>>>
>>> If I have USB bootable media plugged in, SeaBIOS seems to immediately
>>> boot from the hdd. I'm not able to boot from USB unless I physically unplug
>>> the SATA connection.
>>>
>>> When I look at the console log in cbmem, I don't see SeaBIOS searching
>>> the USB controller at all.
>>>
>>> It's an Ivy Bridge platform.
>>>
>>> SeaBIOS log from cbmem:
>>> Searching bootorder for: /pci at i0cf8/*@1f,2/drive at 0/disk at 0
>>> Searching bootorder for: /pci at i0cf8/pci-bridge at 1c,3/*@0
>>> Press ESC for boot menu.
>>>
>>> lspci:
>>> 00:00.0 Host bridge [0600]: Intel Corporation 3rd Gen Core processor
>>> DRAM Controller [8086:0154] (rev 09)
>>> 00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen
>>> Core processor PCI Express Root Port [8086:0151] (rev 09) (prog-if 00
>>> [Normal decode])
>>> 00:01.1 PCI bridge [0604]: Intel Corporation Xeon E3-1200 v2/3rd Gen
>>> Core processor PCI Express Root Port [8086:0155] (rev 09) (prog-if 00
>>> [Normal decode])
>>> 00:02.0 VGA compatible controller [0300]: Intel Corporation 3rd Gen Core
>>> processor Graphics Controller [8086:0166] (rev 09) (prog-if 00 [VGA
>>> controller])
>>> 00:14.0 USB controller [0c03]: Intel Corporation 7 Series/C210 Series
>>> Chipset Family USB xHCI Host Controller [8086:1e31] (rev 04) (prog-if 30
>>> [XHCI])
>>> 00:19.0 Ethernet controller [0200]: Intel Corporation 82579LM Gigabit
>>> Network Connection (Lewisville) [8086:1502] (rev 04)
>>> 00:1a.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset
>>> Family USB Enhanced Host Controller #2 [8086:1e2d] (rev 04) (prog-if 20
>>> [EHCI])
>>> 00:1b.0 Audio device [0403]: Intel Corporation 7 Series/C216 Chipset
>>> Family High Definition Audio Controller [8086:1e20] (rev 04)
>>> 00:1c.0 PCI bridge [0604]: Intel Corporation 7 Series/C216 Chipset
>>> Family PCI Express Root Port 1 [8086:1e10] (rev c4) (prog-if 00 [Normal
>>> decode])
>>> 00:1c.4 PCI bridge [0604]: Intel Corporation 7 Series/C210 Series
>>> Chipset Family PCI Express Root Port 5 [8086:1e18] (rev c4) (prog-if 00
>>> [Normal decode])
>>> 00:1d.0 USB controller [0c03]: Intel Corporation 7 Series/C216 Chipset
>>> Family USB Enhanced Host Controller #1 [8086:1e26] (rev 04) (prog-if 20
>>> [EHCI])
>>> 00:1f.0 ISA bridge [0601]: Intel Corporation HM76 Express Chipset LPC
>>> Controller [8086:1e59] (rev 04)
>>> 00:1f.2 SATA controller [0106]: Intel Corporation 7 Series Chipset
>>> Family 6-port SATA Controller [AHCI mode] [8086:1e03] (rev 04) (prog-if 01
>>> [AHCI 1.0])
>>> 00:1f.3 SMBus [0c05]: Intel Corporation 7 Series/C216 Chipset Family
>>> SMBus Controller [8086:1e22] (rev 04)
>>> 00:1f.6 Signal processing controller [1180]: Intel Corporation 7
>>> Series/C210 Series Chipset Family Thermal Management Controller [8086:1e24]
>>> (rev 04)
>>>
>>> Any suggestions?
>>>
>>> Thanks,
>>> Hal
>>>
>>> --
>>> coreboot mailing list: coreboot at coreboot.org
>>> https://mail.coreboot.org/mailman/listinfo/coreboot
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20171202/58ac7f23/attachment.html>


More information about the coreboot mailing list