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

Commit 9c48d55

Browse files
use FIT image for ti_j784s4 flasher
using latest Fedora kernel. include DTBs for J784S4XEVM and SK-AM69
1 parent c54b441 commit 9c48d55

5 files changed

Lines changed: 148 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 data/flasher.itb
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
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+
initrd {
22+
description = "Initrd";
23+
data = /incbin/("/buildroot/output/images/rootfs.cpio.lzo");
24+
type = "ramdisk";
25+
arch = "arm64";
26+
os = "linux";
27+
compression = "none";
28+
hash {
29+
algo = "sha256";
30+
};
31+
};
32+
fdt-j784s4 {
33+
description = "DTB J784S4EVM";
34+
data = /incbin/("/buildroot/output/images/k3-j784s4-evm.dtb");
35+
type = "flat_dt";
36+
arch = "arm64";
37+
compression = "none";
38+
load = <0x88000000>;
39+
hash {
40+
algo = "sha256";
41+
};
42+
};
43+
fdt-am69 {
44+
description = "DTB SK-AM69";
45+
data = /incbin/("/buildroot/output/images/k3-am69-sk.dtb");
46+
type = "flat_dt";
47+
arch = "arm64";
48+
compression = "none";
49+
load = <0x88000000>;
50+
hash {
51+
algo = "sha256";
52+
};
53+
};
54+
};
55+
56+
configurations {
57+
default = "j784s4";
58+
j784s4 {
59+
description = "Boot J784S4";
60+
kernel = "kernel";
61+
fdt = "fdt-j784s4";
62+
ramdisk = "initrd";
63+
hash {
64+
algo = "sha256";
65+
};
66+
};
67+
am69 {
68+
description = "Boot AM69";
69+
kernel = "kernel";
70+
fdt = "fdt-am69";
71+
ramdisk = "initrd";
72+
hash {
73+
algo = "sha256";
74+
};
75+
};
76+
};
77+
};

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

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ metadata:
55
spec:
66
manufacturer: Texas Instruments
77
link: "https://www.ti.com/tool/PROCESSOR-SDK-J784S4"
8-
bootcmd: "booti 0x82000000 - 0x84000000"
8+
# boot using the default configuration built-in flasher.itb, j784s4
9+
# you can boot included alternative configurations, e.g. for SK-AM69 use "bootm 0x90000000#am69"
10+
bootcmd: "bootm 0x90000000"
911
shelltype: "busybox"
1012
login:
1113
login_prompt: "login:"
@@ -24,11 +26,12 @@ spec:
2426
# preflash_commands:
2527
# - "dd if=/dev/zero of=/dev/mmcblk0 bs=512 count=34"
2628
# - "dd if=/dev/zero of=/dev/mmcblk1 bs=512 count=34"
29+
#
30+
# supply custom DTB by loading your own re-using the included kernel and initrd by e.g:
31+
# bootcmd: "bootm 0x90000000:kernel 0x90000000:initrd 0x88000000"
32+
# dtb:
33+
# file: my.dtb
34+
# address: "0x88000000"
2735
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
36+
file: data/flasher.itb
37+
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: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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+
# include initramfs within the kernel Image
22+
# on J784S4 the size exceeds uboot's CONFIG_SYS_BOOTM_LEN
23+
# BR2_TARGET_ROOTFS_INITRAMFS=y
24+
BR2_LINUX_KERNEL=y
25+
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
26+
BR2_LINUX_KERNEL_LZO=y
27+
BR2_LINUX_KERNEL_IMAGE=y
28+
BR2_LINUX_KERNEL_DTS_SUPPORT=y
29+
BR2_LINUX_KERNEL_INTREE_DTS_NAME="ti/k3-j784s4-evm ti/k3-am69-sk"
30+

0 commit comments

Comments
 (0)