From 4597228db7f19a580f415601f18179cb0421b2bc Mon Sep 17 00:00:00 2001 From: T Pratham Date: Mon, 21 Sep 2026 15:06:28 +0530 Subject: [PATCH 1/2] fix(linux): Correct SD mount path in kernel installation guide Correct the SD card mount path in kernel installation guide page from /media/rootfs to /media/$USER/rootfs. Fixes: LCPD-48618 Signed-off-by: T Pratham --- .../Kernel/_Users_Guide.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/linux/Foundational_Components/Kernel/_Users_Guide.rst b/source/linux/Foundational_Components/Kernel/_Users_Guide.rst index 7a9299862..dd4402de0 100644 --- a/source/linux/Foundational_Components/Kernel/_Users_Guide.rst +++ b/source/linux/Foundational_Components/Kernel/_Users_Guide.rst @@ -535,13 +535,16 @@ Installing the Kernel Image and Device Tree Binaries .. code-block:: console cd - sudo cp arch/arm64/boot/Image /media/rootfs/boot - sudo cp arch/arm64/boot/dts/ti/k3-am642-evm.dtb /media/rootfs/boot/dtb/ti + sudo cp arch/arm64/boot/Image /media/$USER/rootfs/boot + sudo cp arch/arm64/boot/dts/ti/k3-am642-evm.dtb /media/$USER/rootfs/boot/dtb/ti Starting with U-boot 2013.10, the kernel and device tree binaries are read from the root file system's boot directory when booting from MMC/EMMC. (NOT from the /boot/ partition on the MMC). This would mean you copy the kernel image and device -tree binaries to :file:`/media/rootfs/boot` instead of :file:`/media/boot`. +tree binaries to :file:`/media/$USER/rootfs/boot` instead of :file:`/media/$USER/boot`. + +Here, ``$USER`` is the username of the user on the host machine where the SD card +is mounted. Installing the Kernel Modules ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -567,7 +570,7 @@ file system. The general format of the command is: .. code-block:: console - sudo make ARCH=arm INSTALL_MOD_PATH=/media/rootfs modules_install + sudo make ARCH=arm INSTALL_MOD_PATH=/media/$USER/rootfs modules_install .. [comment] instructions for 64 bit processors @@ -582,7 +585,10 @@ file system. The general format of the command is: .. code-block:: console - sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/rootfs modules_install + sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/$USER/rootfs modules_install + +Here, ``$USER`` is the username of the user on the host machine where the SD card +is mounted. .. note:: From 43ede7bd2762c69d8696f65be4537c6ca3c65236 Mon Sep 17 00:00:00 2001 From: T Pratham Date: Mon, 21 Sep 2026 17:07:52 +0530 Subject: [PATCH 2/2] fix(linux): Fix indentation and refs in Kernel User Guide Correct indentation from 4 to 3 spaces in the file. Also modify some lines to fix Vale complaints. Change include refs to relative paths. Signed-off-by: T Pratham --- .../Kernel/_Users_Guide.rst | 567 +++++++++--------- 1 file changed, 283 insertions(+), 284 deletions(-) diff --git a/source/linux/Foundational_Components/Kernel/_Users_Guide.rst b/source/linux/Foundational_Components/Kernel/_Users_Guide.rst index dd4402de0..71f81b9d4 100644 --- a/source/linux/Foundational_Components/Kernel/_Users_Guide.rst +++ b/source/linux/Foundational_Components/Kernel/_Users_Guide.rst @@ -29,8 +29,8 @@ Alternatively, Kernel sources can directly be fetched from GIT. .. ifconfig:: CONFIG_sdk in ('SITARA') - You can find the details about the git repository, branch and commit id in - the :ref:`release-specific-build-information-kernel` section of the release notes. + You can find the details about the git repository, branch and commit id in + the :ref:`release-specific-build-information-kernel` section of the release notes. .. _preparing-to-build: @@ -38,10 +38,9 @@ Preparing to Build ------------------ .. note:: - The following commands are intended to be run from the root of the - kernel tree unless otherwise specified. The root of the kernel tree is - the top-level directory and can be identified by looking for the - "MAINTAINERS" file. + Run these commands from the root of the kernel tree unless otherwise + specified. The root of the kernel tree is the top-level directory, which + you can identify by the presence of the :file:`MAINTAINERS` file. .. _kernel-compiler: @@ -55,7 +54,7 @@ Setup Cross Compile Environment building the kernel. Doing so will cause the compilation of host side components within the kernel tree to fail. -.. include:: Overview/GCC_ToolChain.rst +.. include:: ../../Overview/GCC_ToolChain.rst :start-after: .. start_include_yocto_toolchain_host_setup :end-before: .. end_include_yocto_toolchain_host_setup @@ -67,28 +66,28 @@ that the kernel sources are clean and that there are no remnants left over from a previous build. .. note:: - The next step will delete any saved .config file in the kernel tree as - well as the generated object files. If you have done a previous - configuration and do not wish to lose your configuration file you should - save a copy of the configuration file (.config) before proceeding. + The next step will delete any saved :file:`.config` file in the kernel tree as + well as the generated object files. If you have configured the kernel + before and do not want to lose your existing configuration you should + save a copy of the configuration file (:file:`.config`) before proceeding. The command to clean the kernel is: .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" distclean + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" distclean .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" distclean | @@ -108,20 +107,20 @@ customize it for your use case if needed. Apply Linux kernel configurations with a command of the form: .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Using Default Configurations ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -129,49 +128,49 @@ Using Default Configurations .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - For this sdk, the defconfig found in :file:`arch/arm/configs` is used to create the prebuilt - files. We recommend users to use this kernel configuration (or at least use it - as a starting point). + For this sdk, the defconfig found in :file:`arch/arm/configs` is used to create the prebuilt + files. We recommend users to use this kernel configuration (or at least use it + as a starting point). - For example, to apply the default AM335x kernel configuration, use: + For example, to apply the default AM335x kernel configuration, use: - For Linux, + For Linux, - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" multi_v7_defconfig ti_multi_v7_prune.config no_smp.config + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" multi_v7_defconfig ti_multi_v7_prune.config no_smp.config - For RT-Linux, + For RT-Linux, - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" multi_v7_defconfig ti_multi_v7_prune.config no_smp.config ti_rt.config + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" multi_v7_defconfig ti_multi_v7_prune.config no_smp.config ti_rt.config .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - For this sdk, the defconfig found in :file:`arch/arm64/configs` is used to create the prebuilt - files. We recommend users to use this kernel configuration (or at least use it - as a starting point). + For this sdk, the defconfig found in :file:`arch/arm64/configs` is used to create the prebuilt + files. We recommend users to use this kernel configuration (or at least use it + as a starting point). - For example, to apply the recommended kernel configuration for K3 devices, use: + For example, to apply the recommended kernel configuration for K3 devices, use: - For Linux, + For Linux, - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config - For RT-Linux, + For RT-Linux, - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config ti_rt.config + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" defconfig ti_arm64_prune.config ti_rt.config The config fragments found in /kernel/configs can be used to trim/add features when building a kernel that targets only TI EVMs. Append a config fragment to the end @@ -192,32 +191,32 @@ system is menuconfig. menuconfig is an ncurses based configuration utility. To invoke the kernel configuration you simply use a command like: .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" - i.e. for menuconfig the command would look like + i.e. for menuconfig the command would look like - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" menuconfig + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" menuconfig .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" - i.e. for menuconfig the command would look like + i.e. for menuconfig the command would look like - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" menuconfig + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" menuconfig Once the configuration window is open you can then select which kernel components should be included in the build. Exiting the configuration @@ -233,47 +232,47 @@ Compiling the Kernel ^^^^^^^^^^^^^^^^^^^^ .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - Once the kernel has been configured it must be compiled to generate the - bootable kernel image as well as any dynamic kernel modules that were - selected. + Once the kernel has been configured it must be compiled to generate the + bootable kernel image as well as any dynamic kernel modules that were + selected. - By default U-boot expects a compressed, self-extracting kernel image called - :file:`zImage` as the type of kernel image used. + By default U-boot expects a compressed, self-extracting kernel image called + :file:`zImage` as the type of kernel image used. - To build, use this command: + To build, use this command: - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" zImage + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" zImage - This will result in a kernel image file being created in the - :file:`arch/arm/boot/` directory called :file:`zImage`. + This will result in a kernel image file being created in the + :file:`arch/arm/boot/` directory called :file:`zImage`. .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - By default U-boot expects to boot kernel :file:`Image`, DTB, and DTOs found in :file:`root/boot` of the - SD card if using SD/MMC boot. The exception is for HS-SE (High Security - Security Enforced) - devices where the FIT image (Flattened Image Tree) named :file:`fitImage` will boot by default. + By default U-boot expects to boot kernel :file:`Image`, DTB, and DTOs found in :file:`root/boot` of the + SD card if using SD/MMC boot. The exception is for HS-SE (High Security - Security Enforced) + devices where the FIT image (Flattened Image Tree) named :file:`fitImage` will boot by default. - The FIT image includes the kernel :file:`Image`, DTB, and DTOs. Booting with the FIT image could be - enabled/disabled by setting/resetting u-boot environment variable `boot_fit`. If `boot_fit` is set - to `1`, then u-boot will boot the FIT image found in :file:`root/boot` of the SD card. + The FIT image includes the kernel :file:`Image`, DTB, and DTOs. Booting with the FIT image could be + enabled/disabled by setting/resetting u-boot environment variable `boot_fit`. If `boot_fit` is set + to `1`, then u-boot will boot the FIT image found in :file:`root/boot` of the SD card. - Once the kernel has been configured it must be compiled to generate the bootable kernel :file:`Image` - as well as any dynamic kernel modules that were selected. To rebuild kernel :file:`Image` to boot as - is or for FIT image boot, use this command: + Once the kernel has been configured it must be compiled to generate the bootable kernel :file:`Image` + as well as any dynamic kernel modules that were selected. To rebuild kernel :file:`Image` to boot as + is or for FIT image boot, use this command: - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" Image - This will result in a kernel image file being created in the - :file:`arch/arm64/boot/` directory called :file:`Image`. + This will result in a kernel image file being created in the + :file:`arch/arm64/boot/` directory called :file:`Image`. .. _kernel_users_guide_compiling_the_device_tree_binaries: @@ -281,192 +280,192 @@ Compiling the Device Tree Binaries ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - Starting with the 3.8 kernel each TI evm has an unique device tree - binary file required by the kernel. Therefore, you will need to build - and install the correct dtb for the target device. All device tree files - are located at :file:`arch/arm/boot/dts/ti/omap`. Below list various TI evms and the - matching device tree file. - - +-------------------------------------------+--------------------------------------+ - | Boards | Device Tree File | - +===========================================+======================================+ - | Beaglebone Black | am335x-boneblack.dts | - +-------------------------------------------+--------------------------------------+ - | Beaglebone Green ECO | am335x-bonegreen-eco.dts | - +-------------------------------------------+--------------------------------------+ - | AM335x General Purpose EVM | am335x-evm.dts | - +-------------------------------------------+--------------------------------------+ - | AM335x Starter Kit | am335x-evmsk.dts | - +-------------------------------------------+--------------------------------------+ - | AM335x Industrial Communications Engine | am335x-icev2.dts | - +-------------------------------------------+--------------------------------------+ - | AM437x General Purpose EVM | am437x-gp-evm.dts, | - | | am437x-gp-evm-hdmi.dts (HDMI) | - +-------------------------------------------+--------------------------------------+ - | AM437x Starter Kit | am437x-sk-evm.dts | - +-------------------------------------------+--------------------------------------+ - | AM437x Industrial Development Kit | am437x-idk-evm.dts | - +-------------------------------------------+--------------------------------------+ - | AM57xx EVM | am57xx-evm.dts, | - | | am57xx-evm-reva3.dts (revA3 EVMs ) | - +-------------------------------------------+--------------------------------------+ - | AM572x IDK | am572x-idk.dts | - +-------------------------------------------+--------------------------------------+ - | AM571x IDK | am571x-idk.dts | - +-------------------------------------------+--------------------------------------+ - | AM574x IDK | am574x-idk.dts | - +-------------------------------------------+--------------------------------------+ - | K2H/K2K EVM | keystone-k2hk-evm.dts | - +-------------------------------------------+--------------------------------------+ - | K2E EVM | keystone-k2e-evm.dts | - +-------------------------------------------+--------------------------------------+ - | K2L EVM | keystone-k2l-evm.dts | - +-------------------------------------------+--------------------------------------+ - | K2G EVM | keystone-k2g-evm.dts | - +-------------------------------------------+--------------------------------------+ - | K2G ICE EVM | keystone-k2g-ice.dts | - +-------------------------------------------+--------------------------------------+ - | OMAP-L138 LCDK | da850-lcdk.dts | - +-------------------------------------------+--------------------------------------+ - - To build an individual device tree file find the name of the dts file - for the board you are using and replace the .dts extension with .dtb. - Then run the following command: - - .. code-block:: console - - make DTC_FLAGS=-@ ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32"
.dtb - - The compiled device tree file with be located in :file:`arch/arm/boot/dts/ti/omap`. - - For example, the Beaglebone Black device tree file is named - :file:`am335x-boneblack.dts`. To build the device tree binary you would run: - - .. code-block:: console - - make DTC_FLAGS=-@ ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" am335x-boneblack.dtb - - Alternatively, you can build every device tree binary with command - - .. code-block:: console - - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" dtbs + Starting with the 3.8 kernel each TI evm has an unique device tree + binary file required by the kernel. Therefore, you will need to build + and install the correct dtb for the target device. All device tree files + are located at :file:`arch/arm/boot/dts/ti/omap`. Below list various TI evms and the + matching device tree file. + + +-------------------------------------------+--------------------------------------+ + | Boards | Device Tree File | + +===========================================+======================================+ + | Beaglebone Black | am335x-boneblack.dts | + +-------------------------------------------+--------------------------------------+ + | Beaglebone Green ECO | am335x-bonegreen-eco.dts | + +-------------------------------------------+--------------------------------------+ + | AM335x General Purpose EVM | am335x-evm.dts | + +-------------------------------------------+--------------------------------------+ + | AM335x Starter Kit | am335x-evmsk.dts | + +-------------------------------------------+--------------------------------------+ + | AM335x Industrial Communications Engine | am335x-icev2.dts | + +-------------------------------------------+--------------------------------------+ + | AM437x General Purpose EVM | am437x-gp-evm.dts, | + | | am437x-gp-evm-hdmi.dts (HDMI) | + +-------------------------------------------+--------------------------------------+ + | AM437x Starter Kit | am437x-sk-evm.dts | + +-------------------------------------------+--------------------------------------+ + | AM437x Industrial Development Kit | am437x-idk-evm.dts | + +-------------------------------------------+--------------------------------------+ + | AM57xx EVM | am57xx-evm.dts, | + | | am57xx-evm-reva3.dts (revA3 EVMs ) | + +-------------------------------------------+--------------------------------------+ + | AM572x IDK | am572x-idk.dts | + +-------------------------------------------+--------------------------------------+ + | AM571x IDK | am571x-idk.dts | + +-------------------------------------------+--------------------------------------+ + | AM574x IDK | am574x-idk.dts | + +-------------------------------------------+--------------------------------------+ + | K2H/K2K EVM | keystone-k2hk-evm.dts | + +-------------------------------------------+--------------------------------------+ + | K2E EVM | keystone-k2e-evm.dts | + +-------------------------------------------+--------------------------------------+ + | K2L EVM | keystone-k2l-evm.dts | + +-------------------------------------------+--------------------------------------+ + | K2G EVM | keystone-k2g-evm.dts | + +-------------------------------------------+--------------------------------------+ + | K2G ICE EVM | keystone-k2g-ice.dts | + +-------------------------------------------+--------------------------------------+ + | OMAP-L138 LCDK | da850-lcdk.dts | + +-------------------------------------------+--------------------------------------+ + + To build an individual device tree file find the name of the dts file + for the board you are using and replace the .dts extension with .dtb. + Then run the following command: + + .. code-block:: console + + make DTC_FLAGS=-@ ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32"
.dtb + + The compiled device tree file with be located in :file:`arch/arm/boot/dts/ti/omap`. + + For example, the Beaglebone Black device tree file is named + :file:`am335x-boneblack.dts`. To build the device tree binary you would run: + + .. code-block:: console + + make DTC_FLAGS=-@ ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" am335x-boneblack.dtb + + Alternatively, you can build every device tree binary with command + + .. code-block:: console + + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" dtbs .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - Each TI evm has an unique device tree - binary file required by the kernel. Therefore, you will need to build - and install the correct dtb for the target device. TI device tree files - are located in :file:`arch/arm64/boot/dts/ti`. Below list various TI evms and the - matching device tree file. - - +-------------------------------------------+--------------------------------------+ - | Boards | Device Tree File | - +===========================================+======================================+ - | AM62Lx EVM | k3-am62l3-evm.dts | - +-------------------------------------------+--------------------------------------+ - | BeagleBadge | k3-am62l3-badge.dts | - +-------------------------------------------+--------------------------------------+ - | AM62Px SK | k3-am62p5-sk.dts | - +-------------------------------------------+--------------------------------------+ - | AM62Ax SK | k3-am62a7-sk.dts | - +-------------------------------------------+--------------------------------------+ - | AM62Dx EVM | k3-am62d2-evm.dts | - +-------------------------------------------+--------------------------------------+ - | AM62x LP SK | k3-am62-lp-sk.dts | - +-------------------------------------------+--------------------------------------+ - | Beagle Play | k3-am625-beagleplay.dts | - +-------------------------------------------+--------------------------------------+ - | AM62SIP SK / AM62x SK | k3-am625-sk.dts | - +-------------------------------------------+--------------------------------------+ - | AM64x EVM | k3-am642-evm.dts | - +-------------------------------------------+--------------------------------------+ - | AM64x SK | k3-am642-sk.dts | - +-------------------------------------------+--------------------------------------+ - | AM65x EVM / AM65x IDK | k3-am654-base-board.dts, | - | | daughter cards use .dtso files | - +-------------------------------------------+--------------------------------------+ - | J721e EVM | k3-j721e-common-proc-board.dts | - +-------------------------------------------+--------------------------------------+ - | J721e SK | k3-j721e-sk.dts | - +-------------------------------------------+--------------------------------------+ - | J7200 EVM | k3-j7200-common-proc-board.dts | - +-------------------------------------------+--------------------------------------+ - | J721S2 EVM | k3-j721s2-common-proc-board.dts | - +-------------------------------------------+--------------------------------------+ - | AM68 SK | k3-am68-sk-base-board.dts | - +-------------------------------------------+--------------------------------------+ - | J784S4 EVM | k3-j784s4-evm.dts | - +-------------------------------------------+--------------------------------------+ - | AM69 SK | k3-am69-sk.dts | - +-------------------------------------------+--------------------------------------+ - | J722S EVM | k3-j722s-evm.dts | - +-------------------------------------------+--------------------------------------+ - - To build an individual device tree file find the name of the dts file - for the board you are using and replace the .dts extension with .dtb. - Then run the following command: - - .. code-block:: console - - make DTC_FLAGS=-@ ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" ti/
.dtb - - The compiled device tree file with be located in :file:`arch/arm64/boot/dts/ti`. - - For example, the AM64x EVM device tree file is named - :file:`k3-am642-evm.dts`. To build the device tree binary you would run: - - .. code-block:: console - - make DTC_FLAGS=-@ ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" ti/k3-am642-evm.dtb - - Alternatively, you can build every device tree binary with command - - .. code-block:: console - - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" dtbs + Each TI evm has an unique device tree + binary file required by the kernel. Therefore, you will need to build + and install the correct dtb for the target device. TI device tree files + are located in :file:`arch/arm64/boot/dts/ti`. Below list various TI evms and the + matching device tree file. + + +-------------------------------------------+--------------------------------------+ + | Boards | Device Tree File | + +===========================================+======================================+ + | AM62Lx EVM | k3-am62l3-evm.dts | + +-------------------------------------------+--------------------------------------+ + | BeagleBadge | k3-am62l3-badge.dts | + +-------------------------------------------+--------------------------------------+ + | AM62Px SK | k3-am62p5-sk.dts | + +-------------------------------------------+--------------------------------------+ + | AM62Ax SK | k3-am62a7-sk.dts | + +-------------------------------------------+--------------------------------------+ + | AM62Dx EVM | k3-am62d2-evm.dts | + +-------------------------------------------+--------------------------------------+ + | AM62x LP SK | k3-am62-lp-sk.dts | + +-------------------------------------------+--------------------------------------+ + | Beagle Play | k3-am625-beagleplay.dts | + +-------------------------------------------+--------------------------------------+ + | AM62SIP SK / AM62x SK | k3-am625-sk.dts | + +-------------------------------------------+--------------------------------------+ + | AM64x EVM | k3-am642-evm.dts | + +-------------------------------------------+--------------------------------------+ + | AM64x SK | k3-am642-sk.dts | + +-------------------------------------------+--------------------------------------+ + | AM65x EVM / AM65x IDK | k3-am654-base-board.dts, | + | | daughter cards use .dtso files | + +-------------------------------------------+--------------------------------------+ + | J721e EVM | k3-j721e-common-proc-board.dts | + +-------------------------------------------+--------------------------------------+ + | J721e SK | k3-j721e-sk.dts | + +-------------------------------------------+--------------------------------------+ + | J7200 EVM | k3-j7200-common-proc-board.dts | + +-------------------------------------------+--------------------------------------+ + | J721S2 EVM | k3-j721s2-common-proc-board.dts | + +-------------------------------------------+--------------------------------------+ + | AM68 SK | k3-am68-sk-base-board.dts | + +-------------------------------------------+--------------------------------------+ + | J784S4 EVM | k3-j784s4-evm.dts | + +-------------------------------------------+--------------------------------------+ + | AM69 SK | k3-am69-sk.dts | + +-------------------------------------------+--------------------------------------+ + | J722S EVM | k3-j722s-evm.dts | + +-------------------------------------------+--------------------------------------+ + + To build an individual device tree file find the name of the dts file + for the board you are using and replace the .dts extension with .dtb. + Then run the following command: + + .. code-block:: console + + make DTC_FLAGS=-@ ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" ti/
.dtb + + The compiled device tree file with be located in :file:`arch/arm64/boot/dts/ti`. + + For example, the AM64x EVM device tree file is named + :file:`k3-am642-evm.dts`. To build the device tree binary you would run: + + .. code-block:: console + + make DTC_FLAGS=-@ ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" ti/k3-am642-evm.dtb + + Alternatively, you can build every device tree binary with command + + .. code-block:: console + + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" dtbs Compiling the Kernel Modules ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - By default the majority of the Linux drivers used in the sdk are not - integrated into the kernel image file :file:`zImage`. These drivers are built as - dynamic modules. The command to build these modules is: + By default the majority of the Linux drivers used in the sdk are not + integrated into the kernel image file :file:`zImage`. These drivers are built as + dynamic modules. The command to build these modules is: - .. code-block:: console + .. code-block:: console - make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" modules + make ARCH=arm CROSS_COMPILE="$CROSS_COMPILE_32" modules .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - By default the majority of the Linux drivers used in the sdk are not - integrated into the kernel image file :file:`Image`. These drivers are built as - dynamic modules. The command to build these modules is: + By default the majority of the Linux drivers used in the sdk are not + integrated into the kernel image file :file:`Image`. These drivers are built as + dynamic modules. The command to build these modules is: - .. code-block:: console + .. code-block:: console - make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules + make ARCH=arm64 CROSS_COMPILE="$CROSS_COMPILE_64" modules This will result in .ko (kernel object) files being placed in the kernel tree. These .ko files are the dynamic kernel modules. .. note:: - If you make a change to the kernel which requires you to recompile - the kernel, then you should also recompile the kernel modules and - reinstall the kernel modules. Otherwise your kernel modules may refuse to - load, which will result in a loss of functionality. + If you make a change to the kernel that requires you to recompile + the kernel, then you should also recompile the kernel modules and + reinstall the kernel modules. Otherwise your kernel modules might refuse to + load, which will result in a loss of functionality. | @@ -476,11 +475,11 @@ FIT Image .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family') FIT Image documentation is pending for |__PART_FAMILY_DEVICE_NAMES__| - reach out to: `Help e2e `__ for additional information. + reach out to: `Help e2e `__ for additional information. .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family') - .. include:: /linux/Foundational_Components/Kernel/_Fit_Image_Guide.rst + .. include:: _Fit_Image_Guide.rst | @@ -497,46 +496,46 @@ Installing the Kernel Image and Device Tree Binaries ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - cd - sudo cp arch/arm/boot/zImage $boot - sudo cp arch/arm/boot/dts/ti/omap/
.dtb $boot + cd + sudo cp arch/arm/boot/zImage $boot + sudo cp arch/arm/boot/dts/ti/omap/
.dtb $boot - For example, if you wanted to copy the kernel image and BeagleBone - Black device tree file to the SD card partition, you would - enter the below commands: + For example, if you wanted to copy the kernel image and BeagleBone + Black device tree file to the SD card partition, you would + enter the below commands: - .. code-block:: console + .. code-block:: console - cd - sudo cp arch/arm/boot/zImage $boot - sudo cp arch/arm/boot/dts/ti/omap/am335x-boneblack.dtb $boot + cd + sudo cp arch/arm/boot/zImage $boot + sudo cp arch/arm/boot/dts/ti/omap/am335x-boneblack.dtb $boot - Where ``$boot`` is the mount point for the boot partition of the SD card. + Where ``$boot`` is the mount point for the boot partition of the SD card. .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - cd - sudo cp arch/arm64/boot/Image /boot - sudo cp arch/arm64/boot/dts/ti/
.dtb /boot/dtb/ti + cd + sudo cp arch/arm64/boot/Image /boot + sudo cp arch/arm64/boot/dts/ti/
.dtb /boot/dtb/ti - For example, if you wanted to copy the kernel image and AM64x EVM - device tree file to the rootfs partition of a SD card you would - enter the below commands: + For example, if you wanted to copy the kernel image and AM64x EVM + device tree file to the rootfs partition of a SD card you would + enter the below commands: - .. code-block:: console + .. code-block:: console - cd - sudo cp arch/arm64/boot/Image /media/$USER/rootfs/boot - sudo cp arch/arm64/boot/dts/ti/k3-am642-evm.dtb /media/$USER/rootfs/boot/dtb/ti + cd + sudo cp arch/arm64/boot/Image /media/$USER/rootfs/boot + sudo cp arch/arm64/boot/dts/ti/k3-am642-evm.dtb /media/$USER/rootfs/boot/dtb/ti Starting with U-boot 2013.10, the kernel and device tree binaries are read from the root file system's boot directory when booting from MMC/EMMC. (NOT from the @@ -558,39 +557,39 @@ the kernel. The base location should usually be the root of your target file system. The general format of the command is: .. - [comment] instructions for 32 bit processors + [comment] instructions for 32 bit processors .. ifconfig:: CONFIG_part_family in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - sudo make ARCH=arm INSTALL_MOD_PATH= modules_install + sudo make ARCH=arm INSTALL_MOD_PATH= modules_install - For example if you are installing the modules on the rootfs partition of - the SD card you would do: + For example if you are installing the modules on the rootfs partition of + the SD card you would do: - .. code-block:: console + .. code-block:: console - sudo make ARCH=arm INSTALL_MOD_PATH=/media/$USER/rootfs modules_install + sudo make ARCH=arm INSTALL_MOD_PATH=/media/$USER/rootfs modules_install .. - [comment] instructions for 64 bit processors + [comment] instructions for 64 bit processors .. ifconfig:: CONFIG_part_family not in ('AM335X_family', 'AM437X_family', 'AM57X_family') - .. code-block:: console + .. code-block:: console - sudo make ARCH=arm64 INSTALL_MOD_PATH= modules_install + sudo make ARCH=arm64 INSTALL_MOD_PATH= modules_install - For example if you are installing the modules on the rootfs partition of - the SD card you would do: + For example if you are installing the modules on the rootfs partition of + the SD card you would do: - .. code-block:: console + .. code-block:: console - sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/$USER/rootfs modules_install + sudo make ARCH=arm64 INSTALL_MOD_PATH=/media/$USER/rootfs modules_install Here, ``$USER`` is the username of the user on the host machine where the SD card is mounted. .. note:: - Append **INSTALL\_MOD\_STRIP=1** to the make modules\_install command to - reduce the size of the resulting installation + Append **INSTALL\_MOD\_STRIP=1** to the make modules\_install command to + reduce the size of the resulting installation