[U-Boot] [PATCH] distro: add more efi dtb prefixes

As used on some distro, such as openSUSE. Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr
Cc: Tom Rini trini@konsulko.com --- include/config_distro_bootcmd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index d672e8ebe6..ad4c7a78f1 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -141,7 +141,8 @@ "load ${devtype} ${devnum}:${distro_bootpart} " \ "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ \ - "efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \ + "efi_dtb_prefixes=/ /dtb/ /dtb/current/ " \ + "/boot/ /boot/dtb/ /boot/dtb/current/\0" \ "scan_dev_for_efi=" \ "setenv efi_fdtfile ${fdtfile}; " \ BOOTENV_EFI_SET_FDTFILE_FALLBACK \

On 06/14/2018 10:46 PM, Guillaume GARDET wrote:
As used on some distro, such as openSUSE. Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr
Cc: Tom Rini trini@konsulko.com
include/config_distro_bootcmd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index d672e8ebe6..ad4c7a78f1 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -141,7 +141,8 @@ "load ${devtype} ${devnum}:${distro_bootpart} " \ "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/ " \
"/boot/ /boot/dtb/ /boot/dtb/current/\0" \
I prefer programming against standards and not against whatever is out in the wild.
Could you, please, indicate according to which standard you think that the dtb should be found in directory /boot/dtb of the EFI partition.
Best regards
Heinrich
"scan_dev_for_efi=" \ "setenv efi_fdtfile ${fdtfile}; " \ BOOTENV_EFI_SET_FDTFILE_FALLBACK \

On 16.07.18 20:06, Heinrich Schuchardt wrote:
On 06/14/2018 10:46 PM, Guillaume GARDET wrote:
As used on some distro, such as openSUSE. Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr
Cc: Tom Rini trini@konsulko.com
include/config_distro_bootcmd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index d672e8ebe6..ad4c7a78f1 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -141,7 +141,8 @@ "load ${devtype} ${devnum}:${distro_bootpart} " \ "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/ " \
"/boot/ /boot/dtb/ /boot/dtb/current/\0" \
I prefer programming against standards and not against whatever is out in the wild.
Could you, please, indicate according to which standard you think that the dtb should be found in directory /boot/dtb of the EFI partition.
In openSUSE we have 2 hacks:
1) Search for the DTB on the second partition always, not the active one
2) Search for the DTB in additional paths (this patch)
The reason being that we do not want to copy the DTB to the EFI boot partition, but instead just provide it in an easily accessible /boot/dtb directory on the root partition that gets updated by RPM.
Now, I personally think that this is a pretty distro specific hack. I am not sure how much more of a hack it is than searching for a DTB file at all though :).
So I'm personally not terribly opposed to pulling this in upstream. /boot/dtb is as little standardized as /dtb/ or /dtb/current/ is.
Alex

On 12/2/18 10:47 PM, Alexander Graf wrote:
On 16.07.18 20:06, Heinrich Schuchardt wrote:
On 06/14/2018 10:46 PM, Guillaume GARDET wrote:
As used on some distro, such as openSUSE. Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr
Cc: Tom Rini trini@konsulko.com
include/config_distro_bootcmd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index d672e8ebe6..ad4c7a78f1 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -141,7 +141,8 @@ "load ${devtype} ${devnum}:${distro_bootpart} " \ "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/ " \
"/boot/ /boot/dtb/ /boot/dtb/current/\0" \
I prefer programming against standards and not against whatever is out in the wild.
Could you, please, indicate according to which standard you think that the dtb should be found in directory /boot/dtb of the EFI partition.
In openSUSE we have 2 hacks:
Search for the DTB on the second partition always, not the active one
Search for the DTB in additional paths (this patch)
The reason being that we do not want to copy the DTB to the EFI boot partition, but instead just provide it in an easily accessible /boot/dtb directory on the root partition that gets updated by RPM.
Now, I personally think that this is a pretty distro specific hack. I am not sure how much more of a hack it is than searching for a DTB file at all though :).
So I'm personally not terribly opposed to pulling this in upstream. /boot/dtb is as little standardized as /dtb/ or /dtb/current/ is.
Alex
Adding more and more paths slows down the boot process. So this should be avoided.
Isn't boot.scr meant to do the distribution specific stuff?
I think it is sufficient to find the boot.scr file and let it do its job. Ubuntu and Debian are already working like this. Does Suse not have the capability to install a boot.scr?
Best regards
Heinrich

