Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit afb074b

Browse files
use FIT image for ti_j784s4 flasher
using latest Fedora kernel. It doesn't boot with bootm properly without increasing CONFIG_SYS_BOOTM_LEN, but we can still use the FIT format.
1 parent 9a72726 commit afb074b

5 files changed

Lines changed: 125 additions & 8 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
3+
dnf install --setopt=install_weak_deps=false -y git make gcc gcc-c++ which file diffutils wget cpio rsync bc lzop zip patch perl tar qemu-system-aarch64 qemu-img unzboot uboot-tools kmod
4+
5+
git clone --depth 1 --branch 2025.05-rc2 https://github.com/buildroot/buildroot /buildroot
6+
7+
./add_kernel.sh
8+
cp -R overlay /buildroot
9+
cp ti_defconfig /buildroot/configs/
10+
( cd /buildroot; make ti_defconfig && make )
11+
mkimage -f flasher.its flasher.itb
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
/dts-v1/;
2+
3+
/ {
4+
description = "TI flasher FIT Image";
5+
#address-cells = <1>;
6+
7+
images {
8+
kernel {
9+
description = "Kernel";
10+
data = /incbin/("/buildroot/output/images/Image");
11+
type = "kernel";
12+
arch = "arm64";
13+
os = "linux";
14+
compression = "none";
15+
load = <0x80000000>;
16+
entry = <0x80000000>;
17+
hash {
18+
algo = "sha256";
19+
};
20+
};
21+
fdt-j784s4 {
22+
description = "DTB J784S4EVM";
23+
data = /incbin/("/buildroot/output/images/k3-j784s4-evm.dtb");
24+
type = "flat_dt";
25+
arch = "arm64";
26+
compression = "none";
27+
load = <0x88000000>;
28+
hash {
29+
algo = "sha256";
30+
};
31+
};
32+
fdt-am69 {
33+
description = "DTB SK-AM69";
34+
data = /incbin/("/buildroot/output/images/k3-am69-sk.dtb");
35+
type = "flat_dt";
36+
arch = "arm64";
37+
compression = "none";
38+
load = <0x88000000>;
39+
hash {
40+
algo = "sha256";
41+
};
42+
};
43+
};
44+
45+
configurations {
46+
default = "j784s4";
47+
j784s4 {
48+
description = "Boot J784S4";
49+
kernel = "kernel";
50+
fdt = "fdt-j784s4";
51+
hash {
52+
algo = "sha256";
53+
};
54+
};
55+
am69 {
56+
description = "Boot AM69";
57+
kernel = "kernel";
58+
fdt = "fdt-am69";
59+
hash {
60+
algo = "sha256";
61+
};
62+
};
63+
};
64+
};

packages/jumpstarter-driver-flashers/oci_bundles/ti_j784s4xevm/manifest.yaml

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
manufacturer: Texas Instruments
77
link: "https://www.ti.com/tool/PROCESSOR-SDK-J784S4"
8-
bootcmd: "booti 0x82000000 - 0x84000000"
8+
bootcmd: "imxtract 0x90000000 fdt-j784s4 0x88000000; imxtract 0x90000000 kernel 0x80000000; booti 0x80000000 - 0x88000000"
99
shelltype: "busybox"
1010
login:
1111
login_prompt: "login:"
@@ -25,10 +25,5 @@ spec:
2525
# - "dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=34"
2626
# - "dd if=/dev/zero of=/dev/mmcblk1 bs=512 count=34"
2727
kernel:
28-
file: data/J784S4XEVM.flasher.img
29-
address: "0x82000000"
30-
dtb:
31-
default: k3-j784s4-evm
32-
address: "0x84000000"
33-
variants:
34-
k3-j784s4-evm: data/dtbs/k3-j784s4-evm.dtb
28+
file: data/flasher.itb
29+
address: "0x90000000"
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/sh
2+
3+
IF_WAIT_DELAY=30
4+
5+
if [ "${IFACE}" != "lo" ]; then
6+
ip link set ${IFACE} up
7+
printf "Waiting for interface %s carrier" "${IFACE}"
8+
while [ ${IF_WAIT_DELAY} -gt 0 ]; do
9+
if [ "$(cat /sys/class/net/${IFACE}/carrier)" = "1" ]; then
10+
printf "\n"
11+
exit 0
12+
fi
13+
sleep 1
14+
printf "."
15+
: $((IF_WAIT_DELAY -= 1))
16+
done
17+
printf " timeout!\n"
18+
exit 1
19+
fi
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
BR2_aarch64=y
2+
BR2_TOOLCHAIN_EXTERNAL=y
3+
BR2_TARGET_GENERIC_HOSTNAME="flasher"
4+
BR2_TARGET_GENERIC_ISSUE="flasher"
5+
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
6+
BR2_TARGET_GENERIC_ROOT_PASSWD=""
7+
BR2_SYSTEM_DHCP="eth0"
8+
BR2_ROOTFS_OVERLAY="$(CONFIG_DIR)/overlay"
9+
BR2_PACKAGE_CA_CERTIFICATES=y
10+
BR2_PACKAGE_OPENSSL=y
11+
BR2_PACKAGE_LIBCURL=y
12+
BR2_PACKAGE_LIBCURL_CURL=y
13+
BR2_PACKAGE_NTP=y
14+
BR2_PACKAGE_NTP_SNTP=y
15+
BR2_PACKAGE_NTP_NTPDATE=y
16+
BR2_TARGET_ROOTFS_CPIO=y
17+
BR2_TARGET_ROOTFS_CPIO_LZO=y
18+
BR2_PACKAGE_DROPBEAR=n
19+
# BR2_TARGET_ROOTFS_TAR is not set
20+
#
21+
BR2_TARGET_ROOTFS_INITRAMFS=y
22+
BR2_LINUX_KERNEL=y
23+
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
24+
BR2_LINUX_KERNEL_LZO=y
25+
BR2_LINUX_KERNEL_IMAGE=y
26+
BR2_LINUX_KERNEL_DTS_SUPPORT=y
27+
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-j784s4-evm ti/k3-am69-sk"
28+

0 commit comments

Comments
 (0)