2 # Copyright (C) 2008-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
9 include $(INCLUDE_DIR
)/image.mk
11 KERNEL_LOADADDR
= 0x80060000
13 DEVICE_VARS
+= NETGEAR_KERNEL_MAGIC NETGEAR_BOARD_ID NETGEAR_HW_ID CMDLINE CONSOLE IMAGE_SIZE BOARDNAME LOADER_FLASH_OFFS LOADER_TYPE
15 ifeq ($(SUBTARGET
),generic
)
19 include .
/legacy-devices.mk
21 ifeq ($(SUBTARGET
),nand
)
26 define Build
/netgear-squashfs
27 rm -rf
$@.fs
$@.squashfs
29 cp
$@
$@.fs
/image
/uImage
30 $(STAGING_DIR_HOST
)/bin
/mksquashfs-lzma \
32 -noappend
-root-owned
-be
-b
65536 \
33 $(if
$(SOURCE_DATE_EPOCH
),-fixed-time
$(SOURCE_DATE_EPOCH
))
35 dd if
=/dev
/zero bs
=1k count
=1 >> $@.squashfs
37 -A mips
-O linux
-T filesystem
-C none \
38 -M
$(NETGEAR_KERNEL_MAGIC
) \
39 -a
0xbf070000 -e
0xbf070000 \
40 -n
'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
42 rm -rf
$@.squashfs
$@.fs
45 define Build
/netgear-uImage
46 $(call Build
/uImage
,$(1) -M
$(NETGEAR_KERNEL_MAGIC
))
49 define Build
/loader-common
51 $(MAKE
) -C lzma-loader \
52 PKG_BUILD_DIR
="$@.src" \
53 TARGET_DIR
="$(dir $@)" LOADER_NAME
="$(notdir $@)" \
54 BOARD
="$(BOARDNAME)" \
55 LZMA_TEXT_START
=0x80a00000 LOADADDR
=0x80060000 \
56 $(1) compile loader.
$(LOADER_TYPE
)
57 mv
"$@.$(LOADER_TYPE)" "$@"
61 define Build
/loader-okli-compile
62 $(call Build
/loader-common
,FLASH_OFFS
=$(LOADER_FLASH_OFFS
) FLASH_MAX
=0 KERNEL_CMDLINE
="$(CMDLINE)")
65 define Build
/loader-kernel
66 $(call Build
/loader-common
,LOADER_DATA
="$@")
69 define Build
/loader-kernel-cmdline
70 $(call Build
/loader-common
,LOADER_DATA
="$@" KERNEL_CMDLINE
="$(CMDLINE)")
73 define Build
/loader-okli
74 dd if
=$(KDIR
)/loader-
$(1).gz bs
=7680 conv
=sync of
="$@.new"
79 define Build
/relocate-kernel
81 $(CP
) ..
/..
/generic
/image
/relocate
$@.relocate
82 $(MAKE
) -j1
-C
$@.relocate KERNEL_ADDR
=$(KERNEL_LOADADDR
) CROSS_COMPILE
=$(TARGET_CROSS
)
84 dd if
=$@.relocate
/loader.bin bs
=32 conv
=sync
&& \
85 perl
-e
'@s = stat("$@"); print pack("N", @s[7])' && \
92 define Build
/copy-file
98 DEVICE_PROFILE
= $$(BOARDNAME
)
99 PROFILES
= Default Minimal
$$(DEVICE_PROFILE
)
102 CONSOLE
= ttyS0
,115200
103 CMDLINE
= $$(if
$$(BOARDNAME
),board
=$$(BOARDNAME
)) $$(if
$$(MTDPARTS
),mtdparts
=$$(MTDPARTS
)) $$(if
$$(CONSOLE
),console
=$$(CONSOLE
))
104 KERNEL
:= kernel-bin | patch-cmdline | lzma | uImage lzma
106 IMAGES
:= sysupgrade.bin
107 IMAGE
/sysupgrade.bin
= append-kernel | pad-to
$$$$(BLOCKSIZE
) | append-rootfs | pad-rootfs | check-size
$$$$(IMAGE_SIZE
)
110 $(eval
$(call BuildImage
))