Aw: Re: distro_boot vs. env-based bootmenu

Jonas Karlman jonas at kwiboo.se
Sun Apr 30 19:40:44 CEST 2023


Hi Frank,

On 2023-04-30 15:25, Frank Wunderlich wrote:
> Hi
> 
> I tried to find out why distroboot is enabled (i have not set it in my defconfig) and i think this is why:
> 
>   │ Symbol: DISTRO_DEFAULTS [=y]                                            │  
>   │ Type  : bool                                                            │  
>   │ Prompt: Select defaults suitable for booting general purpose Linux dist │  
>   │   Location:                                                             │  
>   │ (3) -> Boot options                                                     │  
>   │   Defined at boot/Kconfig:833                                           │  
>   │   Selects: BOOT_DEFAULTS [=y] && AUTO_COMPLETE [=y] && CMDLINE_EDITING  │  
>   │   Implied by [y]:                                                       │  
>   │   - ARCH_ROCKCHIP [=y] && <choice> && !ROCKCHIP_RK3399 [=n]
> 
> as far as i see you've got a response from Jonas about this option and he changed Kconfig file to BOOTSTD_DEFAULTS
> 
> as i have not used BOOTSTD_DEFAULTS before, what needs to be changed to have it working?

Please update to latest master branch, rk356x is not fully working
with v2023.04 or earlier, especially BOOTSTD without extra CONFIGs.

With latest master branch CONFIG_BOOTSTD_DEFAULTS=y should be set by
default for all ARCH_ROCKCHIP. And should work very similar to if you
used to have "run distro_bootcmd" as your bootcmd.

It is still unclear what script/bootcmd you are trying to use, or if
you used to have "run distro_bootcmd" as a fallback. Replacing
"run distro_bootcmd" with "bootflow scan -lb" or "bootflow scan"
could work as such fallback option.

> 
> basicly my Plan is to script the bootup via env in script with a bootmenu (default entry + additional ones which can be 
> changed by an env.txt file), but i do not want to break existing setups (using extlinux/*.conf behaviour) and no additional
> bootmenu-entries.

The "distro" bootmeth described at the documentation you linked to will
looks for a file called extlinux/extlinux.conf.

Is there a special reason why you need to use a custom bootmenu script
and are moving from distro-boot (extlinux-config files)?

> 
> is there any documentation describing the "Standard boot"?
> 
> i found this, but it looks like the "old" distro-boot...or is is same from users PoV?
> 
> https://u-boot.readthedocs.io/en/latest/develop/bootstd.html

This is the documentation for standard boot.

I recommend you try out the commands bootdev, bootflow and bootmeth with
CONFIG_BOOTSTD_FULL=y to get a better handling on how it would work on
your device and how you can use them in your script.

Regards,
Jonas

> 
> regards Frank
> 
> 
>> On Mon, 24 Apr 2023 at 15:22, Frank Wunderlich <frank-w at public-files.de> wrote:
>>>
>>> Am 24. April 2023 21:44:25 MESZ schrieb Simon Glass <sjg at chromium.org>:
>>>> Hi Frank,
>>>>
>>>> On Fri, 21 Apr 2023 at 10:03, Frank Wunderlich <frank-w at public-files.de> wrote:
>>>>>
>>>>> Maybe you have an idea because your patch removes distro-boot
>>>>>
>>>>> https://patchwork.ozlabs.org/project/uboot/patch/20230409084454.v9.8.I4cf7708a1ba953b9abd81375d93af34665c7b251@changeid/
>>>>>
>>>>> For missing linebreak for autoboot this seems to be a calculation issue
>>>>>
>>>>> https://source.denx.de/u-boot/u-boot/-/blob/master/common/menu.c#L439
>>>>>
>>>> Are you able to fix it with a patch?
>>>
>>> Have not yet figured out which part of u-boot creates the mmc-entries on top of my bootmenu (i guess this comes from my still enabled distroboot options).
>>>
>>> For missing linebreak i guess position calculation is wrong in this case.
>>>
>>>> Or if not, do you have a patch for the 'move to env-based bootmenu' so
>>>> I can try it?
>>>
>>> I have i builtin env file (uEnv_r2pro.txt) in my tree here and add (enable pepared option) the config-option to use this env file in topmost commit.
>>>
>>> https://github.com/frank-w/u-boot/commits/2023-04-bpi-r2pro
>>>
>>> I had this in but disabled but this overrides the env created by distroboot-defines...but now enabling it to get rid of distroboot.
>>>
>>>>> -------- Ursprüngliche Nachricht --------
>>>>> Von: Frank Wunderlich <frank-w at public-files.de>
>>>>> Gesendet: 12. April 2023 11:22:23 MESZ
>>>>> An: u-boot at lists.denx.de
>>>>> Betreff: distro_boot vs. env-based bootmenu
>>>>>
>>>>> Hi,
>>>>>
>>>>> i try to move from distro-boot (extlinux-config files) to an env-based bootmenu (builtin-environment) for
>>>>> my bananapi r2pro.
>>>>>
>>>>> basicly it works, but i see more bootmenu-entries than i have defined in my environment
>>>>>
>>>>>  *** U-Boot Boot Menu ***
>>>>>
>>>>>       1. Boot from SD/EMMC.
>>>>>       mmc 1:2
>>>>>       mmc 1:3
>>>>>       mmc 1:4
>>>>>       U-Boot consoleHit any key to stop autoboot: 2
>>>>>
>>>>> i have only defined one botmenu-entry (first one in uEnv_r2pro.txt)
>>>>>
>>>>> bootmenu_0=1. Boot from SD/EMMC.=run newboot
>>>>> bootmenu_default=0
>>>>>
>>>>> i guess the 3 mmc 1:x entries are part from distro-boot. i see a series from simon where he drops
>>>>> distroboot for rockchip-boards.
>>>>>
>>>>> https://patchwork.ozlabs.org/project/uboot/patch/20230409084454.v9.8.I4cf7708a1ba953b9abd81375d93af34665c7b251@changeid/
>>>>>
>>>>> can anyone explain me where i can disable the mmc 1:x entries? i wanted to leave distro_boot as
>>>>> fallback but it seems this is not possible.
>>>>>
>>>>> maybe i have to disable these?
>>>>>
>>>>> BOOTMETH_DISTRO [=y]
>>>>> DISTRO_DEFAULTS [=y]
>>>>>
>>>>> can i keep distro-boot (seems to works with env too, but overridden by my builtin env) somehow and drop the mmc-entries from my bootmenu?
>>>>>
>>>>> any idea why i have no linebreak after u-Boot console?
>>>>>
>>>>> i use u-boot 2023.04 my source for this conversion/tests is there:
>>>>> https://github.com/frank-w/u-boot/tree/2023-04-bpi-r2pro
>>>>> using modified configs/evb-rk3568_defconfig



More information about the U-Boot mailing list