openwrt/target/linux/mvebu/image/ripe-atlas.bootscript
Tomáš Macholda 42b10de18d mvebu: add support for RIPE Atlas Probe v5
RIPE Atlas Probe v5 is a network measurement device based on Turris MOX.

u-boot bootscript supports booting both from the original Turris BTRFS
layout and default OpenWrt ext4 boot + root partition layout.

Specifications:
* SoC: Marvell ARMADA 3720
* RAM: 512 MiB, DDR3
* eMMC: 4G
* Ethernet: 1x 1GbE

MAC:
LAN MAC: label on board

Flash instructions:
* For using the default ext4 layout, boot into a live system using
tftpboot in u-boot and flash an OpenWrt SD image onto /dev/mmcblk0.
* For the Turris layout, put the new rootfs into subvolume '@', not
forgetting to add Image, device tree, and boot.scr to /boot.

Misc:
* USB connection is only for power. For UART access use the pin header:
  1: GND
  2: +1.8V
  5: TX
  6: RX
* Flashing the image onto Turris Shield won't work. Use Turris MOX image
  instead.

Signed-off-by: Tomáš Macholda <tomas.macholda@nic.cz>
Link: https://github.com/openwrt/openwrt/pull/20031
(cherry picked from commit 0271f2ee36)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/22048
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-17 01:40:00 +01:00

51 lines
1.6 KiB
Text

if part uuid ${devtype} ${devnum}:${distro_bootpart} bootuuid; then
if test "${bootfstype}" = "btrfs"; then
# Original BTRFS partition layout
rootdev="PARTUUID=${bootuuid}"
rootflags="commit=5,subvol=@"
bootpath="/@/boot"
else
# OpenWrt default ext4 bootpart + rootpart layout
setexpr rootpart ${distro_bootpart} + 1
rootdev="/dev/mmcblk0p${rootpart}"
rootflags="commit=5"
bootpath="/"
fi
load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${bootpath}/armada-3720-atlas-v5.dtb
if test "$filesize" != "0"; then
has_dtb=1
else
setenv has_dtb 0
echo "Cannot find device tree binary!"
fi
if test $has_dtb -eq 1; then
load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} ${bootpath}/Image
if test "$filesize" = "0"; then
echo "Failed to load ${bootpath}/Image"
echo "Now trying ${bootpath}/Image.lzma"
tmp_addr_r=0x10000000
load ${devtype} ${devnum}:${distro_bootpart} ${tmp_addr_r} ${bootpath}/Image.lzma
if test "$filesize" != "0"; then
if lzmadec ${tmp_addr_r} ${kernel_addr_r}; then
echo "Successfully decompressed Image.lzma"
else
echo "Failed decompressing Image.lzma"
filesize=0
fi
else
echo "Failed to load ${subvol}/boot/Image.lzma"
fi
fi
if test "$filesize" != "0"; then
setenv bootargs "earlyprintk console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000 rootfstype=${bootfstype} root=${rootdev} rootflags=${rootflags} rootwait ${contract} rw cfg80211.freg=${regdomain} ${quirks}"
booti ${kernel_addr_r} - ${fdt_addr_r}
echo "Booting Image failed"
else
echo "Cannot load kernel binary"
fi
fi
env delete bootuuid rootpart
fi