|
| 1 | +====================== |
| 2 | +Building Debian Images |
| 3 | +====================== |
| 4 | + |
| 5 | +Introduction |
| 6 | +============ |
| 7 | + |
| 8 | +Debian images for AM62L are built using the **Armbian** build framework. *Armbian* describes itself to be a "base operating system", i.e. a build framework used to build Linux images optimized for Single-Board Computers. |
| 9 | + |
| 10 | +The Debian images are provided at |__SDK_DOWNLOAD_URL__|, but can also be built by users, especially if something custom (such as a particular desktop environment, or different kernel configs) is required. |
| 11 | + |
| 12 | +Armbian Usage |
| 13 | +============= |
| 14 | + |
| 15 | +This document provides high-level information on how to build Armbian images for AM62LX. For a full list of options on how these images may be configured, please see the. |
| 16 | + |
| 17 | +Get Armbian |
| 18 | +----------- |
| 19 | + |
| 20 | +For the time being, AM62L support is maintained in TI's fork of Armbian. Therefore, the first step would be to fetch TI's fork: |
| 21 | + |
| 22 | +.. code-block:: console |
| 23 | +
|
| 24 | + git clone https://github.com/TexasInstruments/armbian-build.git |
| 25 | +
|
| 26 | +Repository Structure |
| 27 | +-------------------- |
| 28 | + |
| 29 | +There are 4 files/directories of relevance to this high-level overview: |
| 30 | + |
| 31 | +- ``configs/``: This directory contains configurations for boards, families, kernel configs, desktop/CLI environments etc. To find config files relevant to TI, see: |
| 32 | + - ``configs/sources/families/k3.conf`` |
| 33 | + - ``configs/kernel/linux-k3-current.conf`` |
| 34 | + - ``configs/kernel/linux-k3-rt-current.conf`` |
| 35 | + |
| 36 | +- ``compile.sh``: This is the script that should be invoked for building Armbian images. |
| 37 | + |
| 38 | +- ``lib/``: This directory stores the scripts that do most of the work in building Armbian images. Most likely, this directory would not have to be touched if you just want to create a custom AM62L image. |
| 39 | + |
| 40 | +- ``extensions``: This directory contains files in which **extension hooks** can be defined. In Armbian, *extension hooks* are functions that are not called in the process of building an image, but are un-defined in ``lib/``. TI has defined the ``extensions/ti-debpkgs.sh`` extension file for AM62L. To customize the build process, create a new file in this directory, and define your extension hooks there. Once the file is created, be sure to add the following line to board/family config file: |
| 41 | + |
| 42 | + .. code-block:: console |
| 43 | +
|
| 44 | + enable_extension <extension_name> |
| 45 | +
|
| 46 | +- ``userpatches/``: This directory can be used to store files that define build parameters, user patches etc. |
| 47 | + |
| 48 | +Building Images |
| 49 | +--------------- |
| 50 | + |
| 51 | +Armbian supports an interactive building process. To build, go to the cloned Armbian repository, and use the following command: |
| 52 | + |
| 53 | +.. code-block:: console |
| 54 | +
|
| 55 | + ./compile.sh |
| 56 | +
|
| 57 | +The build framework will then display dialog boxes to allow the user to select the board, CLI/desktop environment, kernel configs etc. |
| 58 | + |
| 59 | +To build the image non-interactively, specify all required **Build Switches** in the command: |
| 60 | + |
| 61 | +.. code-block:: console |
| 62 | +
|
| 63 | + ./compile.sh [command] [switch...] [command...] |
| 64 | +
|
| 65 | +For example, the following command builds the image at |__SDK_DOWNLOAD_URL__|: |
| 66 | + |
| 67 | +.. code-block:: console |
| 68 | +
|
| 69 | + ./compile.sh build BOARD=sk-am62b BRANCH=current BUILD_MINIMAL=yes KERNEL_CONFIGURE=no RELEASE=trixie SKIP_ARMBIAN_REPO=yes |
| 70 | +
|
| 71 | +The built image will then be stored at ``output/images/`` with a ``.img`` extension. |
| 72 | + |
| 73 | + |
0 commit comments