mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
Merge branch 'master' into next
Merge in v2020.10-rc5
This commit is contained in:
@@ -80,3 +80,13 @@ can be enabled with the following command line parameters:
|
||||
-drive if=none,file=disk.img,id=mydisk -device nvme,drive=mydisk,serial=foo
|
||||
|
||||
These have been tested in QEMU 2.9.0 but should work in at least 2.5.0 as well.
|
||||
|
||||
Debug UART
|
||||
----------
|
||||
|
||||
The debug UART on the ARM virt board uses these settings::
|
||||
|
||||
CONFIG_DEBUG_UART=y
|
||||
CONFIG_DEBUG_UART_PL010=y
|
||||
CONFIG_DEBUG_UART_BASE=0x9000000
|
||||
CONFIG_DEBUG_UART_CLOCK=0
|
||||
|
||||
@@ -51,7 +51,7 @@ Build U-Boot
|
||||
------------
|
||||
.. code-block:: bash
|
||||
|
||||
$ make apalis-imx8qm_defconfig
|
||||
$ make apalis-imx8_defconfig
|
||||
$ make u-boot-dtb.imx
|
||||
|
||||
Load the U-Boot Binary Using UUU
|
||||
|
||||
@@ -52,7 +52,7 @@ Build U-Boot
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ make colibri-imx8qxp_defconfig
|
||||
$ make colibri-imx8x_defconfig
|
||||
$ make u-boot-dtb.imx
|
||||
|
||||
Load the U-Boot Binary Using UUU
|
||||
|
||||
119
doc/build/gcc.rst
vendored
Normal file
119
doc/build/gcc.rst
vendored
Normal file
@@ -0,0 +1,119 @@
|
||||
Building with GCC
|
||||
=================
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
For building U-Boot you need a GCC compiler for your host platform. If you
|
||||
are not building on the target platform you further need a GCC cross compiler.
|
||||
|
||||
Debian based
|
||||
~~~~~~~~~~~~
|
||||
|
||||
On Debian based systems the cross compiler packages are named
|
||||
gcc-<architecture>-linux-gnu.
|
||||
|
||||
You could install GCC and the GCC cross compiler for the ARMv8 architecture with
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get gcc gcc-aarch64-linux-gnu
|
||||
|
||||
Depending on the build targets further packages maybe needed
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt-get install bc bison build-essential coccinelle \
|
||||
device-tree-compiler dfu-util efitools flex gdisk liblz4-tool \
|
||||
libguestfs-tools libncurses-dev libpython3-dev libsdl2-dev libssl-dev \
|
||||
lzma-alone openssl python3 python3-coverage python3-pyelftools \
|
||||
python3-pytest python3-sphinxcontrib.apidoc python3-sphinx-rtd-theme swig
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
For some boards you have to build prerequisite files before you can build
|
||||
U-Boot, e.g. for the some boards you will need to build the ARM Trusted Firmware
|
||||
beforehand. Please, refer to the board specific documentation
|
||||
:doc:`../board/index`.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Directory configs/ contains the template configuration files for the maintained
|
||||
boards following the naming scheme::
|
||||
|
||||
<board name>_defconfig
|
||||
|
||||
These files have been stripped of default settings. So you cannot use them
|
||||
directly. Instead their name serves as a make target to generate the actual
|
||||
configuration file .config. For instance the configuration template for the
|
||||
Odroid C2 board is called odroid-c2_defconfig. The corresponding .config file
|
||||
is generated by
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make odroid-c2_defconfig
|
||||
|
||||
You can adjust the configuration using
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make menuconfig
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
When cross compiling you will have to specify the prefix of the cross-compiler.
|
||||
You can either specify the value of the CROSS_COMPILE variable on the make
|
||||
command line or export it beforehand.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
CROSS_COMPILE=<compiler-prefix> make
|
||||
|
||||
Assuming cross compiling on Debian for ARMv8 this would be
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make
|
||||
|
||||
Build parameters
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
A list of available parameters for the make command can be obtained via
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make help
|
||||
|
||||
You can speed up compilation by parallelization using the -j parameter, e.g.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
CROSS_COMPILE=aarch64-linux-gnu- make -j$(nproc)
|
||||
|
||||
Further important build parameters are
|
||||
|
||||
* O=<dir> - generate all output files in directory <dir>, including .config
|
||||
* V=1 - verbose build
|
||||
|
||||
Other build targets
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A list of all make targets can be obtained via
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
make help
|
||||
|
||||
Important ones are
|
||||
|
||||
* clean - remove most generated files but keep the configuration
|
||||
* mrproper - remove all generated files + config + various backup files
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
The process for installing U-Boot on the target device is device specific.
|
||||
Please, refer to the board specific documentation :doc:`../board/index`.
|
||||
2
doc/build/index.rst
vendored
2
doc/build/index.rst
vendored
@@ -6,5 +6,7 @@ Build U-Boot
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
source
|
||||
gcc
|
||||
clang
|
||||
tools
|
||||
|
||||
30
doc/build/source.rst
vendored
Normal file
30
doc/build/source.rst
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
Obtaining the source
|
||||
=====================
|
||||
|
||||
The source of the U-Boot project is maintained in a Git repository.
|
||||
|
||||
You can download the source via
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://gitlab.denx.de/u-boot/u-boot.git
|
||||
|
||||
A mirror of the source is maintained on Github
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git clone https://github.com/u-boot/u-boot
|
||||
|
||||
The released versions are available as tags which use the naming scheme::
|
||||
|
||||
v<year>.<month>
|
||||
|
||||
Release candidates are named::
|
||||
|
||||
v<year>.<month>-rc<number>
|
||||
|
||||
To checkout the October 2020 release you would use:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
git checkout v2020.10
|
||||
@@ -174,7 +174,7 @@ Optional properties:
|
||||
- fspm,oem-loading-base: OEM File Loading Address
|
||||
- fspm,oem-file-name: OEM File Name to Load
|
||||
- fspm,mrc-boot-data-ptr:
|
||||
- fspm,e-mmc-trace-len: eMMC Trace Length
|
||||
- fspm,emmc-trace-len: eMMC Trace Length
|
||||
0x0: Long
|
||||
0x1: Short
|
||||
- fspm,skip-cse-rbp: Skip CSE RBP to support zero sized IBB
|
||||
|
||||
@@ -318,7 +318,7 @@ Optional properties:
|
||||
0x6: warm reset (default)
|
||||
0xE: cold reset
|
||||
- fsps,sdcard-enabled: SD Card Support (D27:F0)
|
||||
- fsps,e-mmc-enabled: SeMMC Support (D28:F0)
|
||||
- fsps,emmc-enabled: SeMMC Support (D28:F0)
|
||||
- fsps,emmc-host-max-speed: eMMC Max Speed
|
||||
0: HS400(default)
|
||||
1: HS200
|
||||
|
||||
Reference in New Issue
Block a user