[SeaBIOS] [PATCH] Enable shell-like * globing in bootorder entries
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
More information about the SeaBIOS