[SeaBIOS] [PATCH] Enable shell-like * globing in bootorder entries

Kevin O'Connor kevin at koconnor.net
Wed May 16 14:45:30 CEST 2018


On Tue, May 15, 2018 at 11:03:16PM -0400, Ian Kelling wrote:
> Kevin O'Connor <kevin at koconnor.net> writes:
> > Thanks, but I don't think this is correct.  The idea is that the user
> > will pass a bootorder list, and that SeaBIOS will see if the devices
> > it finds match that list.  So, the SeaBIOS code generates the globs,
> > and the user generates the actual device names.
> >
> > This was done that way because QEMU generates and passes a bootorder
> > list to SeaBIOS.  QEMU will generate the actual device names, but
> > SeaBIOS generally doesn't have enough information to generate the full
> > device names.  So, SeaBIOS globs the QEMU generated device names to
> > find a match.
> >
> Ahh, now it makes sense. I searched for ways to generate open firmware
> device names other than looking in seabios logs, but google gave me
> basically nothing. Do you know how this can be done under gnu/linux for
> physical (non-virtual) devices?

The easiest way I know of is to look at the seabios logs.  I don't
know of any concise open firmware naming document.

SeaBIOS is only expecting a handful of devices - you can see what it
expects by looking at src/boot.c.  The examples there are:

    // Find pci device - for example: /pci at i0cf8/ethernet at 5
    // Find scsi drive - for example: /pci at i0cf8/scsi at 5/channel at 0/disk at 1,0
    // Find ata drive - for example: /pci at i0cf8/ide at 1,1/drive at 1/disk at 0
    // Find floppy - for example: /pci at i0cf8/isa at 1/fdc at 03f1/floppy at 0
    // Find pci rom - for example: /pci at i0cf8/scsi at 3:rom2
    // Find named rom - for example: /rom at genroms/linuxboot.bin
    // Find usb - for example: /pci at i0cf8/usb at 1,2/storage at 1/channel at 0/disk at 0,0
    // Try usb-host/redir - for example: /pci at i0cf8/usb at 1,2/usb-host at 1

-Kevin



More information about the SeaBIOS mailing list