mirror of https://github.com/hak5/openwrt.git
360 lines
9.9 KiB
Makefile
360 lines
9.9 KiB
Makefile
#
|
|
# Copyright (C) 2007,2008 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
define trxedimax/jffs2-128k
|
|
-a 0x20000 -f $(KDIR)/root.jffs2-128k
|
|
endef
|
|
|
|
define trxedimax/jffs2-64k
|
|
-a 0x10000 -f $(KDIR)/root.jffs2-64k
|
|
endef
|
|
|
|
define trxedimax/squashfs
|
|
-a 1024 -f $(KDIR)/root.squashfs
|
|
endef
|
|
|
|
define Image/Build/TRXEdimax
|
|
$(STAGING_DIR_HOST)/bin/trx -o $(1) -f $(KDIR)/vmlinux.lzma \
|
|
$(call trxedimax/$(2))
|
|
endef
|
|
|
|
define Image/Build/Compex
|
|
$(call Image/Build/Loader,$(2),gz,0x80500000,0,y,$(2))
|
|
$(call Image/Build/TRX,$(call imgname,$(1),$(2)).trx,$(1),$(KDIR)/loader-$(2).gz)
|
|
endef
|
|
|
|
define Image/Build/Edimax
|
|
$(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(2))
|
|
$(call Image/Build/TRXEdimax,$(call imgname,$(1),$(2)).trx,$(1))
|
|
$(STAGING_DIR_HOST)/bin/mkcsysimg -B $(2) -d -w \
|
|
-r $(KDIR)/loader-$(2).gz::0x1000 \
|
|
-x $(call imgname,$(1),$(2)).trx:0x10000 \
|
|
-x $(JFFS2MARK):0x10000 \
|
|
$(call imgname,$(1),$(2))-webui.bin
|
|
$(STAGING_DIR_HOST)/bin/mkcsysimg -B $(2) -d \
|
|
-r $(KDIR)/loader-$(2).gz::0x1000 \
|
|
-x $(call imgname,$(1),$(2)).trx:0x10000 \
|
|
-x $(JFFS2MARK):0x10000 \
|
|
$(call imgname,$(1),$(2))-xmodem.bin
|
|
rm -f $(call imgname,$(1),$(2)).trx
|
|
endef
|
|
|
|
define Image/Build/Infineon
|
|
$(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(2))
|
|
$(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
|
|
dd if=$(KDIR)/loader-$(2).gz of=$(call imgname,$(1),$(2)).img bs=64k conv=sync
|
|
cat $(call imgname,$(1),$(2)).trx >> $(call imgname,$(1),$(2)).img
|
|
endef
|
|
|
|
define Image/Build/Cellvision
|
|
$(call Image/Build/Loader,$(2),bin,0x80500000,0x6D8,y,$(3))
|
|
mkdir -p $(BIN_DIR)/tmp
|
|
cp $(KDIR)/loader-$(2).bin $(BIN_DIR)/tmp/vmlinux.bin
|
|
gzip -9 $(BIN_DIR)/tmp/vmlinux.bin
|
|
dd if=$(BIN_DIR)/tmp/vmlinux.bin.gz of=$(call imgname,$(1),$(2))-xmodem.bin bs=64k conv=sync
|
|
rm -rf $(BIN_DIR)/tmp
|
|
$(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
|
|
cat $(call imgname,$(1),$(2)).trx >> $(call imgname,$(1),$(2))-xmodem.bin
|
|
$(STAGING_DIR_HOST)/bin/mkcasfw -B $(2) -d \
|
|
-K $(call imgname,$(1),$(2))-xmodem.bin \
|
|
$(call imgname,$(1),$(2))-webui.bin
|
|
endef
|
|
|
|
define Image/Build/Cellvision2
|
|
# only for CAS-700/771/790/861
|
|
$(call Image/Build/Loader,$(2),gz,0x80500000,0x6D8,y,$(3))
|
|
$(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
|
|
dd if=$(KDIR)/loader-$(2).gz of=$(call imgname,$(1),$(2)).bin bs=64k conv=sync
|
|
cat $(call imgname,$(1),$(2)).trx >> $(call imgname,$(1),$(2)).bin
|
|
echo -ne '\x14\x07\x24\x06$(2)' | dd bs=14 count=1 conv=sync >> $(call imgname,$(1),$(2)).bin
|
|
echo -ne 'OpenWrt\x00\x00\x00' >> $(call imgname,$(1),$(2)).bin
|
|
endef
|
|
|
|
define Image/Build/MyLoader
|
|
$(call Image/Build/Loader,$(2),gz,0x80500000,0)
|
|
$(call Image/Build/TRXNoloader,$(call imgname,$(1),$(2)).trx,$(1))
|
|
$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) \
|
|
-p0x20000:0x10000:ahp:0x80001000 \
|
|
-p0x30000:0 \
|
|
-b0x20000:0x10000:h:$(KDIR)/loader-$(2).gz \
|
|
-b0x30000:0::$(call imgname,$(1),$(2)).trx \
|
|
$(call imgname,$(1),$(2)).bin
|
|
endef
|
|
|
|
#
|
|
# Cellvision CAS-630/630W, CAS-670/670W, NFS-101U/101WU, NFS-202U/202WU
|
|
#
|
|
define Image/Build/Template/Cellvision
|
|
$(call Image/Build/Cellvision,$(1),$(2),$(3))
|
|
endef
|
|
|
|
define Image/Build/Template/Cellvision/squashfs
|
|
$(call Image/Build/Template/Cellvision,squashfs,$(1),$(2))
|
|
endef
|
|
|
|
define Image/Build/Template/Cellvision/jffs2-64k
|
|
$(call Image/Build/Template/Cellvision,jffs2-64k,$(1),$(2))
|
|
endef
|
|
|
|
#
|
|
# Cellvision CAS-700/700W, CAS-771/771W, CAS-790, CAS-861/861W
|
|
#
|
|
define Image/Build/Template/Cellvision2
|
|
$(call Image/Build/Cellvision2,$(1),$(2),$(3))
|
|
endef
|
|
|
|
define Image/Build/Template/Cellvision2/squashfs
|
|
$(call Image/Build/Template/Cellvision2,squashfs,$(1),$(2))
|
|
endef
|
|
|
|
define Image/Build/Template/Cellvision2/jffs2-64k
|
|
$(call Image/Build/Template/Cellvision2,jffs2-64k,$(1),$(2))
|
|
endef
|
|
|
|
define Image/Build/Template/Cellvision2/Initramfs
|
|
$(call Image/Build/LZMAKernel/Cellvision,$(1),$(2),gz)
|
|
endef
|
|
|
|
#
|
|
# Compex NP27G, NP28G, WP54G, WP54AG, WPP54G, WPP54AG
|
|
#
|
|
define Image/Build/Template/Compex
|
|
$(call Image/Build/MyLoader,$(1),$(2))
|
|
endef
|
|
|
|
define Image/Build/Template/Compex/squashfs
|
|
$(call Image/Build/Template/Compex,squashfs,$(1))
|
|
endef
|
|
|
|
define Image/Build/Template/Compex/jffs2-64k
|
|
$(call Image/Build/Template/Compex,jffs2-64k,$(1))
|
|
endef
|
|
|
|
define Image/Build/Template/Compex/Initramfs
|
|
$(call Image/Build/LZMAKernel/Generic,$(1),bin)
|
|
endef
|
|
|
|
#
|
|
# Compex WP54G-WRT
|
|
#
|
|
define Image/Build/Template/WP54GWRT
|
|
$(call Image/Build/Compex,$(1),wp54g-wrt)
|
|
endef
|
|
|
|
define Image/Build/Template/WP54GWRT/squashfs
|
|
$(call Image/Build/Template/WP54GWRT,squashfs)
|
|
endef
|
|
|
|
define Image/Build/Template/WP54GWRT/jffs2-64k
|
|
$(call Image/Build/Template/WP54GWRT,jffs2-64k)
|
|
endef
|
|
|
|
define Image/Build/Template/WP54GWRT/Initramfs
|
|
$(call Image/Build/LZMAKernel/KArgs,wp54g-wrt,bin)
|
|
endef
|
|
|
|
#
|
|
# Edimax BR-6104K, BR-6104KP, BR-6104Wg, BR-6114WG
|
|
#
|
|
define Image/Build/Template/Edimax
|
|
$(call Image/Build/Edimax,$(1),$(2))
|
|
endef
|
|
|
|
define Image/Build/Template/Edimax/squashfs
|
|
$(call Image/Build/Template/Edimax,squashfs,$(1))
|
|
endef
|
|
|
|
define Image/Build/Template/Edimax/Initramfs
|
|
$(call Image/Build/LZMAKernel/Admboot,$(1),gz)
|
|
endef
|
|
|
|
#
|
|
# Infineon EASY 5120, EASY 83000
|
|
#
|
|
define Image/Build/Template/Infineon
|
|
$(call Image/Build/Infineon,$(1),$(2))
|
|
endef
|
|
|
|
define Image/Build/Template/Infineon/squashfs
|
|
$(call Image/Build/Template/Infineon,squashfs,$(1))
|
|
endef
|
|
|
|
define Image/Build/Template/Infineon/jffs2-64k
|
|
$(call Image/Build/Template/Infineon,jffs2-64k,$(1))
|
|
endef
|
|
|
|
define Image/Build/Template/Infineon/Initramfs
|
|
$(call Image/Build/LZMAKernel/Admboot,$(1),gz)
|
|
endef
|
|
|
|
#
|
|
# Mikrotik RouterBOARD 1xx
|
|
#
|
|
define Image/Build/Template/Mikrotik/Initramfs
|
|
$(CP) $(KDIR)/vmlinux.elf $(call imgname,netboot,rb1xx)
|
|
endef
|
|
|
|
#
|
|
# Profiles
|
|
#
|
|
define Image/Build/Profile/CAS630
|
|
$(call Image/Build/Template/Cellvision/$(1),cas-630,cas-630)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS630W
|
|
$(call Image/Build/Template/Cellvision/$(1),cas-630w,cas-630)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS670
|
|
$(call Image/Build/Template/Cellvision/$(1),cas-670,cas-670)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS670W
|
|
$(call Image/Build/Template/Cellvision/$(1),cas-670w,cas-670)
|
|
endef
|
|
|
|
define Image/Build/Profile/NFS101U
|
|
$(call Image/Build/Template/Cellvision/$(1),nfs-101u,nfs-101u)
|
|
$(call Image/Build/Template/Cellvision/$(1),dn-7013,nfs-101u)
|
|
$(call Image/Build/Template/Cellvision/$(1),dns-120,nfs-101u)
|
|
$(call Image/Build/Template/Cellvision/$(1),mu-5000fs,nfs-101u)
|
|
$(call Image/Build/Template/Cellvision/$(1),tn-u100,nfs-101u)
|
|
endef
|
|
|
|
define Image/Build/Profile/NFS101WU
|
|
$(call Image/Build/Template/Cellvision/$(1),nfs-101wu,nfs-101u)
|
|
$(call Image/Build/Template/Cellvision/$(1),dns-g120,nfs-101u)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS700
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-700,cas-700)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS700W
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-700w,cas-700)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS771
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-771,cas-771)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS771W
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-771w,cas-771)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS790
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-790,cas-790)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS861
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-861,cas-861)
|
|
endef
|
|
|
|
define Image/Build/Profile/CAS861W
|
|
$(call Image/Build/Template/Cellvision2/$(1),cas-861w,cas-861)
|
|
endef
|
|
|
|
define Image/Build/Profile/NP27G
|
|
$(call Image/Build/Template/Compex/$(1),np27g)
|
|
endef
|
|
|
|
define Image/Build/Profile/NP28G
|
|
$(call Image/Build/Template/Compex/$(1),np28g)
|
|
endef
|
|
|
|
define Image/Build/Profile/WP54
|
|
$(call Image/Build/Template/Compex/$(1),wp54g)
|
|
$(call Image/Build/Template/Compex/$(1),wp54ag)
|
|
$(call Image/Build/Template/Compex/$(1),wpp54g)
|
|
$(call Image/Build/Template/Compex/$(1),wpp54ag)
|
|
$(call Image/Build/Template/WP54GWRT/$(1))
|
|
endef
|
|
|
|
define Image/Build/Profile/BR6104K
|
|
$(call Image/Build/Template/Edimax/$(1),br-6104k)
|
|
endef
|
|
|
|
define Image/Build/Profile/BR6104KP
|
|
$(call Image/Build/Template/Edimax/$(1),br-6104kp)
|
|
endef
|
|
|
|
define Image/Build/Profile/BR6104WG
|
|
$(call Image/Build/Template/Edimax/$(1),br-6104wg)
|
|
endef
|
|
|
|
define Image/Build/Profile/BR6114WG
|
|
$(call Image/Build/Template/Edimax/$(1),br-6114wg)
|
|
endef
|
|
|
|
define Image/Build/Profile/EASY83000
|
|
$(call Image/Build/Template/Infineon/$(1),easy-83000)
|
|
endef
|
|
|
|
define Image/Build/Profile/EASY5120RT
|
|
$(call Image/Build/Template/Infineon/$(1),easy-5120-rt)
|
|
endef
|
|
|
|
define Image/Build/Profile/RouterBoard
|
|
$(call Image/Build/Template/Mikrotik/$(1))
|
|
endef
|
|
|
|
ifeq ($(CONFIG_BROKEN),y)
|
|
define Image/Build/Experimental
|
|
# Cellvison
|
|
$(call Image/Build/Profile/CAS630,$(1))
|
|
$(call Image/Build/Profile/CAS630W,$(1))
|
|
$(call Image/Build/Profile/CAS670,$(1))
|
|
$(call Image/Build/Profile/CAS670W,$(1))
|
|
$(call Image/Build/Profile/CAS700,$(1))
|
|
$(call Image/Build/Profile/CAS700W,$(1))
|
|
$(call Image/Build/Profile/CAS771,$(1))
|
|
$(call Image/Build/Profile/CAS771W,$(1))
|
|
$(call Image/Build/Profile/CAS861,$(1))
|
|
$(call Image/Build/Profile/CAS861W,$(1))
|
|
$(call Image/Build/Profile/NFS101U,$(1))
|
|
$(call Image/Build/Profile/NFS101WU,$(1))
|
|
endef
|
|
endif
|
|
|
|
define Image/Build/Profile/Generic
|
|
# Compex
|
|
$(call Image/Build/Profile/WP54,$(1))
|
|
$(call Image/Build/Profile/NP27G,$(1))
|
|
$(call Image/Build/Profile/NP28G,$(1))
|
|
# Edimax
|
|
$(call Image/Build/Profile/BR6104K,$(1))
|
|
$(call Image/Build/Profile/BR6104KP,$(1))
|
|
$(call Image/Build/Profile/BR6104WG,$(1))
|
|
$(call Image/Build/Profile/BR6114WG,$(1))
|
|
# Infineon
|
|
$(call Image/Build/Profile/EASY83000,$(1))
|
|
$(call Image/Build/Profile/EASY5120RT,$(1))
|
|
# Mikrotik
|
|
$(call Image/Build/Profile/RB1xx/$(1))
|
|
$(call Image/Build/Experimental,$(1))
|
|
endef
|
|
|
|
ifeq ($(PROFILE),RouterBoard)
|
|
define Image/cmdline/yaffs2
|
|
root=/dev/mtdblock3 rootfstype=yaffs2 init=/etc/preinit
|
|
endef
|
|
|
|
define Image/BuildKernel/RouterBoard
|
|
$(CP) $(KDIR)/vmlinux.elf $(call imgname,kernel,rb1xx)
|
|
$(STAGING_DIR_HOST)/bin/patch-cmdline $(call imgname,kernel,rb1xx) \
|
|
'$(strip $(call Image/cmdline/yaffs2))'
|
|
endef
|
|
|
|
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
|
|
define Image/BuildKernel
|
|
$(call Image/BuildKernel/RouterBoard)
|
|
endef
|
|
endif
|
|
|
|
endif
|
|
|