openwrt/package/boot
Enrico Mioso 4ff02b46b9
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Build all core packages / Build all core packages for selected target (push) Waiting to run
uboot-mediatek: add support for GL.iNet GL-MT2500
Add an OpenWrt-based U-Boot build for this device, allowing for more
flexibility and customization.

Expected behaviour
------------------
When plugging the device, keeping the reset button pressed will enter
TFTP recovery mode: the board will send requests for the initramfs file
(openwrt-mediatek-filogic-glinet_gl-mt2500-initramfs-kernel.bin) from
IP 192.168.1.1 to 192.168.1.10 TFTP server.
The bootloader will populate the environment with the unit serial number
as reported by the "sn" value in eMMC, the "sn_bak" value, the country
code and ddns. WAN and LAN MAC addresses are reported in the environment
as well.

Limitations
-----------
No web interface is available, and only the LAN port can be used for
system recovery.

Notes
-----
This port has been tested with the Maxlinear version only, and with a
board that does not exhibit eMMC communication problems. Even though eMMC
frequency has been lowered, some testing is probably needed and always
very welcome.
A -factory image has been introduced, and is only needed when using the
"Load Firmware via TFTP then write to eMMC." boot menu function.
The device has not been converted to use uImage.FIT including the rootfs
to keep compatibility with stock bootloader and firmware.

Installation
------------
From a Linux root shell:
0. Transfer the needed files to the board, placing them in /tmp.
1. Make sure your U-Boot environment is erased: all of my units came with
unpopulated environment, but I am not sure this is always the case.
Issue the command
cat /dev/zero >/dev/mmcblk0p2
(you will get a "no space left" error, which is reasonable and expected).
2. Unlock the eMMC boot area where BL2 is located:
echo 0 >/sys/block/mmcblk0boot0/force_ro
3. Write the new BL2 code:
cat openwrt-mediatek-filogic-glinet_gl-mt2500-emmc-preloader.bin >/dev/mmcblk0boot0
4. Write new BL31+U-Boot image:
cat openwrt-mediatek-filogic-glinet_gl-mt2500-emmc-bl31-uboot.fip >/dev/mmcblk0p4
5. Reboot.

Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com>
2025-07-18 14:02:18 +01:00
..
apex treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
arm-trusted-firmware-bcm63xx include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack 2024-12-22 23:48:53 +01:00
arm-trusted-firmware-mediatek mediatek: add ubootmod layout for cudy tr3000 v1 2025-05-27 19:56:55 +08:00
arm-trusted-firmware-mvebu include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack 2024-12-22 23:48:53 +01:00
arm-trusted-firmware-rockchip arm-trusted-firmware-rockchip: support rk3588 2025-04-06 14:22:19 +03:00
arm-trusted-firmware-stm32 arm-trusted-firmware-stm32: rework patch for the RTC configuration 2025-05-03 20:01:43 +02:00
arm-trusted-firmware-sunxi include/trusted-firmware-a.mk: remove the no-warn-rwx-segments hack 2024-12-22 23:48:53 +01:00
arm-trusted-firmware-tools arm-trusted-firmware-tools: update to version 2.12 2025-02-13 03:16:40 +00:00
at91bootstrap at91bootstrap: put at91bootstrap images into image staging directory 2025-04-04 14:39:00 +02:00
fconfig treewide: unify OpenWrt hosted source via @OPENWRT 2021-02-05 12:00:24 -10:00
grub2 grub2: add EFI support for loongarch64 2024-05-04 14:14:24 +08:00
imx-bootlets imx-bootlets: bump to 10.12.01 2025-02-05 22:00:09 +01:00
kexec-tools kexec-tools: Add license 2025-07-12 23:27:26 +02:00
kobs-ng kobs-ng: Mark as nonshared to build in step 1 2024-07-30 21:42:33 +02:00
mt7623n-preloader mt7623n-preloader: remove mt7622-preloader 2021-02-28 04:12:23 +00:00
opensbi opensbi: update tarball hash compressed by the zstd 1.5.7 2025-07-13 16:24:10 +02:00
optee-os-stm32 optee-os-stm32: bump to 4.6.0 2025-05-03 20:01:43 +02:00
rkbin arm-trusted-firmware-rockchip: support rk3588 2025-04-06 14:22:19 +03:00
tfa-layerscape tfa-layerscape: set BUILD_DEVICES 2025-04-13 11:25:14 +02:00
uboot-armsr boot: uboot-armsr: update to U-Boot 2025.04 2025-05-22 18:50:24 +02:00
uboot-at91 at91: put u-boot images into image staging directory 2025-04-04 14:39:00 +02:00
uboot-ath79 uboot-ath79: update to v2025.04 2025-04-17 19:15:42 +02:00
uboot-bcm53xx uboot-bcm53xx: bump to 2024.01 2024-01-20 19:38:20 +01:00
uboot-bcm4908 uboot-bcm4908: fix build with GCC14 2025-05-23 00:10:23 +02:00
uboot-bmips uboot-bmips: Add U-Boot for the BMIPS target 2024-05-01 21:30:32 +02:00
uboot-d1 uboot-d1: Adapt BUILD_DEVICES to renamed boards 2024-12-23 01:49:04 +01:00
uboot-fritz4040 treewide: package: update missed hashes after switch to ZSTD 2024-04-07 14:56:04 +02:00
uboot-imx treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-kirkwood uboot-kirkwood: fix compilation with GCC14 2024-09-25 22:50:09 +02:00
uboot-lantiq boot-lantiq: Fix compilation with GCC 14 2025-05-03 22:04:13 +02:00
uboot-layerscape uboot-layerscape: bump to lf-6.6.23-2.0.0 2024-09-22 16:21:02 +02:00
uboot-mediatek uboot-mediatek: add support for GL.iNet GL-MT2500 2025-07-18 14:02:18 +01:00
uboot-mvebu uboot-mvebu: update to version 2025.04 2025-05-22 23:58:52 +02:00
uboot-mxs packages: refresh patches 2024-05-31 11:30:06 +02:00
uboot-omap treewide: replace AUTORELEASE with real PKG_RELEASE 2023-05-18 11:35:29 +02:00
uboot-rockchip uboot-rockchip: bump to 2025.04 2025-04-22 20:02:36 +03:00
uboot-sifiveu uboot-sifiveu: drop PWM-related patches 2025-05-02 22:46:53 +02:00
uboot-stm32 uboot-stm32: bump to 2025.04 2025-05-03 20:01:43 +02:00
uboot-sunxi sunxi: add support for OrangePi Zero 2W 2025-06-16 23:10:54 +02:00
uboot-tegra uboot-tegra: disable mkeficapsule build 2025-07-13 17:18:15 +02:00
uboot-tools uboot-tools: envtools: ipq95xx: use common function 2025-07-13 16:43:34 +02:00
uboot-zynq packages: refresh patches 2024-05-31 11:30:06 +02:00