This removes USB support from the compiled kernel. Because of this, the
kernel is just small enough for the TP-Link WDR4900 to boot the
resulting kernel.
This is necessary to support the WDR4900 in the upcoming 19.xx release.
In the long run, this should be fixed with a second stage bootloader, as
the vendor bootloader only loads the first 2684k bytes.
Signed-off-by: David Bauer <mail@david-bauer.net>
CPU: FSL P1020 (2x 800MHz E500 PPC)
RAM: 1GB DDR3
FLASH: 256MiB NAND
WiFi: 2x Atheros AR9382 2x2:2 abgn
ETH: 2x BCM54616S - 1x BCM53128 8-port switch
LED: 5x LEDs (Power, WiFi1, WiFi2, N/D, SYS)
BTN: 1x RESET
Installation
------------
1. Download initrams kernel image, dtb binary and sysupgrade image.
2. Place initramfs kernel into tftp root directory. Rename to
"panda-uimage-factory".
3. Place dtb binary into tftp root directory. Rename to "panda.fdt".
4. Start tftp server on 192.168.100.8/24.
5. Power up the device with the reset button pressed. It will download
the initrams and dtb via tftp and boot into OpenWRT in RAM.
6. SSH into the device and remove the factory partitions.
> ubirmvol /dev/ubi0 --name=kernel1
> ubirmvol /dev/ubi0 --name=rootfs1
> ubirmvol /dev/ubi0 --name=devicetree1
You will have around 60 MiB of free space with that.
You can also delete "kernel2", "devicetree2", "rootfs2" and "storage"
respectively in case you do not want to go back to the vendor firmware.
7. Modify the U-Boot bootcmd to allow for booting OpenWRT
> fw_setenv bootcmd_owrt "ubi part ubi && ubi read 0x1000000 kernel
&& bootm 0x1000000"
> fw_setenv bootargs_owrt "setenv bootargs console=ttyS0,115200
ubi.mtd=3,2048"
> fw_setenv bootcmd "run bootargs_owrt; run bootcmd_owrt"
8. Transfer the sysupgrade image via scp into the /tmp directory.
9. Upgrade the device
> sysupgrade -n /tmp/<imagename>
Signed-off-by: David Bauer <mail@david-bauer.net>
Hardware
========
CPU: Freescale P1010 PowerPC
RAM: 128M DDR3
NAND: 128MiB
ETH: RTL8211F SGMII PHY
RTL8367B 5-port RGMII switch
(not connected to SoC - unmanaged)
WiFi: SparkLan WPEA-121N
- Atheros AR9382 2T2R abgn
USB: 1x USB 2.0
LED: System, Router, Internet, Tunnel controllable
LAN1-4, WAN, Power non-controllable
BTN: None
Installation
============
1. Power on the device while attached to the Console port.
2. Halt the U-Boot by pressing Enter when prompted.
3. Set the correct bootcmd for booting OpenWRT:
> setenv bootargs_owrt "setenv bootargs console=ttyS0,115200"
> setenv bootcmd "run bootargs_owrt;
nand read 0x1000000 0x300000 0x800000;
bootm 0x1000000;"
> saveenv
5. Rename OpenWRT initramfs image to 'kernel.bin' and place it in a
TFTP server root-directory served on 192.168.1.2/24. Connect your
computer to one of the LAN-ports.
4. Boot OpenWRT initramfs image with
> run bootargs_owrt; tftpboot 0x1000000 192.168.1.2:kernel.bin;
bootm 0x1000000;
6. (Optional)
Make a Backup of 'sophos-os1', 'sophos-os2' and 'sophos-data' in case
you ever want to go back to the vendor firmware.
7. Create Ubi Volume on mtd4 by executing
> ubiformat /dev/mtd4 -y
8. Transfer OpenWRT sysupgrade image to the device via SCP and install it
with
> sysupgrade -n <openwrt-image-file>
Back to Stock
=============
If you want to go back to the stock firmware, here is the bootcmd of the
vendor firmware:
> setenv bootargs console=ttyS0,115200 root=/dev/mtdblock5;
nand read 0xc00000 0x00300000 0x100000;
nand read 0x1000000 0x00400000 0x00800000;
bootm 0x1000000 - 0xc00000
Set it via 'setenv' from the U-Boot shell and don't forget to save it
using 'saveenv'!
After this, boot the OpenWRT initramfs image just like you would for
installation. Write back the three vendor partitions using mtd. Reboot
the device afterwards.
Signed-off-by: David Bauer <mail@david-bauer.net>
[refresh and reorder patches]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>