2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
10 LOADADDR
= 0x81000000 # RAM start + 16M
11 KERNEL_ENTRY
= 0x80101000
12 RAMSIZE
= 0x00100000 # 1MB
16 CROSS_COMPILE
="$(TARGET_CROSS)" \
17 PATH
="$(TARGET_PATH)" \
20 LOADADDR
=$(LOADADDR
) \
21 KERNEL_ENTRY
=$(KERNEL_ENTRY
) \
23 IMAGE_COPY
=$(IMAGE_COPY
)
26 LOADER_DIR
= $(GENERIC_PLATFORM_DIR
)/image
/lzma-loader
28 define Build
/lzma-loader-elf
31 $(CP
) $(LOADER_DIR
)/src
/* $@.loader
/
32 $(CP
) $@
$@.loader
/vmlinux.lzma
33 $(MAKE
) -C
$@.loader
$(LOADER_MAKEOPTS
)
34 cp
$@.loader
/lzma.elf
$@
39 DEVICE_VENDOR
:= MikroTik
40 DEVICE_MODEL
:= RouterBOARD
532
41 CMDLINE
:= ubi.mtd
=1 ubi.block
=0,rootfs root
=/dev
/ubiblock0_1
43 SUPPORTED_DEVICES
:= rb532
44 KERNEL_INITRAMFS
:= append-kernel | patch-cmdline | lzma | lzma-loader-elf
45 KERNEL
:= $$(KERNEL_INITRAMFS
) | kernel2minor
-s
2048 -i
0 -c
46 IMAGES
:= sysupgrade.bin
47 FILESYSTEMS
:= squashfs
48 IMAGE
/sysupgrade.bin
:= sysupgrade-tar | append-metadata
51 TARGET_DEVICES
:= nand
54 $(MAKE
) -C
$(GENERIC_PLATFORM_DIR
)/image
/lzma-loader
$(LOADER_MAKEOPTS
) clean
58 cat
$(KDIR
)/vmlinux |
$(STAGING_DIR_HOST
)/bin
/lzma e
-si
-so
-eos
-lc1
-lp2
-pb2
> $(KDIR
)/vmlinux.lzma
59 $(MAKE
) -C
$(GENERIC_PLATFORM_DIR
)/image
/lzma-loader
$(LOADER_MAKEOPTS
) clean compile
60 ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS
),y
)
61 $(STAGING_DIR_HOST
)/bin
/patch-cmdline
$(KDIR
)/vmlinux-initramfs
'$(strip $(call Image/cmdline/yaffs2)) '
62 cat
$(KDIR
)/vmlinux-initramfs |
$(STAGING_DIR_HOST
)/bin
/lzma e
-si
-so
-eos
-lc1
-lp2
-pb2
> $(KDIR
)/vmlinux.lzma
63 $(MAKE
) -C
$(GENERIC_PLATFORM_DIR
)/image
/lzma-loader
$(LOADER_MAKEOPTS
) clean compile
64 $(CP
) $(KDIR
)/loader.elf
$(KDIR
)/loader-initramfs.elf
68 VMLINUX
:=$(BIN_DIR
)/$(IMG_PREFIX
)-vmlinux-kernel
70 define Image
/BuildKernel
71 $(CP
) $(KDIR
)/loader.elf
$(VMLINUX
)
72 ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS
),y
)
73 $(CP
) $(KDIR
)/loader-initramfs.elf
$(BIN_DIR
)/$(IMG_PREFIX
)-vmlinux-initramfs
77 define Image
/cmdline
/yaffs2
78 root
=/dev
/mtdblock1 rootfstype
=yaffs2
81 define Image
/Build
/squashfs
82 dd if
=/dev
/zero bs
=128k count
=1 >> $(KDIR
)/root.squashfs
86 $(call Image
/Build
/$(1),$(1))
87 $(CP
) $(KDIR
)/vmlinux.elf
$(BIN_DIR
)/$(IMG_PREFIX
)-$(1).kernel
88 $(STAGING_DIR_HOST
)/bin
/patch-cmdline
$(BIN_DIR
)/$(IMG_PREFIX
)-$(1).kernel
'root=/dev/sda2 '
89 .
/gen_image.sh
$(BIN_DIR
)/$(IMG_COMBINED
)-$(1).bin \
90 6 $(BIN_DIR
)/$(IMG_PREFIX
)-$(1).kernel \
91 $(CONFIG_TARGET_ROOTFS_PARTSIZE
) $(KDIR
)/root.
$(1) \
95 $(eval
$(call BuildImage
))