]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Mark DISTRO_DEFAULTS as deprecated
authorSimon Glass <sjg@chromium.org>
Thu, 14 Sep 2023 16:55:55 +0000 (10:55 -0600)
committerTom Rini <trini@konsulko.com>
Tue, 19 Sep 2023 15:36:26 +0000 (11:36 -0400)
Standard boot has been in place for a while now. Quite a few problems
have been found and fixed. It seems like a good time to mark the
script-based approach as deprecated and encourage people to use standard
boot.

Update the DISTRO_DEFAULTS Kconfig to encourage people to move to
standard boot, which is able to boot Linux distributions automatically.

Add a short migration guide to make this easier.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Tom Rini <trini@konsulko.com>
boot/Kconfig
doc/develop/bootstd.rst

index 4ebcf31091135ae9c6dc3f34c5ccb395fbf35ce6..7ef44a26fb92dfe5612a061fc51c30aeee564ac6 100644 (file)
@@ -784,7 +784,7 @@ config SYS_BOOT_RAMDISK_HIGH
 endmenu                # Boot images
 
 config DISTRO_DEFAULTS
-       bool "Select defaults suitable for booting general purpose Linux distributions"
+       bool "(deprecated) Script-based booting of Linux distributions"
        select BOOT_DEFAULTS
        select AUTO_COMPLETE
        select CMDLINE_EDITING
@@ -792,6 +792,10 @@ config DISTRO_DEFAULTS
        select HUSH_PARSER
        select SYS_LONGHELP
        help
+         Note: These scripts have been replaced by Standard Boot. Do not use
+         them on new boards. See 'Migrating from distro_boot' at
+         doc/develop/bootstd.rst
+
          Select this to enable various options and commands which are suitable
          for building u-boot for booting general purpose Linux distributions.
 
index e8b90752f0831c2e703cc07868d6dff9f10974ad..6172dc906bdebb184502a103e53d0208f3670f30 100644 (file)
@@ -464,6 +464,28 @@ ready    File was loaded and is ready for use. In this state the bootflow is
 =======  =======================================================================
 
 
+Migrating from distro_boot
+--------------------------
+
+To migrate from distro_boot:
+
+#. Update your board header files to remove the BOOTENV and BOOT_TARGET_xxx
+   defines. Standard boot finds available boot devices automatically.
+
+#. Remove the "boot_targets" variable unless you need it. Standard boot uses a
+   default order from fastest to slowest, which generally matches the order used
+   by boards.
+
+#. Make sure that CONFIG_BOOTSTD_DEFAULTS is enabled by your board, so it can
+   boot common Linux distributions.
+
+An example patch is at migrate_patch_.
+
+If you are using custom boot scripts for your board, consider creating your
+own bootmeth to hold the logic. There are various examples at
+`boot/bootmeth_...`.
+
+
 Theory of operation
 -------------------
 
@@ -775,3 +797,4 @@ Other ideas:
 .. _BootLoaderSpec: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
 .. _distro_boot: https://github.com/u-boot/u-boot/blob/master/boot/distro.c
 .. _bootflow_h: https://github.com/u-boot/u-boot/blob/master/include/bootflow.h
+.. _migrate_patch: https://patchwork.ozlabs.org/project/uboot/patch/20230727215433.578830-2-sjg@chromium.org/