[SLOF] [PATCH] Fix ugly boot menu if devices have been specified with bootindex

Thomas Huth thuth at redhat.com
Wed Apr 5 21:21:07 AEST 2017


On 05.04.2017 10:55, Nikunj A Dadhania wrote:
> Thomas Huth <thuth at redhat.com> writes:
> 
>> On 05.04.2017 10:26, Nikunj A Dadhania wrote:
>>> Nikunj A Dadhania <nikunj at linux.vnet.ibm.com> writes:
>>>
>>>> Thomas Huth <thuth at redhat.com> writes:
>>>>
>>>>> If the user has started with some devices that have the bootindex
>>>>> parameter set, these devices show up in a very ugly way in the boot
>>>>> menu of SLOF. For example, if you start QEMU with:
>>>>>
>>>>>  qemu-system-ppc64 ... -boot menu=on -device spapr-vscsi,id=scsi0 \
>>>>>   -drive file=distro.iso,if=none,media=cdrom,readonly=on,id=img0 \
>>>>>   -device scsi-cd,drive=img0,bootindex=1
>>>>
>>>> From distant memory, I understand that "-boot" and bootindex are
>>>> mutually exclusive. bootindex was introduced to qemu to get rid of
>>>> restrictive -boot option.
>>>
>>> For example, with "-boot order=cd" if we have 2disks, there is no way to specify
>>> which one to boot from. SLOF will boot from the first disk alias.
>>>
>>> If a selection is needed: menu=on is added, and we can then press F12 to
>>> get to menu and select the second disk.
>>>
>>> While for bootindex, I can use qemu command-line(bootindex=1) or libvirt
>>> xml tag "<boot order='1'/>" for the second disk. So with bootindex,
>>> there is no need for "-boot menu=on,order=cd"
>>
>> Agreed, but it is still possible to enable the boot menu if you're also
>> using "bootindex" ...
> 
> True, unfortunately :(
> 
>> so please ignore my original patch, but I think
>> the boot menu code should also not take the devices in $bootdev into
>> account that have been specified with bootindex.
>> So likely the right solution is to simply skip all entries there that
>> are not aliases (i.e. skip the entries that start with a slash).
> 
> Yes, that should be fine.

Actually, the boot menu is also broken in another case: If you store
something in the "boot-device" environment variable, it only shows that
value. For example with

 qemu-system-ppc64 ... -boot menu=on -cdrom some.iso  \
   -prom-env boot-device=disk

the boot menu only shows "disk", and ignores the CD-ROM. Fortunately,
hardly anybody uses these environment variables with QEMU nowadays. But
still, the behavior of the boot menu looks pretty wrong here to me.

 Thomas


More information about the SLOF mailing list