2010-12-05 11:38:59 +00:00
|
|
|
#
|
|
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
DEVICE_VARS += TPLINK_HWID TPLINK_HWREV TPLINK_FLASHLAYOUT
|
2013-03-15 16:11:45 +00:00
|
|
|
|
2019-01-03 16:08:51 +00:00
|
|
|
define rootfs_align
|
|
|
|
$(patsubst %-256k,0x40000,$(patsubst %-128k,0x20000,$(patsubst %-64k,0x10000,$(patsubst squashfs%,0x4,$(patsubst root.%,%,$(1))))))
|
|
|
|
endef
|
|
|
|
|
2019-03-02 02:03:32 +00:00
|
|
|
define Build/copy-file
|
|
|
|
cat "$(1)" > "$@"
|
|
|
|
endef
|
|
|
|
|
2019-01-03 16:08:51 +00:00
|
|
|
# combine kernel and rootfs into one image
|
|
|
|
# mktplinkfw <type> <optional extra arguments to mktplinkfw binary>
|
|
|
|
# <type> is "sysupgrade" or "factory"
|
|
|
|
#
|
|
|
|
# -a align the rootfs start on an <align> bytes boundary
|
|
|
|
# -j add jffs2 end-of-filesystem markers
|
|
|
|
# -s strip padding from end of the image
|
|
|
|
# -X reserve <size> bytes in the firmware image (hexval prefixed with 0x)
|
|
|
|
define Build/mktplinkfw
|
|
|
|
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
|
|
|
|
-H $(TPLINK_HWID) -W $(TPLINK_HWREV) -F $(TPLINK_FLASHLAYOUT) -N OpenWrt -V $(REVISION) \
|
|
|
|
-k $(IMAGE_KERNEL) \
|
|
|
|
-r $@ \
|
|
|
|
-o $@.new \
|
|
|
|
-j -X 0x40000 \
|
|
|
|
-a $(call rootfs_align,$(FILESYSTEM)) \
|
|
|
|
$(wordlist 2,$(words $(1)),$(1)) \
|
|
|
|
$(if $(findstring sysupgrade,$(word 1,$(1))),-s) && mv $@.new $@ || rm -f $@
|
|
|
|
endef
|
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
define Device/Default
|
|
|
|
PROFILES := Default
|
|
|
|
DEVICE_DTS := $(1)
|
|
|
|
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
|
|
|
|
KERNEL_ENTRY := 0x00000000
|
|
|
|
KERNEL_LOADADDR := 0x00000000
|
|
|
|
KERNEL := kernel-bin
|
2013-03-15 16:11:45 +00:00
|
|
|
endef
|
|
|
|
|
2016-03-03 20:24:41 +00:00
|
|
|
ifeq ($(SUBTARGET),generic)
|
2017-09-30 16:14:58 +00:00
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
define Device/tl-wdr4900-v1
|
|
|
|
DEVICE_TITLE := TP-Link TL-WDR4900
|
|
|
|
TPLINK_HWID := 0x49000001
|
|
|
|
TPLINK_HWREV := 1
|
|
|
|
TPLINK_FLASHLAYOUT := 16Mppc
|
2019-01-29 18:26:28 +00:00
|
|
|
KERNEL_SIZE := 2684k
|
2019-01-29 22:52:27 +00:00
|
|
|
KERNEL_NAME := simpleImage.tl-wdr4900-v1
|
2019-01-13 07:18:55 +00:00
|
|
|
KERNEL_INITRAMFS :=
|
2019-01-29 22:52:27 +00:00
|
|
|
KERNEL := kernel-bin | uImage none
|
|
|
|
KERNEL_ENTRY := 0x1000000
|
|
|
|
KERNEL_LOADADDR := 0x1000000
|
2017-10-24 04:57:29 +00:00
|
|
|
SUPPORTED_DEVICES:=tl-wdr4900-v1 tplink,tl-wdr4900-v1
|
2019-01-29 22:52:27 +00:00
|
|
|
ARTIFACTS := fdt.bin
|
|
|
|
ARTIFACT/fdt.bin := append-dtb
|
2017-10-20 17:36:25 +00:00
|
|
|
IMAGES := fdt.bin factory.bin sysupgrade.bin
|
2019-01-03 16:08:51 +00:00
|
|
|
IMAGE/sysupgrade.bin := append-rootfs | mktplinkfw sysupgrade | append-metadata
|
|
|
|
IMAGE/factory.bin := append-rootfs | mktplinkfw factory
|
2014-12-11 15:29:39 +00:00
|
|
|
endef
|
2019-05-23 18:41:50 +00:00
|
|
|
TARGET_DEVICES += tl-wdr4900-v1
|
2014-12-11 15:29:39 +00:00
|
|
|
|
mpc85xx: add support for Sophos RED 15w Rev.1
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>
2019-01-08 00:20:56 +00:00
|
|
|
define Device/red-15w-rev1
|
|
|
|
DEVICE_TITLE := Sophos RED 15w Rev.1
|
|
|
|
# Original firmware uses a dedicated DTB-partition.
|
|
|
|
# The bootloader however supports FIT-images.
|
|
|
|
KERNEL = kernel-bin | gzip | fit gzip $(KDIR)/image-$$(DEVICE_DTS).dtb
|
|
|
|
SUPPORTED_DEVICES := sophos,red-15w-rev1
|
|
|
|
IMAGES := sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += red-15w-rev1
|
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
endif
|
2013-03-15 16:11:45 +00:00
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
ifeq ($(SUBTARGET),p1020)
|
2010-12-05 11:38:59 +00:00
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
define Device/hiveap-330
|
|
|
|
DEVICE_TITLE := Aerohive HiveAP-330
|
2019-04-08 18:09:35 +00:00
|
|
|
DEVICE_PACKAGES := kmod-tpm-i2c-atmel
|
2017-10-20 17:36:25 +00:00
|
|
|
BLOCKSIZE := 128k
|
|
|
|
KERNEL_NAME := zImage
|
|
|
|
KERNEL_SIZE := 8m
|
2019-03-02 02:03:32 +00:00
|
|
|
KERNEL_INITRAMFS := copy-file $(KDIR)/vmlinux-initramfs | uImage none
|
2017-10-24 04:57:29 +00:00
|
|
|
SUPPORTED_DEVICES := aerohive,hiveap-330
|
2017-10-20 17:36:25 +00:00
|
|
|
IMAGES := fdt.bin sysupgrade.bin
|
|
|
|
IMAGE/fdt.bin := append-dtb
|
|
|
|
IMAGE/sysupgrade.bin := append-dtb | pad-to 256k | check-size 256k | \
|
2018-04-20 04:30:46 +00:00
|
|
|
append-uImage-fakehdr ramdisk | pad-to 256k | check-size 512k | \
|
2017-10-20 17:36:25 +00:00
|
|
|
append-rootfs | pad-rootfs $$(BLOCKSIZE) | pad-to 41216k | check-size 41216k | \
|
2017-10-24 04:57:29 +00:00
|
|
|
append-kernel | append-metadata
|
2013-02-19 14:53:15 +00:00
|
|
|
endef
|
2017-10-20 17:36:25 +00:00
|
|
|
TARGET_DEVICES += hiveap-330
|
2013-02-19 14:53:15 +00:00
|
|
|
|
2019-01-16 23:43:13 +00:00
|
|
|
define Device/panda
|
|
|
|
DEVICE_TITLE := OCEDO Panda
|
2019-04-08 18:09:35 +00:00
|
|
|
DEVICE_PACKAGES := kmod-rtc-ds1307 uboot-envtools
|
2019-01-16 23:43:13 +00:00
|
|
|
KERNEL = kernel-bin | gzip | fit gzip $(KDIR)/image-$$(DEVICE_DTS).dtb
|
|
|
|
PAGESIZE := 2048
|
|
|
|
SUBPAGESIZE := 512
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
SUPPORTED_DEVICES := ocedo,panda
|
|
|
|
IMAGES := fdt.bin sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
|
|
IMAGE/fdt.bin := append-dtb
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += panda
|
|
|
|
|
2017-10-20 17:36:25 +00:00
|
|
|
endif
|
2010-12-05 11:38:59 +00:00
|
|
|
|
2018-12-30 07:38:45 +00:00
|
|
|
ifeq ($(SUBTARGET),p2020)
|
|
|
|
|
|
|
|
define Device/p2020rdb
|
|
|
|
DEVICE_TITLE := Freescale P2020RDB
|
|
|
|
DEVICE_DTS_DIR := $(DTS_DIR)/fsl
|
|
|
|
DEVICE_PACKAGES := kmod-hwmon-core kmod-hwmon-lm90 kmod-rtc-ds1307 \
|
|
|
|
kmod-gpio-pca953x kmod-eeprom-at24
|
|
|
|
BLOCKSIZE := 128k
|
|
|
|
KERNEL := kernel-bin | gzip | \
|
|
|
|
fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb
|
|
|
|
SUPPORTED_DEVICES := fsl,P2020RDB
|
|
|
|
IMAGES := sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := append-kernel | append-rootfs | \
|
|
|
|
pad-rootfs $$(BLOCKSIZE) | append-metadata
|
|
|
|
endef
|
|
|
|
TARGET_DEVICES += p2020rdb
|
|
|
|
|
|
|
|
endif
|
|
|
|
|
2010-12-05 11:38:59 +00:00
|
|
|
$(eval $(call BuildImage))
|