Other Parts Discussed in Thread: SK-AM62, AM625, SK-AM62B, SK-AM64, , SK-AM64B
(also applicable to other AM62x, AM62Ax, AM64x parts with changes)
Introduction
Buildroot (https://buildroot.org/) is a simple, efficient, and easy-to-use tool for generating bootable images for Embedded Linux systems through cross-compilation. Due to this it is a popular alternative to the widely-used Yocto-based build system. Some key differentiators are that it is easy to configure most aspects of the target image including but not limited to adding, configuring, and removing packages all using a menu-based system and that the build system itself behind the scenes is Makefile-based and with this will be immediately familiar to many developers (as opposed to the complex scripting language and layered approach Yocto uses). All this is what makes Buildroot very approachable and suitable especially for embedded systems engineers moving from MCUs into the world of Linux-based MPUs.
Current State of Support for TI's AM6x Devices
TI is aware of the need for Buildroot support for AM6x devices and has started working with the Buildroot community in 2022 on an initial implementation for AM64 devices. This effort somewhat stalled around the end of 2022 but has since been picked up again. On June 15th 2023 an updated patch set ("PATCH v8") has been posted to the community mailing list (https://lists.buildroot.org/pipermail/buildroot/2023-June/668947.html) to continue the previous effort, adding AM64 and AM62 device support including graphics based on some prework that was published as part of this E2E FAQ here over the last few weeks. The most current patch set was posted on June 22nd 2023 ("PATCH v9") and is available at https://lore.kernel.org/buildroot/20230625193648.GA646621@scaer/T/.
The below screenshot demonstrates current upstream Buildroot with experimental AM64x support added showing the "menuconfig" screen which is used for package selection and overall image configuration purposes. The rest of this E2E FAQ discusses how to setup and use Buildroot to build bootable SD card images for AM64x as well as for AM62x devices.
Building Bootable SD Card Images for AM62x and AM64x (Experimental Support Only!)
Disclaimer: The officially recommended and TI-supported way of generating bootable Embedded Linux images for use on Sitara AM6x devices is using the Yocto-based Linux SDKs for the different AM6x devices available at https://www.ti.com/tool/PROCESSOR-SDK-AM62X, https://www.ti.com/tool/PROCESSOR-SDK-AM62A, and https://www.ti.com/tool/PROCESSOR-SDK-AM64X. The steps outlined here to get early access and enablement of AM6x on Buildroot are provided as-is and are intended for experimentation only.
Due the experimental nature of the AM6x support discussed here there are several limitations with the created image, including but not limited to the following:
- While the current solution supports booting on AM62x HS-FS and AM64x HS-FS devices by default, it does not yet support booting on AM62x HS-SE and AM64x HS-SE devices. The certificate/signing process needed to support AM62x/AM64x HS-SE silicon for proper/full authenticated boot flow has not been fully implemented yet. If support for HS-SE is needed, those steps will need to get added, modeled after the current AM62x/AM64x Linux SDK.
- Some SoC-specific features such as remote core firmware loading / messaging and low-power mode support are not fully implemented and or tested yet
Setting up the Build Environment
As with most aspects of Buildroot setting up the build environment is pretty straightforward, and usually only involves cloning the official Buildroot Git repository to a Linux machine. Due to the official Buildroot repository currently (as of May 2023) only containing incomplete support for AM64x and no support for AM62x, some additional patches will need to get applied manually before images for these devices can be build.
To make re-creating Buildroot support for AM62x and AM64x easier those patches are provided as part of a tarball attached to this E2E FAQ for convenience. Always use the latest/most current patch set available for experimentation and consult the Change Log table column for additional details.
Also while Buildroot itself supports a wide range of host systems the steps outlined in this section were specifically tested using Ubuntu 22.04. Note that Buildroot expects a few basic packages to be present on the host system, many of which should already be preinstalled on a typical Ubuntu 22.04 system however. Usually installing the 'build-essential' and 'libncurses-dev' (for using the menuconfig interface) additional packages should be most/all that's needed. Refer to the official Buildroot documentation for additional details: https://buildroot.org/downloads/manual/manual.html#requirement
# Clone the Buildroot Git repository from the official sources a0797059@ula0797059:~/git $ git clone https://git.buildroot.net/buildroot Cloning into 'buildroot'... remote: Enumerating objects: 3425, done. remote: Counting objects: 100% (3425/3425), done. remote: Compressing objects: 100% (3312/3312), done. remote: Total 505068 (delta 1706), reused 240 (delta 111), pack-reused 501643 Receiving objects: 100% (505068/505068), 109.47 MiB | 2.84 MiB/s, done. Resolving deltas: 100% (354798/354798), done. Updating files: 100% (13204/13204), done. # Change into the Buildroot folder a0797059@ula0797059:~/git $ cd buildroot/ # Optional/Recommended: Establish a new branch with a the same baseline commit # that was used to create the patch set that needs to be applied. Skipping this # step may cause issues over time, as 'master' advances further due to ongoing # upstream development. a0797059@ula0797059:~/git/buildroot (master) $ git checkout -b am6x-dev 2023.05-rc2 Switched to a new branch 'am6x-dev' # Copy the latest patch tarball provided along this E2E FAQ into the Buildroot # root folder and extract it. a0797059@ula0797059:~/git/buildroot (am6x-dev) $ tar -xvf buildroot-am64-sk-am62-sk-1-jun-2023.tar.gz 0001-boot-ti-k3-r5-loader-allow-for-full-build-source-cus.patch 0002-boot-ti-k3-image-gen-add-new-package.patch 0003-boot-uboot-add-support-for-building-the-TI-K3-DM-int.patch 0004-board-ti-am64x_sk-add-new-board.patch 0005-board-ti-am62x_sk-add-new-board.patch 0006-board-ti-am62x_sk-am64x_sk-switch-to-TI-SDK-v8.6-sou.patch 0007-board-ti-am62x_sk-am64x_sk-switch-to-HS-FS-device-va.patch # Apply the extracted patches a0797059@ula0797059:~/git/buildroot (am6x-dev) $ git am *.patch Applying: boot/ti-k3-r5-loader: allow for full build source customization Applying: boot/ti-k3-image-gen: add new package Applying: boot/uboot: add support for building the TI K3 DM into U-Boot Applying: board/ti/am64x_sk: add new board Applying: board/ti/am62x_sk: add new board Applying: board/ti/am62x_sk|am64x_sk: switch to TI SDK v8.6 sources Applying: board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants
Supported Boards and Build Configurations
The below table provides an overview of how to setup builds for different boards that are supported. Note that there are several revisions of the TI Starter Kit (SK) boards in circulation that differ in the device variant that is used, amongst other things, requiring the build environment to get setup slightly differently. For simplicity sake, the board revision letter suffix (e.g., 'B') is omitted from most of the discussion in this FAQ.
TI Starter Kit SKU | Device Variant | TI_SECURE_DEV_PKG Environmental Variable |
HS-FS Support Patch |
Buildroot defconfig |
SK-AM62 | AM625 GP | Not needed | Don't apply | am62x_sk_defconfig |
SK-AM62B | AM625 HS-FS | Required | Required | am62x_sk_defconfig |
SK-AM64 | AM6442 GP | Not needed | Don't apply | am64x_sk_defconfig |
SK-AM64B | AM6442 HS-FS | Required | Required | am64x_sk_defconfig |
Building SD Card Images
After the basic build environment was setup there's nothing special really about using Buildroot and building images at this point, so all the steps outlined in the Buildroot quick start guide (https://buildroot.org/downloads/manual/manual.html#_buildroot_quick_start) apply as-is. Below log capture shows a typical session building an SD card image for the SK-AM64 board via am64x_sk_defconfig.
# NOTE: Skip this step if using patch set v9 or later # # Create a clone of the core-secdev-k3 repository which is needed to provide the # signing scripts and keys for building for HS-FS silicon variants. Note when # building for GP silicon variants, this step is not needed. a0797059@ula0797059:~/git/buildroot (am6x-dev) $ git clone https://git.ti.com/git/security-development-tools/core-secdev-k3.git Cloning into 'core-secdev-k3'... remote: Enumerating objects: 63, done. remote: Counting objects: 100% (63/63), done. remote: Compressing objects: 100% (60/60), done. remote: Total 63 (delta 21), reused 0 (delta 0), pack-reused 0 Receiving objects: 100% (63/63), 58.88 KiB | 2.80 MiB/s, done. Resolving deltas: 100% (21/21), done. # NOTE: Skip this step if using patch set v9 or later # # Export the location of the core-secdev-k3 repository for use by the build process a0797059@ula0797059:~/git/buildroot (am6x-dev) $ export TI_SECURE_DEV_PKG=$PWD/core-secdev-k3 # Establish the Buildroot baseline configuration for building for the SK-AM64 board a0797059@ula0797059:~/git/buildroot (am6x-dev) $ make am64x_sk_defconfig mkdir -p /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog PKG_CONFIG_PATH="" make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \ obj=/home/a0797059/git/buildroot/output/build/buildroot-config -C support/kconfig -f Makefile.br conf /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -MM *.c > /home/a0797059/git/buildroot/output/build/buildroot-config/.depend 2>/dev/null || : /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c conf.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/conf.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -I. -c /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" /home/a0797059/git/buildroot/output/build/buildroot-config/conf.o /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.o -o /home/a0797059/git/buildroot/output/build/buildroot-config/conf rm /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.c # # configuration written to /home/a0797059/git/buildroot/.config # # Optional: Inspect and modify the Buildroot configuration (add/configure/remove packages, etc.) a0797059@ula0797059:~/git/buildroot (am6x-dev) $ make menuconfig mkdir -p /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog PKG_CONFIG_PATH="" make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \ obj=/home/a0797059/git/buildroot/output/build/buildroot-config -C support/kconfig -f Makefile.br mconf /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c lxdialog/checklist.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/checklist.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c lxdialog/inputbox.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/inputbox.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c lxdialog/menubox.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/menubox.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c lxdialog/textbox.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/textbox.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c lxdialog/util.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/util.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c lxdialog/yesno.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/yesno.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c mconf.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/mconf.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" /home/a0797059/git/buildroot/output/build/buildroot-config/mconf.o /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/checklist.o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/util.o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/inputbox.o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/textbox.o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/yesno.o /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog/menubox.o -lncursesw -o /home/a0797059/git/buildroot/output/build/buildroot-config/mconf *** End of the configuration. *** Execute 'make' to start the build or try 'make help'. # Build the target images a0797059@ula0797059:~/git/buildroot (am6x-dev) $ make /usr/bin/make -j1 O=/home/a0797059/git/buildroot/output HOSTCC="/usr/bin/gcc" HOSTCXX="/usr/bin/g++" syncconfig make[2]: warning: -j1 forced in submake: resetting jobserver mode. >>> host-skeleton Extracting >>> host-skeleton Patching >>> host-skeleton Configuring >>> host-skeleton Building >>> host-skeleton Installing to host directory # check-package DoNotInstallToHostdirUsr >>> host-pkgconf 1.6.3 Downloading wget --passive-ftp -nd -t 3 -O '/home/a0797059/git/buildroot/output/build/.pkgconf-1.6.3.tar.xz.QidAfl/output' 'https://distfiles.dereferenced.org/pkgconf/pkgconf-1.6.3.tar.xz' --2023-05-15 15:11:25-- https://distfiles.dereferenced.org/pkgconf/pkgconf-1.6.3.tar.xz Length: 291216 (284K) [application/octet-stream] Saving to: ‘/home/a0797059/git/buildroot/output/build/.pkgconf-1.6.3.tar.xz.QidAfl/output’ /home/a0797059/git/buildroot/output/ 100%[======================================================================>] 284.39K 657KB/s in 0.4s 2023-05-15 15:11:27 (657 KB/s) - ‘/home/a0797059/git/buildroot/output/build/.pkgconf-1.6.3.tar.xz.QidAfl/output’ saved [291216/291216] pkgconf-1.6.3.tar.xz: OK (sha256: 61f0b31b0d5ea0e862b454a80c170f57bad47879c0c42bd8de89200ff62ea210) >>> host-pkgconf 1.6.3 Extracting xzcat /home/a0797059/git/buildroot/dl/pkgconf/pkgconf-1.6.3.tar.xz | tar --strip-components=1 -C /home/a0797059/git/buildroot/output/build/host-pkgconf-1.6.3 -xf - >>> host-pkgconf 1.6.3 Patching Applying 0001-Only-prefix-with-the-sysroot-a-subset-of-variables.patch using patch: patching file libpkgconf/tuple.c Applying 0002-Revert-main-assume-modversion-insted-of-version-if-o.patch using patch: patching file cli/main.c <...snip...> >>> Executing post-image script support/scripts/genimage.sh INFO: cmd: "mkdir -p "/home/a0797059/git/buildroot/output/build/genimage.tmp"" (stderr): INFO: cmd: "rm -rf "/home/a0797059/git/buildroot/output/build/genimage.tmp"/*" (stderr): INFO: cmd: "mkdir -p "/home/a0797059/git/buildroot/output/build/genimage.tmp"" (stderr): INFO: cmd: "cp -a "/tmp/tmp.xP0pNRWRCX" "/home/a0797059/git/buildroot/output/build/genimage.tmp/root"" (stderr): INFO: cmd: "mkdir -p "/home/a0797059/git/buildroot/output/images"" (stderr): INFO: vfat(boot.vfat): cmd: "mkdosfs '/home/a0797059/git/buildroot/output/images/boot.vfat'" (stderr): INFO: vfat(boot.vfat): adding file 'tiboot3.bin' as 'tiboot3.bin' ... INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -sp -i '/home/a0797059/git/buildroot/output/images/boot.vfat' '/home/a0797059/git/buildroot/output/images/tiboot3.bin' '::'" (stderr): INFO: vfat(boot.vfat): adding file 'tispl.bin' as 'tispl.bin' ... INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -sp -i '/home/a0797059/git/buildroot/output/images/boot.vfat' '/home/a0797059/git/buildroot/output/images/tispl.bin' '::'" (stderr): INFO: vfat(boot.vfat): adding file 'u-boot.img' as 'u-boot.img' ... INFO: vfat(boot.vfat): cmd: "MTOOLS_SKIP_CHECK=1 mcopy -sp -i '/home/a0797059/git/buildroot/output/images/boot.vfat' '/home/a0797059/git/buildroot/output/images/u-boot.img' '::'" (stderr): INFO: hdimage(sdcard.img): adding partition 'u-boot' (in MBR) from 'boot.vfat' ... INFO: hdimage(sdcard.img): adding partition 'rootfs' (in MBR) from 'rootfs.ext4' ... INFO: hdimage(sdcard.img): adding partition '[MBR]' ... INFO: hdimage(sdcard.img): writing MBR # List the generated output image files a0797059@ula0797059:~/git/buildroot (am6x-dev) $ ll output/images/ total 351776 drwxr-xr-x 4 a0797059 a0797059 4096 May 15 18:00 ./ drwxrwxr-x 6 a0797059 a0797059 4096 May 15 18:00 ../ -rw-r--r-- 1 a0797059 a0797059 44056 May 15 16:40 bl31.bin -rw-r--r-- 1 a0797059 a0797059 16777216 May 15 18:00 boot.vfat -rw-r--r-- 1 a0797059 a0797059 39475712 May 15 18:00 Image -rwxr-xr-x 1 a0797059 a0797059 38811 May 15 18:00 k3-am642-sk.dtb* -rw-r--r-- 1 a0797059 a0797059 281256 May 15 16:44 r5-u-boot-spl.bin -rw-r--r-- 1 a0797059 a0797059 125829120 May 15 18:00 rootfs.ext2 lrwxrwxrwx 1 a0797059 a0797059 11 May 15 18:00 rootfs.ext4 -> rootfs.ext2 -rw-r--r-- 1 a0797059 a0797059 104734720 May 15 18:00 rootfs.tar -rw-r--r-- 1 a0797059 a0797059 142606848 May 15 18:00 sdcard.img drwxr-xr-x 3 a0797059 a0797059 4096 May 15 16:44 soc/ -rw-r--r-- 1 a0797059 a0797059 411628 May 15 16:39 tee.bin -rw-r--r-- 1 a0797059 a0797059 28 May 15 16:39 tee-header_v2.bin -rw-r--r-- 1 a0797059 a0797059 0 May 15 16:39 tee-pageable_v2.bin -rw-r--r-- 1 a0797059 a0797059 411600 May 15 16:39 tee-pager_v2.bin -rw-r--r-- 1 a0797059 a0797059 505617 May 15 16:44 tiboot3.bin drwxr-xr-x 2 a0797059 a0797059 4096 May 15 16:20 ti-connectivity/ -rw-r--r-- 1 a0797059 a0797059 808916 May 15 16:46 tispl.bin -rw-r--r-- 1 a0797059 a0797059 914036 May 15 16:46 u-boot.img
To build an SD card image for use with the SK-AM62 board simply use a different defconfig file (am62x_sk_defconfig) to reflect the different target platform as shown below. All other setup and build steps apply the same way.
# Establish the Buildroot baseline configuration for building for the SK-AM62 board a0797059@ula0797059:~/git/buildroot (am6x-dev) $ make am62x_sk_defconfig mkdir -p /home/a0797059/git/buildroot/output/build/buildroot-config/lxdialog PKG_CONFIG_PATH="" make CC="/usr/bin/gcc" HOSTCC="/usr/bin/gcc" \ obj=/home/a0797059/git/buildroot/output/build/buildroot-config -C support/kconfig -f Makefile.br conf /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -MM *.c > /home/a0797059/git/buildroot/output/build/buildroot-config/.depend 2>/dev/null || : /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -c conf.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/conf.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" -I. -c /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.c -o /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.o /usr/bin/gcc -I/usr/include/ncursesw -DCURSES_LOC="<curses.h>" -DNCURSES_WIDECHAR=1 -DLOCALE -I/home/a0797059/git/buildroot/output/build/buildroot-config -DCONFIG_=\"\" /home/a0797059/git/buildroot/output/build/buildroot-config/conf.o /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.o -o /home/a0797059/git/buildroot/output/build/buildroot-config/conf rm /home/a0797059/git/buildroot/output/build/buildroot-config/zconf.tab.c # # configuration written to /home/a0797059/git/buildroot/.config #
Testing Graphics Support on AM62x
While the latest patch set enables the driver needed to support graphics on AM62x through the ti-rogue-km and ti-rogue-um packages, it does not enable any framework or application-specific packages out of the box. If you want to experiment and experience the graphics support you can add the following Buildroot config options either by applying the patch shown below or by manually selecting the appropriate options through make menuconfig:
Author: Andreas Dannenberg <dannenberg@ti.com> AuthorDate: Wed May 31 10:50:31 2023 -0500 Commit: Andreas Dannenberg <dannenberg@ti.com> CommitDate: Fri Jun 16 16:34:51 2023 -0500 WIP: configs/am62x_sk_defconfig: enable Weston and Chocolate Doom This is a development/test commit to enable and allow experimenting with the following features: ===Weston=== $ mkdir /tmp/weston-runtime-dir $ export XDG_RUNTIME_DIR=/tmp/weston-runtime-dir $ weston --tty=1 ...or when no keyboard is connected... $ weston --tty=1 --continue-without-input ===Chocolate Doom=== $ chocolate-doom Note: sound not working yet Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> --- configs/am62x_sk_defconfig | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/configs/am62x_sk_defconfig b/configs/am62x_sk_defconfig index c130847e9d..3dfbb0fab6 100644 --- a/configs/am62x_sk_defconfig +++ b/configs/am62x_sk_defconfig @@ -1,5 +1,6 @@ BR2_aarch64=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y +BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_CCACHE=y BR2_CCACHE_INITIAL_SETUP="--max-size 20G" BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y @@ -13,9 +14,16 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/ti/am62x_sk/ti_sdk_arm64_release_defc BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-am625-sk" BR2_LINUX_KERNEL_INSTALL_TARGET=y +BR2_PACKAGE_PULSEAUDIO=y +BR2_PACKAGE_CHOCOLATE_DOOM=y +BR2_PACKAGE_DOOM_WAD=y +BR2_PACKAGE_SDL2_KMSDRM=y +BR2_PACKAGE_SDL2_OPENGLES=y +BR2_PACKAGE_WESTON=y BR2_PACKAGE_LINUX_FIRMWARE=y BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX=y BR2_PACKAGE_TI_ROGUE_UM=y +BR2_PACKAGE_ALSA_LIB=y BR2_TARGET_ROOTFS_EXT2=y BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_ROOTFS_EXT2_SIZE="256M"
Programming the SD Card Images
The generated SD card images are ready to be used to boot the SK-AM64 and SK-AM62 boards and can be written to an SD card using the 'dd' command as follows:
# Copy image to SD card. Make sure you use the proper output device for your # system, otherwise data loss may occur (use 'lsblk' to double-check) a0797059@ula0797059:~/git/buildroot (am6x-dev) $ sudo umount /dev/sdc? a0797059@ula0797059:~/git/buildroot (am6x-dev) $ sudo dd if=output/images/sdcard.img of=/dev/sdc bs=1M status=progress && sync 136+1 records in 136+1 records out 142606848 bytes (143 MB, 136 MiB) copied, 6.35363 s, 22.4 MB/s
Testing the SD Card Image on the SK-AM64 Board
Note: The experimental image is only compatible with AM64x HS-FS devices. For building an image for use on AM64x GP devices revert/undo the changes made by the "board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants" patch provided as part of this solution.
The resulting boot log should look as follows:
U-Boot SPL 2021.01 (May 29 2023 - 13:14:31 -0500) EEPROM not available at 80, trying to read at 81 SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') SPL initial stack usage: 13424 bytes Trying to boot from MMC2 Starting ATF on ARM64 core... NOTICE: BL31: v2.8(release):2023.05-rc1-11-g7d17f891b2 NOTICE: BL31: Built : 13:14:11, May 29 2023 I/TC: I/TC: OP-TEE version: 2023.05-rc1-11-g7d17f891b2 (gcc version 11.3.0 (Buildroot 2023.05-rc1-11-g7d17f891b2)) #1 Mon May 29 18:14:10 UTC 2023 aarch64 I/TC: WARNING: This OP-TEE configuration might be insecure! I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html I/TC: Primary CPU initializing I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') I/TC: HUK Initialized I/TC: Primary CPU switching to normal world boot U-Boot SPL 2021.01 (May 29 2023 - 13:14:43 -0500) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') Trying to boot from MMC2 U-Boot 2021.01 (May 29 2023 - 13:14:43 -0500) SoC: AM64X SR1.0 GP Model: Texas Instruments AM642 SK Board: AM64-SKEVM rev E3 DRAM: 2 GiB NAND: 0 MiB MMC: mmc@fa00000: 1 Loading Environment from FAT... *** Warning - bad CRC, using default environment In: serial@2800000 Out: serial@2800000 Err: serial@2800000 Net: eth0: ethernet@8000000port@1 Warning: ethernet@8000000port@2 MAC addresses don't match: Address in ROM is ac:1f:0f:84:01:dc Address in environment is 70:ff:76:1d:f2:a1 , eth1: ethernet@8000000port@2 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device SD/MMC found on device 1 Failed to load 'boot.scr' Failed to load 'uEnv.txt' 19212800 bytes read in 801 ms (22.9 MiB/s) 41647 bytes read in 5 ms (7.9 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008fef2000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168 (a0797059@dasso) (aarch64-buildroot-linux-gnu-gcc.br_real (Buildroot 2023.05-rc1-11-g7d17f891b2) 11.3.0, GNU ld (GNU Binutils) 2.38) #1 SMP PREEMPT Mon May 29 13:15:03 CDT 2023 [ 0.000000] Machine model: Texas Instruments AM642 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a0000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a0100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a0100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a1000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a1100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a1100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a2000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a2100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a2100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@a3000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a3100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@a3100000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4000000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@a4000000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x00000000a4100000, size 15 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@a4100000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009e7fffff] [ 0.000000] node 0: [mem 0x000000009e800000-0x00000000a57fffff] [ 0.000000] node 0: [mem 0x00000000a5800000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: Trusted OS migration not required [ 0.000000] psci: SMC Calling Convention v1.2 [ 0.000000] percpu: Embedded 22 pages/cpu s51288 r8192 d30632 u90112 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096 [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 mtdparts=fc40000.spi.0:1m(ospi.tiboot3),2m(ospi.tispl),4m(ospi.u-boot),256k(ospi.env),256k(ospi.env.backup),57088k@8m(ospi.rootfs),256k(ospi.phypattern);omap2-nand.0:2m(NAND.tiboot3),2m(NAND.tispl),2m(NAND.tiboot3.backup),4m(NAND.u-boot),256k(NAND.u-boot-env),256k(NAND.u-boot-env.backup),-(NAND.file-system) root=PARTUUID=00000000-02 rw rootfstype=ext4 rootwait [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] Memory: 1398768K/2097152K available (11392K kernel code, 1162K rwdata, 4260K rodata, 1856K init, 431K bss, 174096K reserved, 524288K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=2. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 256 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] GICv3: Distributor has no Range Selector support [ 0.000000] GICv3: 16 PPIs implemented [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001840000 [ 0.000000] ITS [mem 0x01820000-0x0182ffff] [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS [ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19 [ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0) [ 0.000000] ITS: using cache flushing for cmd queue [ 0.000000] GICv3: using LPI property table @0x0000000080030000 [ 0.000000] GIC: using cache flushing for LPI property table [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080040000 [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns [ 0.000005] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns [ 0.008545] Console: colour dummy device 80x25 [ 0.013139] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000) [ 0.023814] pid_max: default: 32768 minimum: 301 [ 0.028637] LSM: Security Framework initializing [ 0.033425] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.041000] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.050992] rcu: Hierarchical SRCU implementation. [ 0.056259] Platform MSI: msi-controller@1820000 domain created [ 0.062632] PCI/MSI: /bus@f4000/interrupt-controller@1800000/msi-controller@1820000 domain created [ 0.071902] EFI services will not be available. [ 0.076804] smp: Bringing up secondary CPUs ... I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot [ 0.090409] Detected VIPT I-cache on CPU1 [ 0.090454] GICv3: CPU1: found redistributor 1 region 0:0x0000000001860000 [ 0.090471] GICv3: CPU1: using allocated LPI pending table @0x0000000080050000 [ 0.090539] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] [ 0.090671] smp: Brought up 1 node, 2 CPUs [ 0.120051] SMP: Total of 2 processors activated. [ 0.124865] CPU features: detected: 32-bit EL0 Support [ 0.130139] CPU features: detected: CRC32 instructions [ 0.143556] CPU: All CPU(s) started at EL2 [ 0.147761] alternatives: patching kernel code [ 0.153555] devtmpfs: initialized [ 0.163975] KASLR disabled due to lack of seed [ 0.168773] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.178746] futex hash table entries: 512 (order: 3, 32768 bytes, linear) [ 0.204748] pinctrl core: initialized pinctrl subsystem [ 0.210818] DMI not present or invalid. [ 0.215511] NET: Registered protocol family 16 [ 0.221967] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations [ 0.229344] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.237454] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.246290] thermal_sys: Registered thermal governor 'step_wise' [ 0.246300] thermal_sys: Registered thermal governor 'power_allocator' [ 0.252911] cpuidle: using governor menu [ 0.263792] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.270804] ASID allocator initialised with 65536 entries [ 0.302253] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages [ 0.309142] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages [ 0.315992] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages [ 0.322838] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages [ 0.331112] cryptd: max_cpu_qlen set to 1000 [ 0.339163] k3-chipinfo 43000014.chipid: Family:AM64X rev:SR1.0 JTAGID[0x0bb3802f] Detected [ 0.348525] vcc_3v3_sys: supplied by vusb_main5v0 [ 0.354835] iommu: Default domain type: Translated [ 0.360272] SCSI subsystem initialized [ 0.364739] mc: Linux media interface: v0.10 [ 0.369137] videodev: Linux video capture interface: v2.00 [ 0.374831] pps_core: LinuxPPS API ver. 1 registered [ 0.379904] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.389265] PTP clock support registered [ 0.393317] EDAC MC: Ver: 3.0.0 [ 0.397551] omap-mailbox 29020000.mailbox: omap mailbox rev 0x66fc9100 [ 0.404477] omap-mailbox 29040000.mailbox: omap mailbox rev 0x66fc9100 [ 0.411311] omap-mailbox 29060000.mailbox: omap mailbox rev 0x66fc9100 [ 0.418828] FPGA manager framework [ 0.422442] Advanced Linux Sound Architecture Driver Initialized. [ 0.429758] clocksource: Switched to clocksource arch_sys_counter [ 0.436316] VFS: Disk quotas dquot_6.6.0 [ 0.440413] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.453863] NET: Registered protocol family 2 [ 0.458626] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.467629] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear) [ 0.476432] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.484665] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear) [ 0.492436] TCP: Hash tables configured (established 16384 bind 16384) [ 0.499378] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.506281] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.513800] NET: Registered protocol family 1 [ 0.518882] RPC: Registered named UNIX socket transport module. [ 0.524976] RPC: Registered udp transport module. [ 0.529819] RPC: Registered tcp transport module. [ 0.534627] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.541216] NET: Registered protocol family 44 [ 0.545782] PCI: CLS 0 bytes, default 64 [ 0.550552] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available [ 0.563671] Initialise system trusted keyrings [ 0.568521] workingset: timestamp_bits=46 max_order=19 bucket_order=0 [ 0.579674] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.586405] NFS: Registering the id_resolver key type [ 0.591663] Key type id_resolver registered [ 0.595951] Key type id_legacy registered [ 0.600143] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.606997] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.614794] 9p: Installing v9fs 9p2000 file system support [ 0.664173] Key type asymmetric registered [ 0.668380] Asymmetric key parser 'x509' registered [ 0.673425] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) [ 0.680996] io scheduler mq-deadline registered [ 0.685625] io scheduler kyber registered [ 0.692108] pinctrl-single 4084000.pinctrl: 33 pins, size 132 [ 0.698582] pinctrl-single f4000.pinctrl: 180 pins, size 720 [ 0.705538] pinctrl-single a40000.timesync-router: 512 pins, size 2048 [ 0.721800] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled [ 0.744828] brd: module loaded [ 0.756469] loop: module loaded [ 0.760747] megasas: 07.714.04.00-rc1 [ 0.768904] tun: Universal TUN/TAP device driver, 1.6 [ 0.774850] igbvf: Intel(R) Gigabit Virtual Function Network Driver [ 0.781284] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 0.787409] sky2: driver version 1.30 [ 0.792483] VFIO - User Level meta-driver version: 0.3 [ 0.799035] i2c /dev entries driver [ 0.804149] sdhci: Secure Digital Host Controller Interface driver [ 0.810498] sdhci: Copyright(c) Pierre Ossman [ 0.815700] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.822982] ledtrig-cpu: registered to indicate activity on CPUs [ 0.829669] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 0.838117] optee: probing for conduit method. I/TC: Reserved shared memory is enabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are disabled [ 0.842736] optee: revision 3.20 (7d17f891) [ 0.859365] optee: dynamic shared memory is enabled [ 0.868915] optee: initialized driver [ 0.875358] NET: Registered protocol family 17 [ 0.880114] 9pnet: Installing 9P2000 support [ 0.884569] Key type dns_resolver registered [ 0.889363] Loading compiled-in X.509 certificates [ 0.912483] ti-sci 44043000.dmsc: lpm region is required for suspend but not provided. [ 0.920688] ti-sci 44043000.dmsc: ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') [ 0.974235] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0 [ 0.980698] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000 [ 0.990246] omap_i2c 20000000.i2c: bus 0 rev0.12 at 100 kHz [ 0.997638] pca953x 1-0070: supply vcc not found, using dummy regulator [ 1.004618] pca953x 1-0070: using no AI [ 1.030737] omap_i2c 20010000.i2c: bus 1 rev0.12 at 400 kHz [ 1.037907] omap_i2c 20020000.i2c: bus 2 rev0.12 at 100 kHz [ 1.044081] ti-sci-intr bus@f4000:bus@4000000:interrupt-controller1: Interrupt Router 5 domain created [ 1.053818] ti-sci-intr bus@f4000:interrupt-controller0: Interrupt Router 3 domain created [ 1.062634] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created [ 1.084356] ti-udma 485c0100.dma-controller: Number of rings: 68 [ 1.092026] ti-udma 485c0100.dma-controller: Channels: 24 (bchan: 12, tchan: 6, rchan: 6) [ 1.102317] ti-udma 485c0000.dma-controller: Number of rings: 288 [ 1.116901] ti-udma 485c0000.dma-controller: Channels: 44 (tchan: 29, rchan: 15) [ 1.127984] printk: console [ttyS2] disabled [ 1.132448] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 16, base_baud = 3000000) is a 8250 [ 1.141213] printk: console [ttyS2] enabled [ 1.141213] printk: console [ttyS2] enabled [ 1.149654] printk: bootconsole [ns16550a0] disabled [ 1.149654] printk: bootconsole [ns16550a0] disabled [ 1.161010] omap8250 2840000.serial: PM domain pd:155 will not be powered off [ 1.168558] 2840000.serial: ttyS6 at MMIO 0x2840000 (irq = 17, base_baud = 3000000) is a 8250 [ 1.177268] serial serial0: tty port ttyS6 registered [ 1.185966] spi-nor spi0.0: s28hs512t (65536 Kbytes) [ 1.190998] 7 cmdlinepart partitions found on MTD device fc40000.spi.0 [ 1.197525] Creating 7 MTD partitions on "fc40000.spi.0": [ 1.202922] 0x000000000000-0x000000100000 : "ospi.tiboot3" [ 1.209821] 0x000000100000-0x000000300000 : "ospi.tispl" [ 1.216348] 0x000000300000-0x000000700000 : "ospi.u-boot" [ 1.222963] 0x000000700000-0x000000740000 : "ospi.env" [ 1.229306] 0x000000740000-0x000000780000 : "ospi.env.backup" [ 1.236342] 0x000000800000-0x000003fc0000 : "ospi.rootfs" [ 1.243005] 0x000003fc0000-0x000004000000 : "ospi.phypattern" [ 1.262306] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode [ 1.305760] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 1.316051] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867 [ 1.324166] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867 [ 1.332371] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA00903, cpsw version 0x6BA80903 Ports: 3 quirks:00000006 [ 1.345250] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.4 [ 1.352379] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512 [ 1.359064] pps pps0: new PPS source ptp0 [ 1.363486] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:1 [ 1.374288] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 16 [ 1.385178] am65-cpts 39000000.cpts: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0 [ 1.394343] k3-j72xx-soc-thermal b00000.temperature-sensor: invalid resource [ 1.401457] k3-j72xx-soc-thermal: probe of b00000.temperature-sensor failed with error -22 [ 1.414390] gpio-478 (btuart_rts_sel): hogged as output/high [ 1.427647] vdd_mmc1: supplied by vcc_3v3_sys [ 1.433267] wlan_en: supplied by com8_ls_en [ 1.442175] mmc0: CQHCI version 5.10 [ 1.442889] debugfs: Directory 'pd:114' with parent 'pm_genpd' already present! [ 1.450233] mmc1: CQHCI version 5.10 [ 1.465499] ALSA device list: [ 1.468507] No soundcards found. [ 1.498283] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit [ 1.498319] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit [ 1.515104] Waiting for root device PARTUUID=00000000-02... [ 1.524023] sdhci-am654 fa10000.mmc: card claims to support voltages below defined range [ 1.543638] mmc0: new SDIO card at address 0001 [ 1.572051] mmc1: new ultra high speed SDR104 SDHC card at address aaaa [ 1.579504] mmcblk1: mmc1:aaaa SC16G 14.8 GiB [ 1.589818] mmcblk1: p1 p2 [ 1.611166] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null) [ 1.619359] VFS: Mounted root (ext4 filesystem) on device 179:2. [ 1.628879] devtmpfs: mounted [ 1.633266] Freeing unused kernel memory: 1856K [ 1.637937] Run /sbin/init as init process [ 1.703193] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null) Starting syslogd: OK Starting klogd: OK Running sysctl: OK Seeding 256 bits without crediting Saving 256 bits of non-creditable seed for next boot Starting network: OK Welcome to Buildroot buildroot login: root # ls -al / total 26 drwxr-xr-x 19 root root 1024 May 29 2023 . drwxr-xr-x 19 root root 1024 May 29 2023 .. drwxr-xr-x 2 root root 2048 May 29 2023 bin drwxr-xr-x 2 root root 1024 May 29 2023 boot drwxr-xr-x 8 root root 4000 Jan 1 00:00 dev drwxr-xr-x 5 root root 1024 May 29 2023 etc drwxr-xr-x 5 root root 1024 May 29 2023 lib lrwxrwxrwx 1 root root 3 May 29 2023 lib64 -> lib lrwxrwxrwx 1 root root 11 May 29 2023 linuxrc -> bin/busybox drwx------ 2 root root 12288 May 29 2023 lost+found drwxr-xr-x 2 root root 1024 Apr 20 2023 media drwxr-xr-x 2 root root 1024 Apr 20 2023 mnt drwxr-xr-x 2 root root 1024 Apr 20 2023 opt dr-xr-xr-x 144 root root 0 Jan 1 00:00 proc drwx------ 2 root root 1024 Jan 1 00:00 root drwxr-xr-x 4 root root 160 Jan 1 00:00 run drwxr-xr-x 2 root root 1024 May 29 2023 sbin dr-xr-xr-x 12 root root 0 Jan 1 00:00 sys drwxrwxrwt 2 root root 60 Jan 1 00:00 tmp drwxr-xr-x 6 root root 1024 May 29 2023 usr drwxr-xr-x 4 root root 1024 May 29 2023 var # ip link set eth0 up [ 70.218350] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL) [ 70.227686] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode # [ 74.338749] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx # ip addr add dev eth0 192.168.1.20/24 # ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: seq=0 ttl=64 time=2.110 ms 64 bytes from 192.168.1.1: seq=1 ttl=64 time=0.706 ms 64 bytes from 192.168.1.1: seq=2 ttl=64 time=0.620 ms 64 bytes from 192.168.1.1: seq=3 ttl=64 time=0.825 ms ^C --- 192.168.1.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max = 0.620/1.065/2.110 ms # poweroff # Stopping network: OK Seeding 256 bits without crediting Saving 256 bits of non-creditable seed for next boot Stopping klogd: OK Stopping syslogd: OK umount: devtmpfs busy - remounted read-only [ 112.344246] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null) The system is going down NOW! Sent SIGTERM to all processes Sent SIGKILL to all processes [ 114.357462] reboot: Power down ERROR: System Off: operation not handled.
Testing the SD Card Image on the SK-AM62 Board
Note: The experimental image is only compatible with AM62x HS-FS devices. For building an image for use on AM62x GP devices revert/undo the changes made by the "board/ti/am62x_sk|am64x_sk: switch to HS-FS device variants" patch provided as part of this solution.
The resulting boot log should look as follows:
U-Boot SPL 2021.01 (May 29 2023 - 13:37:28 -0500) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') SPL initial stack usage: 13424 bytes Trying to boot from MMC2 Loading Environment from MMC... *** Warning - No MMC card found, using default environment Starting ATF on ARM64 core... NOTICE: BL31: v2.8(release):2023.05-rc1-11-g7d17f891b2 NOTICE: BL31: Built : 13:37:08, May 29 2023 I/TC: I/TC: OP-TEE version: 2023.05-rc1-11-g7d17f891b2 (gcc version 11.3.0 (Buildroot 2023.05-rc1-11-g7d17f891b2)) #1 Mon May 29 18:37:06 UTC 2023 aarch64 I/TC: WARNING: This OP-TEE configuration might be insecure! I/TC: WARNING: Please check https://optee.readthedocs.io/en/latest/architecture/porting_guidelines.html I/TC: Primary CPU initializing I/TC: SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') I/TC: HUK Initialized I/TC: Primary CPU switching to normal world boot U-Boot SPL 2021.01 (May 29 2023 - 13:37:39 -0500) SYSFW ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') Trying to boot from MMC2 U-Boot 2021.01 (May 29 2023 - 13:37:39 -0500) SoC: AM62X SR1.0 GP Model: Texas Instruments AM625 SK EEPROM not available at 0x50, trying to read at 0x51 Board: AM62-SKEVM rev E2 DRAM: 2 GiB MMC: mmc@fa10000: 0, mmc@fa00000: 1, mmc@fa20000: 2 Loading Environment from MMC... OK In: serial@2800000 Out: serial@2800000 Err: serial@2800000 Net: eth0: ethernet@8000000port@1 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device SD/MMC found on device 1 Failed to load 'boot.scr' Failed to load 'uEnv.txt' 19212800 bytes read in 247 ms (74.2 MiB/s) 42219 bytes read in 5 ms (8.1 MiB/s) Failed to load '/boot/k3-am625-base-board-jailhouse.dtbo' ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 000000008fef2000, end 000000008fffffff ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 5.10.168 (a0797059@dasso) (aarch64-buildroot-linux-gnu-gcc.br_real (Buildroot 2023.05-rc1-11-g7d17f891b2) 11.3.0, GNU ld (GNU Binutils) 2.38) #1 SMP PREEMPT Mon May 29 13:37:55 CDT 2023 [ 0.000000] Machine model: Texas Instruments AM625 SK [ 0.000000] earlycon: ns16550a0 at MMIO32 0x0000000002800000 (options '') [ 0.000000] printk: bootconsole [ns16550a0] enabled [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009c800000, size 3 MiB [ 0.000000] OF: reserved mem: initialized node ipc-memories@9c800000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cb00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node m4f-dma-memory@9cb00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009cc00000, size 14 MiB [ 0.000000] OF: reserved mem: initialized node m4f-memory@9cc00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009da00000, size 1 MiB [ 0.000000] OF: reserved mem: initialized node r5f-dma-memory@9da00000, compatible id shared-dma-pool [ 0.000000] Reserved memory: created DMA memory pool at 0x000000009db00000, size 12 MiB [ 0.000000] OF: reserved mem: initialized node r5f-memory@9db00000, compatible id shared-dma-pool [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000080000000-0x000000009c7fffff] [ 0.000000] node 0: [mem 0x000000009c800000-0x000000009e6fffff] [ 0.000000] node 0: [mem 0x000000009e700000-0x000000009e77ffff] [ 0.000000] node 0: [mem 0x000000009e780000-0x000000009fffffff] [ 0.000000] node 0: [mem 0x00000000a0000000-0x00000000ffffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x00000000ffffffff] [ 0.000000] cma: Reserved 512 MiB at 0x00000000dd000000 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: Trusted OS migration not required [ 0.000000] psci: SMC Calling Convention v1.2 [ 0.000000] percpu: Embedded 22 pages/cpu s51288 r8192 d30632 u90112 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 516096 [ 0.000000] Kernel command line: console=ttyS2,115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=00000000-02 rw rootfstype=ext4 rootwait [ 0.000000] Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Inode-cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off [ 0.000000] Memory: 1455816K/2097152K available (11392K kernel code, 1162K rwdata, 4260K rodata, 1856K init, 431K bss, 117048K reserved, 524288K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 256 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] GICv3: Distributor has no Range Selector support [ 0.000000] GICv3: 16 PPIs implemented [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000001880000 [ 0.000000] ITS [mem 0x01820000-0x0182ffff] [ 0.000000] GIC: enabling workaround for ITS: Socionext Synquacer pre-ITS [ 0.000000] ITS@0x0000000001820000: Devices Table too large, reduce ids 20->19 [ 0.000000] ITS@0x0000000001820000: allocated 524288 Devices @80800000 (flat, esz 8, psz 64K, shr 0) [ 0.000000] ITS: using cache flushing for cmd queue [ 0.000000] GICv3: using LPI property table @0x0000000080040000 [ 0.000000] GIC: using cache flushing for LPI property table [ 0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000080050000 [ 0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns [ 0.000004] sched_clock: 56 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns [ 0.008493] Console: colour dummy device 80x25 [ 0.013085] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000) [ 0.023767] pid_max: default: 32768 minimum: 301 [ 0.028576] LSM: Security Framework initializing [ 0.033362] Mount-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.040940] Mountpoint-cache hash table entries: 4096 (order: 3, 32768 bytes, linear) [ 0.050729] rcu: Hierarchical SRCU implementation. [ 0.055908] Platform MSI: msi-controller@1820000 domain created [ 0.062192] PCI/MSI: /bus@f0000/interrupt-controller@1800000/msi-controller@1820000 domain created [ 0.071428] EFI services will not be available. [ 0.076332] smp: Bringing up secondary CPUs ... I/TC: Secondary CPU 1 initializing I/TC: Secondary CPU 1 switching to normal world boot I/TC: Secondary CPU 2 initializing I/TC: Secondary CPU 2 switching to normal world boot I/TC: Secondary CPU 3 initializing I/TC: Secondary CPU 3 switching to normal world boot [ 0.089605] Detected VIPT I-cache on CPU1 [ 0.089642] GICv3: CPU1: found redistributor 1 region 0:0x00000000018a0000 [ 0.089658] GICv3: CPU1: using allocated LPI pending table @0x0000000080060000 [ 0.089717] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] [ 0.098366] Detected VIPT I-cache on CPU2 [ 0.098391] GICv3: CPU2: found redistributor 2 region 0:0x00000000018c0000 [ 0.098403] GICv3: CPU2: using allocated LPI pending table @0x0000000080070000 [ 0.098440] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] [ 0.107061] Detected VIPT I-cache on CPU3 [ 0.107083] GICv3: CPU3: found redistributor 3 region 0:0x00000000018e0000 [ 0.107094] GICv3: CPU3: using allocated LPI pending table @0x0000000080080000 [ 0.107126] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] [ 0.107198] smp: Brought up 1 node, 4 CPUs [ 0.186903] SMP: Total of 4 processors activated. [ 0.191715] CPU features: detected: 32-bit EL0 Support [ 0.196979] CPU features: detected: CRC32 instructions [ 0.209497] CPU: All CPU(s) started at EL2 [ 0.213703] alternatives: patching kernel code [ 0.219402] devtmpfs: initialized [ 0.228651] KASLR disabled due to lack of seed [ 0.233389] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.243365] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.264695] pinctrl core: initialized pinctrl subsystem [ 0.270715] DMI not present or invalid. [ 0.275283] NET: Registered protocol family 16 [ 0.281459] DMA: preallocated 256 KiB GFP_KERNEL pool for atomic allocations [ 0.288807] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.296882] DMA: preallocated 256 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.305580] thermal_sys: Registered thermal governor 'step_wise' [ 0.305586] thermal_sys: Registered thermal governor 'power_allocator' [ 0.312123] cpuidle: using governor menu [ 0.322957] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.329995] ASID allocator initialised with 65536 entries [ 0.358115] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages [ 0.364991] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages [ 0.371843] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages [ 0.378694] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages [ 0.386546] cryptd: max_cpu_qlen set to 1000 [ 0.393758] k3-chipinfo 43000014.chipid: Family:AM62X rev:SR1.0 JTAGID[0x0bb7e02f] Detected [ 0.402826] vcc_5v0: supplied by vmain_pd [ 0.407298] vcc_3v3_sys: supplied by vmain_pd [ 0.412178] vcc_1v8: supplied by vcc_3v3_sys [ 0.417510] iommu: Default domain type: Translated [ 0.422836] SCSI subsystem initialized [ 0.427080] mc: Linux media interface: v0.10 [ 0.431466] videodev: Linux video capture interface: v2.00 [ 0.437138] pps_core: LinuxPPS API ver. 1 registered [ 0.442212] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.451563] PTP clock support registered [ 0.455600] EDAC MC: Ver: 3.0.0 [ 0.459451] omap-mailbox 29000000.mailbox: omap mailbox rev 0x66fc9100 [ 0.466590] FPGA manager framework [ 0.470166] Advanced Linux Sound Architecture Driver Initialized. [ 0.477230] clocksource: Switched to clocksource arch_sys_counter [ 0.483685] VFS: Disk quotas dquot_6.6.0 [ 0.487745] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.499983] NET: Registered protocol family 2 [ 0.504730] IP idents hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.513470] tcp_listen_portaddr_hash hash table entries: 1024 (order: 2, 16384 bytes, linear) [ 0.522248] TCP established hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.530450] TCP bind hash table entries: 16384 (order: 6, 262144 bytes, linear) [ 0.538176] TCP: Hash tables configured (established 16384 bind 16384) [ 0.545061] UDP hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.551959] UDP-Lite hash table entries: 1024 (order: 3, 32768 bytes, linear) [ 0.559440] NET: Registered protocol family 1 [ 0.564350] RPC: Registered named UNIX socket transport module. [ 0.570421] RPC: Registered udp transport module. [ 0.575257] RPC: Registered tcp transport module. [ 0.580069] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.586660] NET: Registered protocol family 44 [ 0.591219] PCI: CLS 0 bytes, default 64 [ 0.595986] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available [ 0.608074] Initialise system trusted keyrings [ 0.612829] workingset: timestamp_bits=46 max_order=19 bucket_order=0 [ 0.622963] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.629527] NFS: Registering the id_resolver key type [ 0.634735] Key type id_resolver registered [ 0.639013] Key type id_legacy registered [ 0.643165] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.650025] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.657773] 9p: Installing v9fs 9p2000 file system support [ 0.698365] Key type asymmetric registered [ 0.702561] Asymmetric key parser 'x509' registered [ 0.707584] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 243) [ 0.715149] io scheduler mq-deadline registered [ 0.719779] io scheduler kyber registered [ 0.725933] pinctrl-single 4084000.pinctrl: 34 pins, size 136 [ 0.732242] pinctrl-single f4000.pinctrl: 171 pins, size 684 [ 0.745157] Serial: 8250/16550 driver, 10 ports, IRQ sharing enabled [ 0.764559] brd: module loaded [ 0.774716] loop: module loaded [ 0.778828] megasas: 07.714.04.00-rc1 [ 0.786115] tun: Universal TUN/TAP device driver, 1.6 [ 0.791822] igbvf: Intel(R) Gigabit Virtual Function Network Driver [ 0.798245] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 0.804354] sky2: driver version 1.30 [ 0.809028] VFIO - User Level meta-driver version: 0.3 [ 0.815260] i2c /dev entries driver [ 0.820455] sdhci: Secure Digital Host Controller Interface driver [ 0.826796] sdhci: Copyright(c) Pierre Ossman [ 0.831565] sdhci-pltfm: SDHCI platform and OF driver helper [ 0.838387] ledtrig-cpu: registered to indicate activity on CPUs [ 0.844868] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 0.852897] optee: probing for conduit method. I/TC: Reserved shared memory is enabled I/TC: Dynamic shared memory is enabled I/TC: Normal World virtualization support is disabled I/TC: Asynchronous notifications are disabled [ 0.857485] optee: revision 3.20 (7d17f891) [ 0.874046] optee: dynamic shared memory is enabled [ 0.883548] optee: initialized driver [ 0.889267] NET: Registered protocol family 17 [ 0.893975] 9pnet: Installing 9P2000 support [ 0.898423] Key type dns_resolver registered [ 0.903138] Loading compiled-in X.509 certificates [ 0.918897] ti-sci 44043000.system-controller: lpm region is required for suspend but not provided. [ 0.928225] ti-sci 44043000.system-controller: ABI: 3.1 (firmware rev 0x0008 '8.6.4--v08.06.04 (Chill Capybar') [ 0.992289] davinci-mcasp 2b10000.mcasp: IRQ common not found [ 1.000554] omap-gpmc 3b000000.memory-controller: GPMC revision 6.0 [ 1.007012] gpmc_mem_init: disabling cs 0 mapped at 0x0-0x1000000 [ 1.015971] omap_i2c 20000000.i2c: bus 0 rev0.12 at 400 kHz [ 1.023618] omap_i2c 20010000.i2c: bus 1 rev0.12 at 100 kHz [ 1.029898] ti-sci-intr 4210000.interrupt-controller: Interrupt Router 5 domain created [ 1.038246] ti-sci-intr bus@f0000:interrupt-controller@a00000: Interrupt Router 3 domain created [ 1.047498] ti-sci-inta 48000000.interrupt-controller: Interrupt Aggregator domain 28 created [ 1.056940] ti-udma 485c0100.dma-controller: Number of rings: 82 [ 1.064897] ti-udma 485c0100.dma-controller: Channels: 48 (bchan: 18, tchan: 12, rchan: 18) [ 1.075820] ti-udma 485c0000.dma-controller: Number of rings: 150 [ 1.085628] ti-udma 485c0000.dma-controller: Channels: 35 (tchan: 20, rchan: 15) [ 1.095649] printk: console [ttyS2] disabled [ 1.100097] 2800000.serial: ttyS2 at MMIO 0x2800000 (irq = 27, base_baud = 3000000) is a 8250 [ 1.108863] printk: console [ttyS2] enabled [ 1.108863] printk: console [ttyS2] enabled [ 1.117305] printk: bootconsole [ns16550a0] disabled [ 1.117305] printk: bootconsole [ns16550a0] disabled [ 1.131907] spi-nor spi0.0: s28hs512t (65536 Kbytes) [ 1.136935] 7 fixed-partitions partitions found on MTD device fc40000.spi.0 [ 1.143888] Creating 7 MTD partitions on "fc40000.spi.0": [ 1.149288] 0x000000000000-0x000000080000 : "ospi.tiboot3" [ 1.155965] 0x000000080000-0x000000280000 : "ospi.tispl" [ 1.162317] 0x000000280000-0x000000680000 : "ospi.u-boot" [ 1.168682] 0x000000680000-0x0000006c0000 : "ospi.env" [ 1.174806] 0x0000006c0000-0x000000700000 : "ospi.env.backup" [ 1.181529] 0x000000800000-0x000003fc0000 : "ospi.rootfs" [ 1.187916] 0x000003fc0000-0x000004000000 : "ospi.phypattern" [ 1.200478] davinci_mdio 8000f00.mdio: Configuring MDIO in manual mode [ 1.245235] davinci_mdio 8000f00.mdio: davinci mdio revision 9.7, bus freq 1000000 [ 1.254975] davinci_mdio 8000f00.mdio: phy[0]: device 8000f00.mdio:00, driver TI DP83867 [ 1.263082] davinci_mdio 8000f00.mdio: phy[1]: device 8000f00.mdio:01, driver TI DP83867 [ 1.271258] am65-cpsw-nuss 8000000.ethernet: initializing am65 cpsw nuss version 0x6BA01103, cpsw version 0x6BA81103 Ports: 3 quirks:00000006 [ 1.284094] am65-cpsw-nuss 8000000.ethernet: initialized cpsw ale version 1.5 [ 1.291220] am65-cpsw-nuss 8000000.ethernet: ALE Table size 512 [ 1.297868] am65-cpsw-nuss 8000000.ethernet: CPTS ver 0x4e8a010c, freq:500000000, add_val:1 pps:0 [ 1.308207] am65-cpsw-nuss 8000000.ethernet: set new flow-id-base 19 [ 1.318296] rtc-ti-k3 2b1f0000.rtc: registered as rtc0 [ 1.323486] rtc-ti-k3 2b1f0000.rtc: setting system clock to 1970-01-01T00:00:07 UTC (7) [ 1.435966] mmc0: CQHCI version 5.10 [ 1.437398] davinci-mcasp 2b10000.mcasp: IRQ common not found [ 1.457045] pca953x 1-0022: supply vcc not found, using dummy regulator [ 1.463797] pca953x 1-0022: using AI [ 1.475883] mmc0: SDHCI controller on fa10000.mmc [fa10000.mmc] using ADMA 64-bit [ 1.492553] sii902x 1-003b: supply iovcc not found, using dummy regulator [ 1.499466] sii902x 1-003b: supply cvcc12 not found, using dummy regulator [ 1.509153] i2c i2c-1: Added multiplexed i2c bus 2 [ 1.516003] [drm] Initialized tidss 1.0.0 20180215 for 30200000.dss on minor 0 [ 1.523744] tidss 30200000.dss: [drm] Cannot find any crtc or sizes [ 1.532822] vdd_mmc1: supplied by vcc_3v3_sys [ 1.539018] wlan_lten: supplied by vcc_3v3_sys [ 1.545113] debugfs: Directory 'pd:53' with parent 'pm_genpd' already present! [ 1.545507] wlan_en: supplied by wlan_lten [ 1.545833] mmc1: CQHCI version 5.10 [ 1.552395] debugfs: Directory 'pd:52' with parent 'pm_genpd' already present! [ 1.556662] mmc2: CQHCI version 5.10 [ 1.560175] debugfs: Directory 'pd:51' with parent 'pm_genpd' already present! [ 1.578503] mmc0: Command Queue Engine enabled [ 1.578515] debugfs: Directory 'pd:182' with parent 'pm_genpd' already present! [ 1.582967] mmc0: new HS200 MMC card at address 0001 [ 1.589775] mmc1: SDHCI controller on fa00000.mmc [fa00000.mmc] using ADMA 64-bit [ 1.603768] mmcblk0: mmc0:0001 S0J56X 14.8 GiB [ 1.608075] mmc2: SDHCI controller on fa20000.mmc [fa20000.mmc] using ADMA 64-bit [ 1.608679] mmcblk0boot0: mmc0:0001 S0J56X partition 1 31.5 MiB [ 1.622157] mmcblk0boot1: mmc0:0001 S0J56X partition 2 31.5 MiB [ 1.628370] mmcblk0rpmb: mmc0:0001 S0J56X partition 3 4.00 MiB, chardev (237:0) [ 1.636135] sdhci-am654 fa20000.mmc: card claims to support voltages below defined range [ 1.643267] ALSA device list: [ 1.647184] No soundcards found. [ 1.651068] Waiting for root device PARTUUID=00000000-02... [ 1.656328] mmc2: new high speed SDIO card at address 0001 [ 1.683832] mmc1: new ultra high speed SDR104 SDHC card at address aaaa [ 1.691128] mmcblk1: mmc1:aaaa SC16G 14.8 GiB [ 1.701015] mmcblk1: p1 p2 [ 1.764159] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null) [ 1.772341] VFS: Mounted root (ext4 filesystem) on device 179:98. [ 1.782166] devtmpfs: mounted [ 1.786425] Freeing unused kernel memory: 1856K [ 1.791043] Run /sbin/init as init process [ 1.852963] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null) Starting syslogd: OK Starting klogd: OK Running sysctl: OK Seeding 256 bits without crediting Saving 256 bits of non-creditable seed for next boot Starting network: OK Welcome to Buildroot buildroot login: root # ls -al / total 26 drwxr-xr-x 19 root root 1024 May 29 2023 . drwxr-xr-x 19 root root 1024 May 29 2023 .. drwxr-xr-x 2 root root 2048 May 29 2023 bin drwxr-xr-x 2 root root 1024 May 29 2023 boot drwxr-xr-x 9 root root 4120 Jan 1 00:00 dev drwxr-xr-x 5 root root 1024 May 29 2023 etc drwxr-xr-x 5 root root 1024 May 29 2023 lib lrwxrwxrwx 1 root root 3 May 29 2023 lib64 -> lib lrwxrwxrwx 1 root root 11 May 29 2023 linuxrc -> bin/busybox drwx------ 2 root root 12288 May 29 2023 lost+found drwxr-xr-x 2 root root 1024 Apr 20 2023 media drwxr-xr-x 2 root root 1024 Apr 20 2023 mnt drwxr-xr-x 2 root root 1024 Apr 20 2023 opt dr-xr-xr-x 172 root root 0 Jan 1 00:00 proc drwx------ 2 root root 1024 Jan 1 00:00 root drwxr-xr-x 4 root root 160 Jan 1 00:00 run drwxr-xr-x 2 root root 1024 May 29 2023 sbin dr-xr-xr-x 12 root root 0 Jan 1 00:00 sys drwxrwxrwt 2 root root 60 Jan 1 00:00 tmp drwxr-xr-x 6 root root 1024 May 29 2023 usr drwxr-xr-x 4 root root 1024 May 29 2023 var # ip link set eth0 up [ 21.144150] am65-cpsw-nuss 8000000.ethernet eth0: PHY [8000f00.mdio:00] driver [TI DP83867] (irq=POLL) [ 21.153472] am65-cpsw-nuss 8000000.ethernet eth0: configuring for phy/rgmii-rxid link mode # [ 24.213979] am65-cpsw-nuss 8000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx # ip addr add dev eth0 192.168.1.20/24 # ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes 64 bytes from 192.168.1.1: seq=0 ttl=64 time=2.140 ms 64 bytes from 192.168.1.1: seq=1 ttl=64 time=0.627 ms 64 bytes from 192.168.1.1: seq=2 ttl=64 time=0.598 ms 64 bytes from 192.168.1.1: seq=3 ttl=64 time=0.672 ms 64 bytes from 192.168.1.1: seq=4 ttl=64 time=0.556 ms ^C --- 192.168.1.1 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max = 0.556/0.918/2.140 ms # poweroff # Stopping network: OK Seeding 256 bits without crediting Saving 256 bits of non-creditable seed for next boot Stopping klogd: OK Stopping syslogd: OK umount: devtmpfs busy - remounted read-only [ 49.709094] EXT4-fs (mmcblk1p2): re-mounted. Opts: (null) The system is going down NOW! Sent SIGTERM to all processes Sent SIGKILL to all processes [ 51.732249] reboot: Power down ERROR: System Off: operation not handled.
Patch Tarballs
Archive Name / Link | Change Log |
buildroot-am64-sk-15-may-2023.tar.gz |
|
buildroot-am64-sk-am62-sk-29-may-2023.tar.gz |
|
buildroot-am64-sk-am62-sk-1-jun-2023.tar.gz |
|
buildroot-am64-sk-am62-sk-patch-v8-15-jun-2023.tar.gz |
|
buildroot-am64-sk-am62-sk-patch-v9-22-jun-2023.tar.gz |
|