I looked at the bootindex stuff and found that when the bootindex is
specified for the disk and cdrom it generates a string like:
"/spapr-vio-bridge/spapr-vscsi/address@hidden/address@hidden,1
/spapr-vio-bridge/spapr-vscsi/address@hidden/address@hidden,0"
Now converting/translating this to OF device path is going to be
much trickier and might not be proper. So I propose a simple
solution by introducing a global flag that checks if explicit -boot
parameter is provided or not. The presence of this parameter is
verified in SLOF firmware. The flag had to be introduced as
boot_devices defaults to "cad" instead of null and passed to
machine->init().
So you want to hack around the problem. If -boot is specified what
device are you going to boot from?
It is going to boot from the device specified in -boot as
default_boot_order is set to 0 in that case.
-boot has not enough verbosity to tell the device to boot from if you
have more than one device of each type. What are you going to boot from
if you have two disks, two NICs, etc?