On 02.12.18 23:07, Heinrich Schuchardt wrote:
On 12/2/18 10:47 PM, Alexander Graf wrote:
On 16.07.18 20:06, Heinrich Schuchardt wrote:
On 06/14/2018 10:46 PM, Guillaume GARDET wrote:
As used on some distro, such as openSUSE. Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr
Cc: Tom Rini trini@konsulko.com
include/config_distro_bootcmd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index d672e8ebe6..ad4c7a78f1 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -141,7 +141,8 @@ "load ${devtype} ${devnum}:${distro_bootpart} " \ "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/ " \
"/boot/ /boot/dtb/ /boot/dtb/current/\0" \
I prefer programming against standards and not against whatever is out in the wild.
Could you, please, indicate according to which standard you think that the dtb should be found in directory /boot/dtb of the EFI partition.
In openSUSE we have 2 hacks:
Search for the DTB on the second partition always, not the active one
Search for the DTB in additional paths (this patch)
The reason being that we do not want to copy the DTB to the EFI boot partition, but instead just provide it in an easily accessible /boot/dtb directory on the root partition that gets updated by RPM.
Now, I personally think that this is a pretty distro specific hack. I am not sure how much more of a hack it is than searching for a DTB file at all though :).
So I'm personally not terribly opposed to pulling this in upstream. /boot/dtb is as little standardized as /dtb/ or /dtb/current/ is.
Alex
Adding more and more paths slows down the boot process. So this should be avoided.
Isn't boot.scr meant to do the distribution specific stuff?
I think it is sufficient to find the boot.scr file and let it do its job. Ubuntu and Debian are already working like this. Does Suse not have the capability to install a boot.scr?
We try not to, since I really don't want to get into the boot.scr business again. I also ideally don't want to load any DT at all from the kernel - in my opinion U-Boot should just provide an up-to-date one and we're all happy.
So yes, I'm perfectly fine with leaving that in the openSUSE tree too.
I want to make sure all that kernel DT nonsense does a slow death anyway :).
Alex

On Sun, Dec 2, 2018 at 10:26 PM Alexander Graf agraf@suse.de wrote:
On 02.12.18 23:07, Heinrich Schuchardt wrote:
On 12/2/18 10:47 PM, Alexander Graf wrote:
On 16.07.18 20:06, Heinrich Schuchardt wrote:
On 06/14/2018 10:46 PM, Guillaume GARDET wrote:
As used on some distro, such as openSUSE. Signed-off-by: Guillaume GARDET guillaume.gardet@free.fr
Cc: Tom Rini trini@konsulko.com
include/config_distro_bootcmd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/config_distro_bootcmd.h b/include/config_distro_bootcmd.h index d672e8ebe6..ad4c7a78f1 100644 --- a/include/config_distro_bootcmd.h +++ b/include/config_distro_bootcmd.h @@ -141,7 +141,8 @@ "load ${devtype} ${devnum}:${distro_bootpart} " \ "${fdt_addr_r} ${prefix}${efi_fdtfile}\0" \ \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/\0" \
- "efi_dtb_prefixes=/ /dtb/ /dtb/current/ " \
"/boot/ /boot/dtb/ /boot/dtb/current/\0" \
I prefer programming against standards and not against whatever is out in the wild.
Could you, please, indicate according to which standard you think that the dtb should be found in directory /boot/dtb of the EFI partition.
In openSUSE we have 2 hacks:
Search for the DTB on the second partition always, not the active one
Search for the DTB in additional paths (this patch)
The reason being that we do not want to copy the DTB to the EFI boot partition, but instead just provide it in an easily accessible /boot/dtb directory on the root partition that gets updated by RPM.
Now, I personally think that this is a pretty distro specific hack. I am not sure how much more of a hack it is than searching for a DTB file at all though :).
So I'm personally not terribly opposed to pulling this in upstream. /boot/dtb is as little standardized as /dtb/ or /dtb/current/ is.
Alex
Adding more and more paths slows down the boot process. So this should be avoided.
Isn't boot.scr meant to do the distribution specific stuff?
I think it is sufficient to find the boot.scr file and let it do its job. Ubuntu and Debian are already working like this. Does Suse not have the capability to install a boot.scr?
We try not to, since I really don't want to get into the boot.scr business again. I also ideally don't want to load any DT at all from the kernel - in my opinion U-Boot should just provide an up-to-date one and we're all happy.
Fedora is the same, we don't do anything with boot.scr and don't have any urge to do so. Actually with the UEFI stuff we basically ignore U-Boot as a whole and expect there to be UEFI. Basically the firmware works out the DT needed, whether that's by providing one itself or finding one on the filesystem to pass to the kernel isn't something we really deal with at all in the Linux boot process.
So yes, I'm perfectly fine with leaving that in the openSUSE tree too.
I want to make sure all that kernel DT nonsense does a slow death anyway :).
Alex _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
participants (4)
-
Alexander Graf
-
Guillaume GARDET
-
Heinrich Schuchardt
-
Peter Robinson