From 0f3cd9e6df957caa1d677d949aa360c9e898236c Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Thu, 19 Jan 2023 12:20:34 +0100 Subject: doc: sl-mx8mm: Mention OSM 1.1 support The latest revision of the SoM is compliant to OSM 1.1. Signed-off-by: Frieder Schrempf --- doc/board/kontron/sl-mx8mm.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/board/kontron/sl-mx8mm.rst b/doc/board/kontron/sl-mx8mm.rst index f022e0979b..57143b973a 100644 --- a/doc/board/kontron/sl-mx8mm.rst +++ b/doc/board/kontron/sl-mx8mm.rst @@ -9,7 +9,7 @@ with an i.MX8M-Mini SoC, 1/2/4 GB LPDDR4 RAM, SPI NOR, eMMC and PMIC. The matching evaluation boards (Board-Line, BL) have two Ethernet ports, USB 2.0, HDMI/LVDS, SD card, CAN, RS485, RS232 and much more. -The OSM-S i.MX8MM is compliant to the Open Standard Module (OSM) 1.0 +The OSM-S i.MX8MM is compliant to the Open Standard Module (OSM) 1.1 specification, size S (https://sget.org/standards/osm). Quick Start -- cgit v1.2.3 From 4a30efa264d82e1c3c33e96a5440acd6bb604058 Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Thu, 19 Jan 2023 12:20:35 +0100 Subject: doc: sl-mx8mm: Add note about using cross toolchain This clarifies the usage of a cross toolchain to build U-Boot and TF-A. Signed-off-by: Frieder Schrempf --- doc/board/kontron/sl-mx8mm.rst | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/board/kontron/sl-mx8mm.rst b/doc/board/kontron/sl-mx8mm.rst index 57143b973a..ff6f01d3b7 100644 --- a/doc/board/kontron/sl-mx8mm.rst +++ b/doc/board/kontron/sl-mx8mm.rst @@ -20,6 +20,12 @@ Quick Start - Build U-Boot - Boot +.. note:: + + To build on a x86-64 host machine, you need a GNU cross toolchain for the + target architecture (aarch64). Check your distros package manager or + download and install the necessary tools (``aarch64-linux-gnu-*``) manually. + Get and Build the Trusted Firmware-A (TF-A) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- cgit v1.2.3 From a93985ddfcc3bab7cd066a9452453384e3398ae3 Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Thu, 19 Jan 2023 12:20:36 +0100 Subject: doc: sl-mx8mm: Update the NXP TF-A source reference Use the latest version of the NXP TF-A code and add a note about quirks with GCC 12. Signed-off-by: Frieder Schrempf Convert Note: to ..note:: Signed-off-by: Heinrich Schuchardt --- doc/board/kontron/sl-mx8mm.rst | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/board/kontron/sl-mx8mm.rst b/doc/board/kontron/sl-mx8mm.rst index ff6f01d3b7..aa3ca0885e 100644 --- a/doc/board/kontron/sl-mx8mm.rst +++ b/doc/board/kontron/sl-mx8mm.rst @@ -29,22 +29,29 @@ Quick Start Get and Build the Trusted Firmware-A (TF-A) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Note: builddir is U-Boot build directory (source directory for in-tree builds) - There are two sources for the TF-A. Mainline and NXP. Get the one you prefer (support and features might differ). +.. note:: + + If you are using GCC 12 and you get compiler/linker errors, try to add the + following arguments to your make command as workaround: + ``CFLAGS="-Wno-array-bounds" LDFLAGS="--no-warn-rwx-segments"`` + **NXP's imx-atf** -1. Get TF-A from: https://source.codeaurora.org/external/imx/imx-atf, branch: imx_5.4.70_2.3.0 -2. Apply the patch to select the correct UART for the console, otherwise the TF-A will lock up during boot. -3. Build +1. Get TF-A from: https://github.com/nxp-imx/imx-atf, branch: lf_v2.6 +2. Build .. code-block:: bash - $ make PLAT=imx8mm bl31 + $ make PLAT=imx8mm CROSS_COMPILE=aarch64-linux-gnu- IMX_BOOT_UART_BASE="0x30880000" bl31 $ cp build/imx8mm/release/bl31.bin $(builddir) +.. note:: + + *builddir* is U-Boot's build directory (source directory for in-tree builds) + **Mainline TF-A** 1. Get TF-A from: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/, tag: v2.4 -- cgit v1.2.3 From 5800fb8c7ad895fd1220288e4f0772d280d3f4d1 Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Thu, 19 Jan 2023 12:20:37 +0100 Subject: doc: sl-mx8mm: Update references to latest DDR firmware 8.18 Use the latest firmware available from NXP. Signed-off-by: Frieder Schrempf --- doc/board/kontron/sl-mx8mm.rst | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/board/kontron/sl-mx8mm.rst b/doc/board/kontron/sl-mx8mm.rst index aa3ca0885e..b3e21d8538 100644 --- a/doc/board/kontron/sl-mx8mm.rst +++ b/doc/board/kontron/sl-mx8mm.rst @@ -67,10 +67,13 @@ Get the DDR firmware .. code-block:: bash - $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin - $ chmod +x firmware-imx-8.9.bin - $ ./firmware-imx-8.9.bin - $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir) + $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.18.bin + $ chmod +x firmware-imx-8.18.bin + $ ./firmware-imx-8.18.bin + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_1d_imem.bin $(builddir) + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_1d_dmem.bin $(builddir) + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_2d_imem.bin $(builddir) + $ cp firmware-imx-8.18/firmware/ddr/synopsys/lpddr4_pmu_train_2d_dmem.bin $(builddir) Build U-Boot ^^^^^^^^^^^^ -- cgit v1.2.3 From 888ff2eae7417c6fbc1521332836cbebb66d2af1 Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Thu, 19 Jan 2023 12:20:38 +0100 Subject: doc: sl-mx8mm: Add guide for copying the bootloader to SPI NOR This adds a guide for copying the raw bootloader image on the SD card to the SPI NOR using U-Boot itself. Signed-off-by: Frieder Schrempf --- doc/board/kontron/sl-mx8mm.rst | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/board/kontron/sl-mx8mm.rst b/doc/board/kontron/sl-mx8mm.rst index b3e21d8538..8b29cbba67 100644 --- a/doc/board/kontron/sl-mx8mm.rst +++ b/doc/board/kontron/sl-mx8mm.rst @@ -92,7 +92,39 @@ Burn the flash.bin to SD card at an offset of 33 KiB: Boot ^^^^ -Put the SD card in the slot on the board and apply power. +Put the SD card in the slot on the board and apply power. Check the serial +console for output. + +Flash the Bootloader to SPI NOR +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. Determine and note the exact size of the ``flash.bin`` image in bytes (e.g. + by running ``ls -l flash.bin``) + +2. On the U-Boot CLI copy the bootloader from SD card to RAM: + + .. code-block:: + + mmc dev 1 + mmc read $loadaddr 0x42 0x1000 + +3. Erase the SPI NOR flash: + + .. code-block:: + + sf probe + sf erase 0x0 0x200000 + +4. Copy the bootloader from RAM to SPI NOR. For the last parameter of the + command, use the size determined in step 1 in **hexadecimal notation**: + + .. code-block:: + + sf write $loadaddr 0x400 0x13B6F0 + +.. note:: + + To be able to boot from SPI NOR the OTP fuses need to be set accordingly. Further Information ------------------- -- cgit v1.2.3 From 1402f1dcee07bd87953f247cd61d1ebc00ae2d1f Mon Sep 17 00:00:00 2001 From: Frieder Schrempf Date: Thu, 19 Jan 2023 12:20:39 +0100 Subject: doc: sl-mx8mm: Add CROSS_COMPILE to U-Boot make call and improve comment Add the CROSS_COMPILE flag as we assume we build in a cross environment. Also improve the comment about copying the binary to SD card. Signed-off-by: Frieder Schrempf --- doc/board/kontron/sl-mx8mm.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/board/kontron/sl-mx8mm.rst b/doc/board/kontron/sl-mx8mm.rst index 8b29cbba67..702db60fe3 100644 --- a/doc/board/kontron/sl-mx8mm.rst +++ b/doc/board/kontron/sl-mx8mm.rst @@ -81,9 +81,9 @@ Build U-Boot .. code-block:: bash $ make kontron-sl-mx8mm_defconfig - $ make + $ make CROSS_COMPILE=aarch64-linux-gnu- -Burn the flash.bin to SD card at an offset of 33 KiB: +Copy the flash.bin to SD card at an offset of 33 KiB: .. code-block:: bash -- cgit v1.2.3 From d67811aa9a7d85793e73bead898f30139265c3c2 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 20 Jan 2023 14:46:05 -0700 Subject: event: Document dynamic event handlers Add mention of this feature in the event documentation. Signed-off-by: Simon Glass --- doc/develop/event.rst | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'doc') diff --git a/doc/develop/event.rst b/doc/develop/event.rst index 6951ec97e7..4ff5934837 100644 --- a/doc/develop/event.rst +++ b/doc/develop/event.rst @@ -64,3 +64,26 @@ in an image, use $(CROSS_COMPILE)nm:: nm u-boot |grep evspy |grep list 00000000002d6300 D _u_boot_list_2_evspy_info_2_EVT_MISC_INIT_F + +Logging is also available. Events use category `LOGC_EVENT`, so you can enable +logging on that, or add `#define LOG_DEBUG` to the top of `common/event.c` to +see events being sent. + + +Dynamic events +-------------- + +Static events provide a way of dealing with events known at build time. In some +cases we want to attach an event handler at runtime. For example, we may wish +to be notified when a particular device is probed or removed. + +This can be handled by enabling `CONFIG_EVENT_DYNAMIC`. It is then possible to +call `event_register()` to register a new handler for a particular event. + +Dynamic event handlers are called after all the static event spy handlers have +been processed. Of course, since dynamic event handlers are created at runtime +it is not possible to use the `event_dump.py` to see them. + +At present there is no way to list dynamic event handlers from the command line, +nor to deregister a dynamic event handler. These features can be added when +needed. -- cgit v1.2.3 From d485d1237b1d503753f039893179753817708553 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 21 Jan 2023 10:25:04 +0100 Subject: doc: example heading should be h2 The 'Example' heading should be on a lower level than 'bdinfo command'. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- doc/usage/cmd/bdinfo.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/usage/cmd/bdinfo.rst b/doc/usage/cmd/bdinfo.rst index 6b3cde2ccb..b287d0ff73 100644 --- a/doc/usage/cmd/bdinfo.rst +++ b/doc/usage/cmd/bdinfo.rst @@ -17,7 +17,7 @@ Description The *bdinfo* command prints information about the board. Example -======= +------- :: -- cgit v1.2.3 From d530add2eff7a1ee2bf3dd596f3ca10341bb470e Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 21 Jan 2023 16:24:03 +0100 Subject: doc: sleep man-page Provide a man-page for the sleep command. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- doc/usage/cmd/sleep.rst | 45 +++++++++++++++++++++++++++++++++++++++++++++ doc/usage/index.rst | 1 + 2 files changed, 46 insertions(+) create mode 100644 doc/usage/cmd/sleep.rst (limited to 'doc') diff --git a/doc/usage/cmd/sleep.rst b/doc/usage/cmd/sleep.rst new file mode 100644 index 0000000000..d19e5b3af8 --- /dev/null +++ b/doc/usage/cmd/sleep.rst @@ -0,0 +1,45 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. Copyright 2023, Heinrich Schuchardt + +sleep command +============= + +Synopsis +-------- + +:: + + sleep + +Description +----------- + +The *sleep* command waits for *delay* seconds. It can be interrupted by +CTRL+C. + +delay + delay in seconds. The value is decimal and can be fractional. + +Example +------- + +The current data and time is display before and after sleeping for 3.2 +seconds: + +:: + + => date; sleep 3.2; date + Date: 2023-01-21 (Saturday) Time: 16:02:41 + Date: 2023-01-21 (Saturday) Time: 16:02:44 + => + +Configuration +------------- + +The command is only available if CONFIG_CMD_SLEEP=y. + +Return value +------------ + +The return value $? is 0 (true) if the command completes. +The return value is 1 (false) if the command is interrupted by CTRL+C. diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 7d4a1cbc10..72c15ca17a 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -76,6 +76,7 @@ Shell commands cmd/scp03 cmd/setexpr cmd/size + cmd/sleep cmd/sound cmd/source cmd/temperature -- cgit v1.2.3 From f4ece689dbc4dc8f07122e1420969b9db1d219d5 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sat, 21 Jan 2023 17:18:14 +0100 Subject: doc: update font man-page * add return values * move configuration to separate section to match other man-pages * fix typo Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- doc/usage/cmd/font.rst | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/usage/cmd/font.rst b/doc/usage/cmd/font.rst index 6fb0823270..8ba149d759 100644 --- a/doc/usage/cmd/font.rst +++ b/doc/usage/cmd/font.rst @@ -12,33 +12,27 @@ Synopis font select [] font size - Description ----------- The *font* command allows selection of the font to use on the video console. -This is available when the Truetype console is in use. This is the case when -`CONFIG_CONSOLE_TRUETYPE` is enabled. - +This is available when the TrueType console is in use. font list ~~~~~~~~~ This lists the available fonts, using the name of the font file in the build. - font select ~~~~~~~~~~~ This selects a new font and optionally changes the size. - font size ~~~~~~~~~ This changes the font size only. - Examples -------- @@ -50,3 +44,14 @@ Examples => font size 40 => font select cantoraone_regular 20 => + +Configuration +------------- + +The command is only available if CONFIG_CONSOLE_TRUETYPE=y. + +Return value +------------ + +The return value $? is 0 (true) if the command completes. +The return value is 1 (false) if the command fails. -- cgit v1.2.3 From a13b92ae6f1065b189a67ec354908fb21088b8ac Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Sun, 22 Jan 2023 11:27:10 +0100 Subject: doc: rework doc/mkeficapsule.1 * Indicate the location of the directory for EFI capsules. * Improve the readability. Signed-off-by: Heinrich Schuchardt --- doc/mkeficapsule.1 | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/mkeficapsule.1 b/doc/mkeficapsule.1 index 6fb2dd0810..1ca245a10f 100644 --- a/doc/mkeficapsule.1 +++ b/doc/mkeficapsule.1 @@ -11,22 +11,23 @@ mkeficapsule \- Generate EFI capsule file for U-Boot .RI [ options ] " " [ image-blob ] " " capsule-file .SH "DESCRIPTION" +The .B mkeficapsule -command is used to create an EFI capsule file for use with the U-Boot -EFI capsule update. -A capsule file may contain various type of firmware blobs which -are to be applied to the system and must be placed in the specific -directory on the UEFI system partition. -An update will be automatically executed at next reboot. +command is used to create an EFI capsule file to be used by U-Boot for firmware +updates. +A capsule file may contain various types of firmware blobs which are to be +applied to the system. +If a capsule file is placed in the /EFI/CapusuleUpdate directory of the EFI +system partition, U-Boot will try to execute the update at the next reboot. Optionally, a capsule file can be signed with a given private key. In this case, the update will be authenticated by verifying the signature before applying. -Additionally, an empty capsule file can be generated for acceptance or -rejection of firmware images by a governing component like an Operating -System. The empty capsules do not require an image-blob input file. - +Additionally, an empty capsule file can be generated to indicate the acceptance +or rejection of firmware images by a governing component like an operating +system. +Empty capsules do not require an image-blob input file. .B mkeficapsule takes any type of image files when generating non empty capsules, including: -- cgit v1.2.3 From e1f0fd525fb1b635e64661de1321bf968ad80e91 Mon Sep 17 00:00:00 2001 From: Patrick Delaunay Date: Tue, 24 Jan 2023 10:16:02 +0100 Subject: doc: add rst references to distro documentation in stm32mp1 board Use internal rst reference with :doc: to have a link to distro.rst page in the generated U-Boot documentation. Signed-off-by: Patrick Delaunay Reviewed-by: Patrice Chotard --- doc/board/st/stm32mp1.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/board/st/stm32mp1.rst b/doc/board/st/stm32mp1.rst index 3f70634d28..c0b1daa041 100644 --- a/doc/board/st/stm32mp1.rst +++ b/doc/board/st/stm32mp1.rst @@ -478,7 +478,8 @@ or: +-------+--------+---------+------------------------+------------------------+ And the 4th partition (Rootfs) is marked bootable with a file extlinux.conf -following the Generic Distribution feature (doc/develop/distro.rst for use). +following the Generic Distribution feature (see :doc:`../../develop/distro` for +use). The size of fip or ssbl partition must be enough for the associated binary file, 4MB and 2MB are default values. -- cgit v1.2.3 From 7d489128dc3721a168fd356e7accc62453e0d3e6 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Thu, 26 Jan 2023 19:40:35 +0100 Subject: doc: man-page for mtest Provide a man-page for the mtest command. Signed-off-by: Heinrich Schuchardt --- doc/usage/cmd/mtest.rst | 66 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/usage/index.rst | 1 + 2 files changed, 67 insertions(+) create mode 100644 doc/usage/cmd/mtest.rst (limited to 'doc') diff --git a/doc/usage/cmd/mtest.rst b/doc/usage/cmd/mtest.rst new file mode 100644 index 0000000000..81d1f8fd1b --- /dev/null +++ b/doc/usage/cmd/mtest.rst @@ -0,0 +1,66 @@ +.. SPDX-License-Identifier: GPL-2.0+ +.. Copyright 2022, Heinrich Schuchardt + +mtest command +============= + +Synopsis +-------- + +:: + + mtest [start [end [pattern [iterations]]]] + +Description +----------- + +The *mtest* command tests the random access memory. It writes long values, reads +them back and checks for differences. The test can be interrupted with CTRL+C. + +The default test uses *pattern* as first value to be written and varies it +between memory addresses. + +An alternative test can be selected with CONFIG_SYS_ALT_MEMTEST=y. It uses +multiple hard coded bit patterns. + +With CONFIGSYS_ALT_MEMTEST_BITFLIP=y a further test is executed. It writes long +values offset by half the size of long and checks if writing to the one address +causes bit flips at the other address. + +start + start address of the memory range tested, defaults to + CONFIG_SYS_MEMTEST_START + +end + end address of the memory range tested, defaults to + CONFIG_SYS_MEMTEST_END. If CONFIGSYS_ALT_MEMTEST_BITFLIP=y, a value will + be written to this address. Otherwise it is excluded from the range. + +pattern + pattern to be written to memory. This is a 64bit value on 64bit systems + and a 32bit value on 32bit systems. It defaults to 0. The value is + ignored if CONFIG_SYS_ALT_MEMTEST=y. + +iterations + number of test repetitions. If the value is not provided the test will + not terminate automatically. Enter CTRL+C instead. + +Examples +-------- + +:: + + => mtest 1000 2000 0x55aa55aa55aa55aa 10 + Testing 00001000 ... 00002000: + Pattern AA55AA55AA55AA55 Writing... Reading... + Tested 16 iteration(s) with 0 errors. + +Configuration +------------- + +The mtest command is enabled by CONFIG_CMD_MEMTEST=y. + +Return value +------------ + +The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise. diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 72c15ca17a..2c95471f45 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -63,6 +63,7 @@ Shell commands cmd/mbr cmd/md cmd/mmc + cmd/mtest cmd/part cmd/pause cmd/pinmux -- cgit v1.2.3 From 2042365acf0e4620b97a9e519430376d15e95d27 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Wed, 25 Jan 2023 19:15:00 +0100 Subject: doc: move 'Reproducible builds' Move the README section to the HTML documentation. Signed-off-by: Heinrich Schuchardt Reviewed-by: Tom Rini Reviewed-by: Simon Glass --- README | 11 ----------- doc/build/index.rst | 1 + doc/build/reproducible.rst | 25 +++++++++++++++++++++++++ 3 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 doc/build/reproducible.rst (limited to 'doc') diff --git a/README b/README index a969fc7a97..48db535556 100644 --- a/README +++ b/README @@ -1713,17 +1713,6 @@ This firmware often needs to be loaded during U-Boot booting. - CONFIG_SYS_MC_RSV_MEM_ALIGN Define alignment of reserved memory MC requires -Reproducible builds -------------------- - -In order to achieve reproducible builds, timestamps used in the U-Boot build -process have to be set to a fixed value. - -This is done using the SOURCE_DATE_EPOCH environment variable. -SOURCE_DATE_EPOCH is to be set on the build host's shell, not as a configuration -option for U-Boot or an environment variable in U-Boot. - -SOURCE_DATE_EPOCH should be set to a number of seconds since the epoch, in UTC. Building the Software: ====================== diff --git a/doc/build/index.rst b/doc/build/index.rst index dc9cde4001..64e66491bd 100644 --- a/doc/build/index.rst +++ b/doc/build/index.rst @@ -9,6 +9,7 @@ Build U-Boot source gcc clang + reproducible docker tools buildman diff --git a/doc/build/reproducible.rst b/doc/build/reproducible.rst new file mode 100644 index 0000000000..5423080633 --- /dev/null +++ b/doc/build/reproducible.rst @@ -0,0 +1,25 @@ +Reproducible builds +=================== + +In order to achieve reproducible builds, timestamps used in the U-Boot build +process have to be set to a fixed value. + +This is done using the SOURCE_DATE_EPOCH environment variable which specifies +the number of seconds since 1970-01-01T00:00:00Z. + +Example +------- + +To build the sandbox with 2023-01-01T00:00:00Z as timestamp we can use: + +.. code-block:: bash + + make sandbox_defconfig + SOURCE_DATE_EPOCH=1672531200 make + +This date is shown when we launch U-Boot: + +.. code-block:: console + + ./u-boot -T + U-Boot 2023.01 (Jan 01 2023 - 00:00:00 +0000) -- cgit v1.2.3 From c85ee98efa8b18f151c57908884a29136812af2c Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Wed, 25 Jan 2023 19:15:02 +0100 Subject: doc: move directory hierarchy to HTML Move section 'Directory hierarchy' from file README to the HTML documentation. Signed-off-by: Heinrich Schuchardt Reviewed-by: Tom Rini Reviewed-by: Simon Glass --- README | 38 ----------------------- doc/develop/directories.rst | 76 +++++++++++++++++++++++++++++++++++++++++++++ doc/develop/index.rst | 1 + 3 files changed, 77 insertions(+), 38 deletions(-) create mode 100644 doc/develop/directories.rst (limited to 'doc') diff --git a/README b/README index 5437a1bdc2..8b395356dc 100644 --- a/README +++ b/README @@ -105,44 +105,6 @@ the string "u_boot" or on "U_BOOT". Example: IH_OS_U_BOOT u_boot_hush_start -Directory Hierarchy: -==================== - -/arch Architecture-specific files - /arc Files generic to ARC architecture - /arm Files generic to ARM architecture - /m68k Files generic to m68k architecture - /microblaze Files generic to microblaze architecture - /mips Files generic to MIPS architecture - /nios2 Files generic to Altera NIOS2 architecture - /powerpc Files generic to PowerPC architecture - /riscv Files generic to RISC-V architecture - /sandbox Files generic to HW-independent "sandbox" - /sh Files generic to SH architecture - /x86 Files generic to x86 architecture - /xtensa Files generic to Xtensa architecture -/api Machine/arch-independent API for external apps -/board Board-dependent files -/boot Support for images and booting -/cmd U-Boot commands functions -/common Misc architecture-independent functions -/configs Board default configuration files -/disk Code for disk drive partition handling -/doc Documentation (a mix of ReST and READMEs) -/drivers Device drivers -/dts Makefile for building internal U-Boot fdt. -/env Environment support -/examples Example code for standalone applications, etc. -/fs Filesystem code (cramfs, ext2, jffs2, etc.) -/include Header Files -/lib Library routines generic to all architectures -/Licenses Various license files -/net Networking code -/post Power On Self Test -/scripts Various build scripts and Makefiles -/test Various unit test files -/tools Tools to build and sign FIT images, etc. - Software Configuration: ======================= diff --git a/doc/develop/directories.rst b/doc/develop/directories.rst new file mode 100644 index 0000000000..112b5655f6 --- /dev/null +++ b/doc/develop/directories.rst @@ -0,0 +1,76 @@ +Directory hierarchy +=================== + +.. list-table:: + :header-rows: 1 + + * - Directory path + - Usage + * - /arch + - Architecture-specific files + * - /arch/arc + - Files relating to ARC architecture + * - /arch/arm + - Files relating to ARM architecture + * - /arch/m68k + - Files relating to m68k architecture + * - /arch/microblaze + - Files relating to microblaze architecture + * - /arch/mips + - Files relating to MIPS architecture + * - /arch/nios2 + - Files relating to Altera NIOS2 architecture + * - /arch/powerpc + - Files relating to PowerPC architecture + * - /arch/riscv + - Files relating to RISC-V architecture + * - /arch/sandbox + - Files relating to HW-independent "sandbox" + * - /arch/sh + - Files relating to SH architecture + * - /arch/x86 + - Files relating to x86 architecture + * - /arch/xtensa + - Files relating to Xtensa architecture + * - /api + - Machine/arch-independent API for external apps + * - /board + - Board-dependent files + * - /boot + - Support for images and booting + * - /cmd + - U-Boot commands functions + * - /common + - Misc architecture-independent functions + * - /configs + - Board default configuration files + * - /disk + - Code for disk drive partition handling + * - /doc + - Documentation (a mix of ReST and READMEs) + * - /drivers + - Device drivers + * - /dts + - Makefile for building internal U-Boot fdt. + * - /env + - Environment support + * - /examples + - Example code for standalone applications, etc. + * - /fs + - Filesystem code (cramfs, ext2, jffs2, etc.) + * - /include + - Header Files + * - /lib + - Library routines relating to all architectures + * - /Licenses + - Various license files + * - /net + - Networking code + * - /post + - Power On Self Test + * - /scripts + - Various build scripts and Makefiles + * - /test + - Various unit test files + * - /tools + - Tools to build and sign FIT images, etc. diff --git a/doc/develop/index.rst b/doc/develop/index.rst index 79d7736b13..a52ad630d0 100644 --- a/doc/develop/index.rst +++ b/doc/develop/index.rst @@ -24,6 +24,7 @@ Implementation .. toctree:: :maxdepth: 1 + directories bloblist bootstd ci_testing -- cgit v1.2.3