Easy (or easier) way to set the boot order?
Ok as a followup to #65 I tried to check if converting my NVME disk to MBR is bootable on my machine.
Indeed it works, now I can press ESC at seabios screen and I can choose either the SATA or NVME disk.
BUT
The SATA disk is listed always first, while I wish to boot from NVME by default.
To make the matter worse, if I remove the bootable flag on the SATA disk, the machine tries to boot from SATA anyway, then obviusly fails.
So I searched in the seabios docs to se how change the boot order, and while deadly simple in principle (just add the bootorder file, with the devices order in it) the problem is that deriving the actual name, as seen by seabios, is anything but obvious).
The only way I know is via the serial debug, which is not an option in a machine w/o a serial port.
even cbmem -c from Linux doesn't work because it requires the cbmem console which, as fair i can understand, is part of coreboot, not seabios itself.
So given I'm sure mine is not a corner case, and a PC with multiple disks is a normal setup, something more obvious should be provided.
I think the problem could be solved in many ways:
-
The simplest one (from the user POV) is likely make CSMWrap remembers the last choice.
-
Provide a bios like setup to manually set the boot order (likely more complicate to implement, and probably less convenient to users)
-
Implement a replacement for cbmem console to make the debug info visible from Linux (not sure if it's complicate to implement, and useless for windows only users, but would be way better than nothing, perhaps a bootable Linux pendrive would be a quick way to get the needed info.
-
Implement a debug to file option, just like WMware does, not sure if it's difficult to implement but would be a nice option to have, useful not just for this specific issue.
-
Just print at video the device name as seen by seabios when pushing ESC. (not so convenient given the names are complicate, but still way better than nothing)
-
Make CSMwrap tries to boot from a second disk if booting from the first one fails for some reasons (i.e. no bootable partition present) , not ideal but still something.
-
Set the order of how the controllers are scanned during the compile phase, Say SCSI, SATA, NVME, USB or NVME, USB, SCSI, SATA. This wouldn't help when you have two or more disks of the same kind (say two SATA) but would solve the problem of mixed ones (which is likely the most common scenario, also two disks of the same king, usually, can be physically swapped easily)
-
Likely more options that I haven't figured.
@FlyGoat @mintsuki
What do you say?