aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot
Commit message (Collapse)AuthorAgeFilesLines
* uboot-mediatek: fix determine the size of an uImage.FIT using 'imsz' or 'imszb'.Jianhui Zhao2023-10-311-7/+5
| | | | | | | | It must read the entire image for previous code of 'imsz' or 'imszb'. Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com> Suggested-by: Chuanhong Guo <gch981213@gmail.com> (cherry picked from commit 3bbc1d5fba1d700917138334a48c16bafdf48de9)
* uboot-mediatek: add build for mt7981 rfbDaniel Golle2023-10-314-0/+808
| | | | | | | | Improve and package builds for various boot media configurations of the MediaTek MT7981 reference board. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 8428bed15d9b5a71a634c7f5639de31a09795bec)
* arm-trusted-firmware-mediatek: fix copy&paste error in MakefileDaniel Golle2023-10-311-2/+2
| | | | | | | | | | When adding builds for MT7981 the related Makefile sections for MT7986 have apparently been copied, but in one instance the rename from 7986 to 7981 has been omitted. Fix that now. Fixes: 602cb4f325 ("arm-trusted-firmware-mediatek: add build for MT7981 DDR3") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit be6e257fe6a248425fd390e9a2037a8432e644ea)
* uboot-mediatek: Sync phy-mode for Xiaomi Redmi Router AX6000Furong Xu2023-10-311-2/+2
| | | | | | | | | | | | Commit 572ea6807053 ("uboot-mediatek: add patches for MT7988 and builds for RFB") renamed HSGMII to 2500basex, but forgot to update the dts of Redmi Router AX6000, makes the network unusable. This patch makes the network usable again. Fixes: #13724 Fixes: 572ea6807053 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Furong Xu <xfr@outlook.com> (cherry picked from commit 03987d2d11c4954e3e8afa3d44ba6213e774c742)
* treewide: Add extra CPE identifierHauke Mehrtens2023-09-271-0/+1
| | | | | | | This adds some Common Platform Enumerations (CPE) identifiers which I found. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-envtools: ramips: add support for ALFA Network AX1800RMPiotr Dymacz2023-09-111-3/+4
| | | | | Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> (backported from commit 69f12c2f23c6d32a5fdda2385b4156c9b8bfae22)
* arm-trusted-firmware-mediatek: fix hang on reboot on MT7622Daniel Golle2023-09-112-1/+29
| | | | | | | | | | With recent updates of TF-A the previously already fixed bug slipped back into the source tree. Again, reorder bl2 init for MT7622 and initialize WDT only after DRAM init has completed to avoid the notorious hang. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 948ad2ec7a21645bac4d523c8f31d1cc3e2eac71)
* uboot-mediatek: sync mtk-snand driver with SDKDaniel Golle2023-09-111-6/+26
| | | | | | | | | Sync SPI-NAND/ECC controller driver for MT7622, MT7981, MT7986 and MT7988: * Platform data for MT7981 was actually missing and is now added. * Add support for Winbond W25N01KV 1Gbit chip. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 9725524235b30b436f6430d70cd809abf1b48a91)
* arm-trusted-firmware-mediatek: enable built-in 2.5G PHY on MT7988Daniel Golle2023-09-041-0/+11
| | | | | | | | | | | Always enable built-in 2.5G PHY on MT7988 for now, so that it can be used. In future it would be nice to be able to switch power and MDIO access via address 0 at run-time in Linux, both, to be able to use external PHYs at address 0 and to reduce power consumption on systems not using the built-in 2.5G PHY. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 33046d2a471ed687404a617c356b9cdf5652c2d6)
* uboot-mediatek: fix dependency on TF-A for MT7988 RFB (sdmmc)Daniel Golle2023-09-041-1/+1
| | | | | | | | | | The U-Boot build for the MT7988 reference board booting from SD card wrongly depended on the 'ddr4' variant of the ARM TrustedFirmware-A build even though the 'comb' variant is used. Fix that dependency. Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 78e3adcaf993cd1a58821a69efccfca8d380f754)
* uboot-mediatek: add builds for UniFi 6 LR v2 and v3Daniel Golle2023-09-042-6/+634
| | | | | | | | While the v2 is nearly identical to v1, v3 uses a different PHY and needs a different build for Ethernet to work in U-Boot. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit fff4441135ed9290eb2f947f931b826a60d6c167)
* uboot-mediatek: build fully-featured U-Boot for MT7988 RFBDaniel Golle2023-09-044-16/+342
| | | | | | | | | | | | | | | | | | | Select many potentially useful options for the MT7988 RFB U-Boot builds. The resulting loader is intended as a development tool and intends to be generic. It does *not* have a default bootcmd set, but allows to boot pretty much everything, including EFI executables. To install this U-Boot build to the eMMC: opkg install mmc-utils partx-utils mmc bootpart enable 1 1 /dev/mmcblk0 echo 0 > /sys/block/mmcblk0boot0/force_ro dd if=*mediatek_mt7988a-rfb-nand-emmc-preloader.bin of=/dev/mmcblk0boot0 dd if=*mediatek_mt7988a-rfb-nand-emmc-gpt.bin of=/dev/mmcblk0 partx -a /dev/mmcblk0 dd if=*mediatek_mt7988a-rfb-nand-emmc-bl31-uboot.fip of=/dev/mmcblk0p3 Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 1d5778e18d9a6bef26aff3a8594306fc45e9be76)
* mediatek: filogic: wax220: cleanup device treeStefan Agner2023-08-221-1/+1
| | | | | | | | Fix compatible string to match what is supported upstream, fix alignment and order MTD partitions according to offset. Signed-off-by: Stefan Agner <stefan@agner.ch> (cherry picked from commit 4af06aaf33c9256a5d3e960fa5f6bddab2674c5a)
* uboot-envtools: add u-boot env config for Xiaomi mi-miniIvan Pavlov2023-08-151-0/+4
| | | | | | | Add u-boot env config for Xiaomi mi-mini for using fw_printenv and fw_setenv on this board Signed-off-by: Ivan Pavlov <AuthorReflex@gmail.com> (cherry picked from commit a87bc138cfccd8de06afaad81f7ba838a87fe4f8)
* uboot-mediatek: bpi-r3: prepare for larger FIT structuresDaniel Golle2023-08-131-4/+4
| | | | | | | | | | Instead of reading only a single 4kiB page, read the first 128kiB to determine the size of an uImage.FIT using 'imsz' or 'imszb'. This will be needed once we add more Device Tree Overlays, which may happen for the BPi-R3 mini. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 3c2f7bb555c2cd5c4be8aed11b9d31b48cc0bcf8)
* arm-trusted-firmware-tools: fix build on macOS/DarwinFelix Fietkau2023-08-131-0/+21
| | | | | | | Resolve conflicts with the uuid type from darwin system headers Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry picked from commit 16c37ba9136ff431c7e3c97cc27e4ea166b8020a)
* uboot-mediatek: fix build for MT7629Daniel Golle2023-08-071-0/+47
| | | | | | | | Add patch to fix build failure caused by a missing header which had previously been implicitely included. Fixes: 6ddb5f5a65 ("uboot-mediatek: update to version 2023.07.02") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add missing 'memory' nodes to downstream boardsDaniel Golle2023-08-076-6/+36
| | | | | | | | | | Among the patches adding support for MT7988 also came the switch to use fdtdec_setup_mem_size_base() and no longer rely on CFG_SYS_SDRAM_BASE. Take care of our downstream boards which did not have a 'memory' node in their device trees. Fixes: 572ea68070 ("uboot-mediatek: add patches for MT7988 and builds for RFB") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: add patches for MT7988 and builds for RFBDaniel Golle2023-08-0736-13/+9011
| | | | | | | Import pending patches adding support for MT7988 and provide builds for the reference board for all possible boot media. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* uboot-mediatek: update to version 2023.07.02Daniel Golle2023-08-0728-459/+117
| | | | | | | | | | Release 2023.07 got tagged wrongly and replaced by follow-up release 2023.07.02. Now using upstream DTS for BPi-R3. Removed two patches which made it upstream, refreshed the rest. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: fix PKG_MIRROR_HASHDaniel Golle2023-08-071-1/+1
| | | | | | | | | | Instead of using the hash of the Github-generated tarball use the hash of the tarball generated by the OpenWrt build system (in this case they are different, unfortunately). Reported-by: Chen Minqiang <ptpt52@gmail.com> Fixes: 07dbeb430e ("arm-trusted-firmware-mediatek: update to sources of 2023-07-24") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: update to sources of 2023-07-24Daniel Golle2023-08-071-5/+142
| | | | | | | | Use updated Trusted Firmware-A sources from MediaTek, now stacked on top of the ARM Trusted Firmware-A v2.9 release. Add builds for the newly added MT7988 SoC. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-tools: update to version 2.9Daniel Golle2023-08-071-2/+2
| | | | | | | | | | | | | | | | | | 147f52f3e feat(fiptool): add cca, core_swd, plat cert in FIP 0aaa382fe fix(sptool): fix concurrency issue for SP packages cb666b39d Merge "fix(sptool): fix concurrency issue for SP packages" into integration 0be2475f6 fix: 'sp_mk_generator.py' reference to undef var 1a28f290b fix(sptool): operators "is/is not" in sp_mk_gen.py cf2dd17dd refactor(security): add OpenSSL 1.x compatibility 4daeaf341 fix(sptool): add dependency to SP image 06e69f7c9 feat(fiptool): handle FIP in a disk partition 5a53c6c66 Merge "feat(fiptool): handle FIP in a disk partition" into integration 034a2e3ef refactor(fiptool): move plat_fiptool.mk to tools 0165ddd7c build(fiptool): add object dependency generation c89fdb4a5 Merge "refactor(fiptool): move plat_fiptool.mk to tools" into integration 1b491eead fix(tree): correct some typos Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mediatek: filogic: add specific layout for WR30UHank Moretti2023-08-071-0/+1
| | | | | | | | | Because this device enable NMBM by default, most users use custom U-Boot with NMBM-Enabled in Chinese forums. This layout is the same as the ubootmod layout but enabling NMBM. Signed-off-by: Hank Moretti <mchank9999@gmail.com>
* uboot-mediatek: add support for Xiaomi WR30UHank Moretti2023-08-073-0/+471
| | | | | | Add a custom uboot build to support openwrt uboot layout. Signed-off-by: Hank Moretti <mchank9999@gmail.com>
* uboot-mvebu: update to version 2023.07.02Oli Ze2023-07-301-2/+2
| | | | | | | | | | | | | Since 2021.07 multiple bugs were introduced that made it impossible to create a bootable target for mvebu. Those issues should be now fixed since 2023.07-rc1. References: #11661 Signed-off-by: Oli Ze <olze@trustserv.de> Reviewed-by: Robert Marko <robimarko@gmail.com> Tested-by: Andre Heider <a.heider@gmail.com> # espressobin-v3-v5-1gb-2cs Signed-off-by: Petr Štetiar <ynezz@true.cz> [facelift] (cherry picked from commit ba7d6dddc7d20222c1703b173ef50befefb3fb52)
* layerscape: remove Traverse LS1043 boardsMathew McBride2023-07-261-4/+0
| | | | | | | | | | | | | | | | | The Traverse LS1043 boards were not publicly released, all the production has been going to OEM customers who do not use the image format defined in the OpenWrt tree. Only a few samples were circulated outside Traverse and our OEM customers. The public release (then called Five64) of this series was cancelled in favour of our LS1088A based design (Ten64). It is best to remove these boards to avoid wasting OpenWrt project and contributor resources. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 8e7ba6fbae80838c2219ee38307af9c883606c2c)
* layerscape: armv8_64b: add Traverse Ten64 NAND variantMathew McBride2023-07-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Ten64 board[1] is based around NXP's Layerscape LS1088A SoC. It is capable of booting both standard Linux distributions from disk devices, using EFI, and booting OpenWrt from NAND. See the online manual for more information, including the flash layout[2]. This patchset adds support for generating Ten64 images for NAND boot. For disk boot, one can use the EFI support that was recently added to the armvirt target. We previously supported NAND users by building inside our armvirt/EFI target[3], but this approach is not suitable for OpenWrt upstream. Users who used our supplied NAND images will be able to upgrade to this via sysupgrade. Signed-off-by: Mathew McBride <matt@traverse.com.au> [1] - https://www.traverse.com.au/hardware/ten64 [2] - https://ten64doc.traverse.com.au/hardware/flash/ [3] - Example: https://gitlab.com/traversetech/ls1088firmware/openwrt/-/commit/285e4360e1604eb466880d245d48efd9962143a5 (cherry picked from commit af0546da3440dba24217949527e503820350ff05)
* uboot-mediatek: support classic uImage.FIT with internal images in imszbDaniel Golle2023-07-131-4/+3
| | | | | | | | | The side-effect and main motivation is to also drop the FIT structure size limit because with multiple device tree overlays it may easily grow beyond the previous 4kB limit in the future. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit 98e3f82c3fb729c1d9de78fef215322528b50cb4)
* uboot-mediatek: add H3C Magic NX30 Pro supportChukun Pan2023-07-133-0/+454
| | | | | | | | The OEM uboot limit brush into 3rd-party firmware. So add a custom uboot build to support openwrt. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> (cherry picked from commit 437e79ad6d01100afac9786d287976de6d5cf363)
* mediatek: add support for Netgear EX6250v2 seriesWenli Looi2023-07-131-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Netgear EX6250v2, EX6400v3, EX6410v2, EX6470 are wall-plug 802.11ac (Wi-Fi 5) extenders. Like other MT7629 devices, Wi-Fi does not work currently as there is no driver. Related: https://github.com/openwrt/openwrt/pull/5084 For future reference, 2.4GHz MAC = LAN+1, 5GHz MAC = LAN+2. Specifications: * MT7629, 256 MiB RAM, 16 MiB SPI NOR * MT7761N (2.4GHz) / MT7762N (5GHz) - no driver * Ethernet: 1 port 10/100/1000 * UART: 115200 baud (labeled on board) Installation: * Flash the factory image through the stock web interface, or TFTP to the bootloader. NMRP can be used to TFTP without opening the case. * After installation, perform a factory reset. Wait for the device to boot, then hold the reset button for 10 seconds. This is needed because sysupgrade in the stock firmware will attempt to preserve its configuration using sysupgrade.tgz. See https://github.com/openwrt/openwrt/pull/4182 Revert to stock firmware: * Flash the stock firmware to the bootloader using TFTP/NMRP. Signed-off-by: Wenli Looi <wlooi@ucalgary.ca> (cherry picked from commit 73de41898fcd06d837b013449c370c493bcdc595)
* mxs: rework image generationZoltan HERPAI2023-07-061-3/+9
| | | | | | | | Migrate to "new" image generation method. Device profiles will be generated based on image/Makefile instead of profiles/ , which will also allow to automatically build images for all supported devices via buildbot. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* ramips: add support for Sercomm S1500 devicesMikhail Zhilkin2023-07-021-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for following wireless routers: - Beeline SmartBox PRO (Serсomm S1500 AWI) - WiFire S1500.NBN (Serсomm S1500 BUC) This commit is based on this PR: - Link: https://github.com/openwrt/openwrt/pull/4770 - Author: Maximilian Weinmann <x1@disroot.org> The opening of this PR was agreed with author. My changes: - Sorting, minor changes and some movings between dts and dtsi - Move leds to dts when possible - Recipes for the factory image - Update of the installation/recovery/return to stock guides - Add reset GPIO for the pcie1 Common specification -------------------- SoC: MediaTek MT7621AT (880 MHz, 2 cores) Switch: MediaTek MT7530 (via SoC MT7621AT) Wireless: 2.4 GHz, MT7602EN, b/g/n, 2x2 Wireless: 5 GHz, MT7612EN, a/n/ac, 2x2 Ethernet: 5 ports - 5×GbE (WAN, LAN1-4) Mini PCIe: via J2 on PCB, not soldered on the board UART: J4 -> GND[], TX, VCC(3.3V), RX BootLoader: U-Boot SerComm/Mediatek Beeline SmartBox PRO specification ---------------------------------- RAM (Nanya NT5CB128M16FP): 256 MiB NAND-Flash (ESMT F59L2G81A): 256 MiB USB ports: 2xUSB2.0 LEDs: Status (white), WPS (blue), 2g (white), 5g (white) + 10 LED Ethernet Buttons: 2 button (reset, wps), 1 switch button (ROUT<->REP) Power: 12 VDC, 1.5 A PCB Sticker: 970AWI0QW00N256SMT Ver. 1.0 CSN: SG15******** MAC LAN: 94:4A:0C:**:**:** Manufacturer's code: 0AWI0500QW1 WiFire S1500.NBN specification ------------------------------ RAM (Nanya NT5CC64M16GP): 128 MiB NAND-Flash (ESMT F59L1G81MA): 128 MiB USB ports: 1xUSB2.0 LEDs: Status (white), WPS (white), 2g (white), 5g (white) + 10 LED Ethernet Buttons: 2 button (RESET, WPS) Power: 12 VDC, 1.0 A PCB Sticker: 970BUC0RW00N128SMT Ver. 1.0 CSN: MH16******** MAC WAN: E0:60:66:**:**:** Manufacturer's code: 0BUC0500RW1 MAC address table (PRO) ----------------------- use address source LAN *:23 factory 0x1000 (label) WAN *:24 factory $label +1 2g *:23 factory $label 5g *:25 factory $label +2 MAC addresses (NBN) ------------------- use address source LAN *:0e factory 0x1000 WAN *:0f LAN +1 (label) 2g *:0f LAN +1 5g *:10 LAN +2 OEM easy installation --------------------- 1. Remove all dots from the factory image filename (except the dot before file extension) 2. Upload and update the firmware via the original web interface 3. Two options are possible after the reboot: a. OpenWrt - that's OK, the mission accomplished b. Stock firmware - install Stock firmware (to switch booflag from Sercomm0 to Sercomm1) and then OpenWrt factory image. Return to Stock --------------- 1. Change the bootflag to Sercomm1 in OpenWrt CLI and then reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock2 reboot 2. Install stock firmware via the web OEM firmware interface Recovery -------- Use sercomm-recovery tool. Link: https://github.com/danitool/sercomm-recovery Tested-by: Pavel Ivanov <pi635v@gmail.com> Tested-by: Denis Myshaev <denis.myshaev@gmail.com> Tested-by: Oleg Galeev <olegingaleev@gmail.com> Tested-By: Ivan Pavlov <AuthorReflex@gmail.com> Co-authored-by: Maximilian Weinmann <x1@disroot.org> Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> (cherry picked from commit 2d6784a033a994043759fa3b94c48afd5df81f88)
* mediatek: add support for Mercusys MR90X v1Mikhail Zhilkin2023-07-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for Mercusys MR90X(EU) v1 router. Device specification -------------------- SoC Type: MediaTek MT7986BLA, Cortex-A53, 64-bit RAM: MediaTek MT7986BLA (512MB) Flash: SPI NAND GigaDevice GD5F1GQ5UEYIGY (128 MB) Ethernet: MediaTek MT7531AE + 2.5GbE MaxLinear GPY211C0VC (SLNW8) Ethernet: 1x2.5Gbe (WAN/LAN 2.5Gbps), 3xGbE (WAN/LAN 1Gbps, LAN1, LAN2) WLAN 2g: MediaTek MT7975N, b/g/n/ax, MIMO 4x4 WLAN 5g: MediaTek MT7975P(N), a/n/ac/ax, MIMO 4x4 LEDs: 1 orange and 1 green status LEDs, 4 green gpio-controlled LEDs on ethernet ports Button: 1 (Reset) USB ports: No Power: 12 VDC, 2 A Connector: Barrel Bootloader: Main U-Boot - U-Boot 2022.01-rc4. Additionally, both UBI slots contain "seconduboot" (also U-Boot 2022.01-rc4) Serial console (UART) --------------------- V +-------+-------+-------+-------+ | +3.3V | GND | TX | RX | +---+---+-------+-------+-------+ | +--- Don't connect The R3 (TX line) and R6 (RX line) are absent on the PCB. You should solder them or solder the jumpers. Installation (UART) ------------------- 1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2 2. Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C' 3. Load and run OpenWrt initramfs image: tftpboot initramfs-kernel.bin bootm 4. Once inside OpenWrt, set / update env variables: fw_setenv baudrate 115200 fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit" fw_setenv fdtcontroladdr 5ffc0e70 fw_setenv ipaddr 192.168.1.1 fw_setenv loadaddr 0x46000000 fw_setenv mtdids "spi-nand0=spi-nand0" fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)" fw_setenv netmask 255.255.255.0 fw_setenv serverip 192.168.1.2 fw_setenv stderr serial@11002000 fw_setenv stdin serial@11002000 fw_setenv stdout serial@11002000 fw_setenv tp_boot_idx 0 5. Run 'sysupgrade -n' with the sysupgrade OpenWrt image Installation (without UART) --------------------------- 1. Login as root via SSH (router IP, port 20001, password - your web interface password) 2. Open for editing /etc/hotplug.d/iface/65-iptv (e.g., using WinSCP and SSH settings from the p.1) 3. Add a newline after "#!/bin/sh": telnetd -l /bin/login.sh 4. Save "65-iptv" file 5. Toggle "IPTV/VLAN Enable" checkbox in the router web interface and save 6. Make sure that telnetd is running: netstat -ltunp | grep 23 7. Login via telnet to router IP, port 23 (no username and password are required) 8 Upload OpenWrt "initramfs-kernel.bin" to the "/tmp" folder of the router (e.g., using WinSCP and SSH settings from the p.1) 9. Stock busybox doesn't contain ubiupdatevol command. Hence, we need to download and upload the full version of busybox to the router. For example, from here: https://github.com/xerta555/Busybox-Binaries/raw/master/busybox-arm64 Upload busybox-arm64 to the /tmp dir of the router and run: in the telnet shell: cd /tmp chmod a+x busybox-arm64 10. Check "initramfs-kernel.bin" size: du -h initramfs-kernel.bin 11. Delete old and create new "kernel" volume with appropriate size (greater than "initramfs-kernel.bin" size): ubirmvol /dev/ubi0 -N kernel ubimkvol /dev/ubi0 -n 1 -N kernel -s 9MiB 12. Write OpenWrt "initramfs-kernel.bin" to the flash: ./busybox-arm64 ubiupdatevol /dev/ubi0_1 /tmp/initramfs-kernel.bin 13. u-boot-env can be empty so lets create it (or overwrite it if it already exists) with the necessary values: fw_setenv baudrate 115200 fw_setenv bootargs "ubi.mtd=ubi0 console=ttyS0,115200n1 loglevel=8 earlycon=uart8250,mmio32,0x11002000 init=/etc/preinit" fw_setenv fdtcontroladdr 5ffc0e70 fw_setenv ipaddr 192.168.1.1 fw_setenv loadaddr 0x46000000 fw_setenv mtdids "spi-nand0=spi-nand0" fw_setenv mtdparts "spi-nand0:2M(boot),1M(u-boot-env),50M(ubi0),50M(ubi1),8M(userconfig),4M(tp_data)" fw_setenv netmask 255.255.255.0 fw_setenv serverip 192.168.1.2 fw_setenv stderr serial@11002000 fw_setenv stdin serial@11002000 fw_setenv stdout serial@11002000 fw_setenv tp_boot_idx 0 14. Reboot to OpenWrt initramfs: reboot 15. Login as root via SSH (IP 192.168.1.1, port 22) 16. Upload OpenWrt sysupgrade.bin image to the /tmp dir of the router 17. Run sysupgrade: sysupgrade -n /tmp/sysupgrade.bin Recovery -------- 1. Press Reset button and power on the router 2. Navigate to U-Boot recovery web server (http://192.168.1.1/) and upload the OEM firmware Recovery (UART) --------------- 1. Place OpenWrt initramfs image on tftp server with IP 192.168.1.2 2. Attach UART, switch on the router and interrupt the boot process by pressing 'Ctrl-C' 3. Load and run OpenWrt initramfs image: tftpboot initramfs-kernel.bin bootm 4. Do what you need (restore partitions from a backup, install OpenWrt etc.) Stock layout ------------ 0x000000000000-0x000000200000 : "boot" 0x000000200000-0x000000300000 : "u-boot-env" 0x000000300000-0x000003500000 : "ubi0" 0x000003500000-0x000006700000 : "ubi1" 0x000006700000-0x000006f00000 : "userconfig" 0x000006f00000-0x000007300000 : "tp_data" ubi0/ubi1 format ---------------- U-Boot at boot checks that all volumes are in place: +-------------------------------+ | Volume Name: uboot Vol ID: 0| | Volume Name: kernel Vol ID: 1| | Volume Name: rootfs Vol ID: 2| +-------------------------------+ MAC addresses ------------- +---------+-------------------+-----------+ | | MAC | Algorithm | +---------+-------------------+-----------+ | label | 00:eb:xx:xx:xx:be | label | | LAN | 00:eb:xx:xx:xx:be | label | | WAN | 00:eb:xx:xx:xx:bf | label+1 | | WLAN 2g | 00:eb:xx:xx:xx:be | label | | WLAN 5g | 00:eb:xx:xx:xx:bd | label-1 | +---------+-------------------+-----------+ label MAC address was found in UBI partition "tp_data", file "default-mac". OEM wireless eeprom is also there (file "MT7986_EEPROM.bin"). Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com> (cherry picked from commit e4fe3097ef6a961874b66932a0ac4be18070630a) [Fix merging conflict] Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
* uboot-envtools: Add u-boot env config for GL-MT3000Jianhui Zhao2023-07-011-0/+3
| | | | | | | | | This commit add u-boot env config for GL-MT3000, so that we can use fw_printenv to print u-boot env and use fw_setenv to set u-boot env in GL-MT3000. Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com> (cherry picked from commit 6892603efa11603c6f365bee1cf94e98336d72aa)
* filogic: add support for Netgear WAX220Flole Systems2023-06-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware -------- SOC: MediaTek MT7986 RAM: 1024MB DDR3 FLASH: 128MB SPI-NAND (Winbond) WIFI: Mediatek MT7986 DBDC 802.11ax 2.4/5 GHz ETH: Realtek RTL8221B-VB-CG 2.5 N-Base-T PHY with PoE UART: 3V3 115200 8N1 (Pinout silkscreened / Do not connect VCC) Installation ------------ 1. Download the OpenWrt initramfs image. Copy the image to a TFTP server 2. Connect the TFTP server to the WAX220. Conect to the serial console, interrupt the autoboot process by pressing '0' when prompted. 3. Download & Boot the OpenWrt initramfs image. $ setenv ipaddr 192.168.2.1 $ setenv serverip 192.168.2.2 $ tftpboot openwrt.bin $ bootm 4. Wait for OpenWrt to boot. Transfer the sysupgrade image to the device using scp and install using sysupgrade. $ sysupgrade -n <path-to-sysupgrade.bin> Signed-off-by: Flole Systems <flole@flole.de> Signed-off-by: Stefan Agner <stefan@agner.ch> (cherry picked from commit 984786a2f7ec622c99e8c9cdada65d0ea0cf4e0b)
* ath79: add support for Aruba AP-115David Bauer2023-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware ======== CPU Qualcomm Atheros QCA9558 RAM 256MB DDR2 FLASH 2x 16M SPI-NOR (Macronix MX25L12805D) WIFI Qualcomm Atheros QCA9558 Atheros AR9590 Installation ============ 1. Attach to the serial console of the AP-105. Interrupt autoboot and change the U-Boot env. $ setenv rb_openwrt "setenv ipaddr 192.168.1.1; setenv serverip 192.168.1.66; netget 0x80060000 ap115.bin; go 0x80060000" $ setenv fb_openwrt "bank 1; cp.b 0xbf100040 0x80060000 0x10000; go 0x80060000" $ setenv bootcmd "run fb_openwrt" $ saveenv 2. Load the OpenWrt initramfs image on the device using TFTP. Place the initramfs image as "ap105.bin" in the TFTP server root directory, connect it to the AP and make the server reachable at 192.168.1.66/24. $ run rb_openwrt 3. Once OpenWrt booted, transfer the sysupgrade image to the device using scp and use sysupgrade to install the firmware. Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 1b467a902ec9b8bf29805c6928627e8bbad0f14c)
* ramips: Add support for Beeline SmartBox TURBO+Maximilian Weinmann2023-06-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for Beeline Smart Box TURBO+ (Serсomm S3 CQR) router. Device specification -------------------- SoC Type: MediaTek MT7621AT (880 MHz, 2 cores) RAM (Nanya NT5CC64M16GP): 128 MiB Flash (Macronix MX30LF1G18AC): 128 MiB Wireless 2.4 GHz (MT7603EN): b/g/n, 2x2 Wireless 5 GHz (MT7615N): a/n/ac, 4x4 Ethernet: 5 ports - 5×GbE (WAN, LAN1-4) USB ports: 1xUSB3.0 Buttons: 2 button (reset, wps) LEDs: Red, Green, Blue Zigbee (EFR32MG1B232GG): 3.0 Stock bootloader: U-Boot 1.1.3 Power: 12 VDC, 1.5 A Installation (fw 2.0.9) ----------------------- 1. Login to the web interface under SuperUser (root) credentials. Password: SDXXXXXXXXXX, where SDXXXXXXXXXX is serial number of the device written on the backplate stick. 2. Navigate to Setting -> WAN. Add: Name - WAN1 Connection Type - Static IP Address - 172.16.0.1 Netmask - 255.255.255.0 Save -> Apply. Set default: WAN1 3. Enable SSH and HTTP on WAN. Setting -> Remote control. Add: Protocol - SSH Port - 22 IP Address - 172.16.0.1 Netmask - 255.255.255.0 WAN Interface - WAN1 Save ->Apply Add: Protocol - HTTP Port - 80 IP Address - 172.16.0.1 Netmask - 255.255.255.0 WAN interface - WAN1 Save -> Apply 4. Set up your PC ethernet: Connection Type - Static IP Address - 172.16.0.2 Netmask - 255.255.255.0 Gateway - 172.16.0.1 5. Connect PC using ethernet cable to the WAN port of the router 6. Connect to the router using SSH shell under SuperUser account 7. Make a mtd backup (optional, see related section) 8. Change bootflag to Sercomm1 and reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3 reboot 9. Login to the router web interface under admin account 10. Remove dots from the OpenWrt factory image filename 11. Update firmware via web using OpenWrt factory image Revert to stock --------------- Change bootflag to Sercomm1 in OpenWrt CLI and then reboot: printf 1 | dd bs=1 seek=7 count=1 of=/dev/mtdblock3 mtd backup ---------- 1. Set up a tftp server (e.g. tftpd64 for windows) 2. Connect to a router using SSH shell and run the following commands: cd /tmp for i in 0 1 2 3 4 5 6 7 8 9 10; do nanddump -f mtd$i /dev/mtd$i; \ tftp -l mtd$i -p 172.16.0.2; md5sum mtd$i >> mtd.md5; rm mtd$i; done tftp -l mtd.md5 -p 171.16.0.2 Recovery -------- Use sercomm-recovery tool. Link: https://github.com/danitool/sercomm-recovery MAC Addresses (fw 2.0.9) ------------------------ +-----+------------+---------+ | use | address | example | +-----+------------+---------+ | LAN | label | *:e8 | | WAN | label + 1 | *:e9 | | 2g | label + 4 | *:ec | | 5g | label + 5 | *:ed | +-----+------------+---------+ The label MAC address was found in Factory 0x21000 Factory image format -------------------- +---+-------------------+-------------+--------------------+ | # | Offset | Size | Description | +---+-------------------+-------------+--------------------+ | 1 | 0x0 | 0x200 | Tag Header Factory | | 2 | 0x200 | 0x100 | Tag Header Kernel1 | | 3 | 0x300 | 0x100 | Tag Header Kernel2 | | 4 | 0x400 | SIZE_KERNEL | Kernel | | 5 | 0x400+SIZE_KERNEL | SIZE_ROOTFS | RootFS(UBI) | +---+-------------------+-------------+--------------------+ Co-authored-by: Mikhail Zhilkin <csharper2005@gmail.com> Signed-off-by: Maximilian Weinmann <x1@disroot.org> (cherry picked from commit 8fcfb21b16e7537b9a871a1f67cb218c6be93149)
* uboot-sifiveu: add bootloader package for SiFive Ux40 boardsZoltan HERPAI2023-06-1412-0/+566
| | | | | | | | Add new package for building bootloader for the SiFive U-series boards. Supported boards at this stage are the HiFive Unleashed and HiFive Unmatched. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit 91406797f9d06c0008f0a8c2c8455abfb37bf28c)
* opensbi: add package for RISC-VZoltan HERPAI2023-06-141-0/+63
| | | | | | | | | | | | | | | OpenSBI is a form of a first-stage bootloader, which initializes certain parts of an SoC and then passes on control to the second stage bootloader i.e. an u-boot image. We're introducing the package with release v1.2, which provides SBI v0.3 and the SBI SRST extensions which helps to gracefully reboot/shutdown various HiFive-U SoCs. Tested on SiFive Unleashed and Unmatched boards. Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu> (cherry picked from commit 944b13b3ee1d89e11a0121fbeeaa465ab1e25c3c)
* uboot-armsr: add support for QEMU armv7/armv8Petr Štetiar2023-06-132-0/+98
| | | | | | | | | | | | Add new package so we can use self-compiled bootloader during QEMU based testing and development. Backported fix[1] is needed for EFI boot from virtio devices. 1. https://patchwork.ozlabs.org/project/uboot/patch/20230424134946.v10.7.Ia5f5e39c882ac22b5f71c4d576941b34e868eeba@changeid/ Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit b8e3fa2d1205213c71bc356744e9bed6cd8e69f9)
* grub2: change armvirt reference to armsrMathew McBride2023-06-131-1/+1
| | | | | | | | The armvirt target has been renamed to armsr (Arm SystemReady), so the GRUB configuration also needs to change. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 4ce7d6c8885a0e1873011f8f48b67e2ecd18e43d)
* grub2: enable EFI for armvirtMathew McBride2023-06-132-6/+36
| | | | | | | | | | | | This adds a separate package for EFI on Arm SystemReady compatible machines. 32-bit Arm UEFI is supported as well. It is very similar to x86-64 EFI setup, without the need for BIOS backward compatibility and slightly different default modules. Signed-off-by: Mathew McBride <matt@traverse.com.au> (cherry picked from commit 8f29b1573ddf3b7ed7c53bee1a7d55e574806205)
* ipq807x: add initial support for prpl Foundation Haze boardPetr Štetiar2023-06-121-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Haze is prpl Foundation's reference board (WNC LVRP). Board info: - IPQ8072A SoC - 2 GiB RAM - 4 GiB eMMC - 8MiB SPI NOR (MX25U6435F) - 3x 1GigE ports (QCA8075) - 1x 10GigE port (AQR113C) - 1x SFP cage - WiFi 6GHz 160MHz (QCN9074) - WiFi 5GHz 80+80MHz (QCN5054) - WiFi 2.4G (QCN5024) - ARM Standard 20-pin 2.54mm/0.1" JTAG (1V8 !!!) - Bluetooth v5.0 + EDR with integrated Class 1 PA (CYW20704) - 1x M.2 B-key socket with PCIe 3.0 - 1x USB 3.0 port - UART marked J6 is 4-pin 2.54mm/0.1" connector 3V3(arrow),RX,TX,GND (115200 8N1) - Reset and WPS buttons Flashing instructions: 1. From U-Boot boot OpenWrt using initramfs image: IPQ807x# tftpboot openwrt-ipq807x-generic-prpl_haze-initramfs-uImage.itb && bootm 2. In OpenWrt running from initramfs execute sysupgrade: root@OpenWrt:/# sysupgrade -n /tmp/openwrt-ipq807x-generic-prpl_haze-squashfs-sysupgrade.bin Work in progress/known issues: * SFP feature not implemented/tested * M.2 feature not implemented/tested * Bluetooth feature not implemented/tested * 6GHz wireless should be working, but not tested * MAC address assigments for LAN interfaces Signed-off-by: Petr Štetiar <ynezz@true.cz> (cherry picked from commit 2e910039dd7170fd28641e7686c376dba6f0d8a5)
* uboot-mediatek: adapt BPi-R3 and BPi-R64 to new device tree overlayDaniel Golle2023-06-092-20/+40
| | | | | | | | | Update bootloader environment for BPi-R3 and BPi-R64 to adapt to new device tree overlay mechanism now that support for multiple device tree overlays has been added. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry picked from commit ec50d2d366fecb6f4bac2ae9d5cfa4aba9cf7bbc)
* uboot-rockchip: add Orange Pi R1 Plus LTS supportTianling Shen2023-06-095-0/+499
| | | | | | | | | Add support for the Xunlong Orange Pi R1 Plus LTS. Manually generated of-platdata files to avoid swig dependency. Tested-by: Volkan Yetik <no3iverson@gmail.com> Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> (cherry picked from commit 37fed89166e6e21c20ef92b36106f7184a0476c6)
* uboot-rockchip: add Orange Pi R1 Plus supportTianling Shen2023-06-095-0/+821
| | | | | | | | Add support for the Xunlong Orange Pi R1 Plus. Manually generated of-platdata files to avoid swig dependency. Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> (cherry picked from commit 043f8a4f5ecf00e8a62b5a5d48baba48e620ea6a)
* package: layerscape: change loadaddr addressPawel Dembicki2023-05-2916-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At this moment loadaddr in most layerscape boards are configured to 0x81000000. 5.15 kernel on some boards is bigger than 5.10 and it cause error: Loading kernel from FIT Image at 81000000 ... Using 'config-1' configuration Trying 'kernel-1' kernel subimage Description: ARM64 OpenWrt Linux-5.15.112 Created: 2023-05-21 17:39:35 UTC Type: Kernel Image Compression: gzip compressed Data Start: 0x810000ec Data Size: 7513944 Bytes = 7.2 MiB Architecture: AArch64 OS: Linux Load Address: 0x80000000 Entry Point: 0x80000000 Hash algo: crc32 Hash value: 6fd69550 Hash algo: sha1 Hash value: ee34c753ffb615e199a428762824ad4a0aaef90a Verifying Hash Integrity ... crc32+ sha1+ OK Loading fdt from FIT Image at 81000000 ... Using 'config-1' configuration Trying 'fdt-1' fdt subimage Description: ARM64 OpenWrt fsl_ls1088a-rdb-sdboot device tree blob Created: 2023-05-21 17:39:35 UTC Type: Flat Device Tree Compression: uncompressed Data Start: 0x8172a98c Data Size: 19794 Bytes = 19.3 KiB Architecture: AArch64 Hash algo: crc32 Hash value: 59792ba3 Hash algo: sha1 Hash value: 135585a49f86cd85acea559b78b0098ae99d5e12 Verifying Hash Integrity ... crc32+ sha1+ OK Booting using the fdt blob at 0x8172a98c Uncompressing Kernel Image ERROR: new format image overwritten - must RESET the board to recover resetting ... This patch changes loadaddr to 0x88000000 (like LS1012A-FRDM board) to avoid overlapping for bigger images (like initramfs) too. Tested-by: Alexandra Alth <alexandra@alth.de> [LS1088ARDB] Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> (cherry picked from commit 0822040671e6177020892e0ddbdfafd4bb3690e0)
* uboot-mediatek: add Qihoo 360T7 supportChukun Pan2023-05-294-0/+477
| | | | | | | | | The vendor uboot will verify firmware at boot. So add a custom uboot build for this device. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> (cherry picked from commit c51eb177308835f811ae43b17dde0ea962ed1df1) Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* arm-trusted-firmware-mediatek: add build for MT7981 DDR3Chukun Pan2023-05-291-0/+47
| | | | | | | | | | Add new build option BOARD_QFN/BOARD_BGA. This option is only useful for MT7981 device. MT7981A/B: BOARD_BGA, MT7981C: BOARD_QFN. Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn> (cherry picked from commit 602cb4f3259cb676fcf6fa6c459d598df643653b) Signed-off-by: Daniel Golle <daniel@makrotopia.org>