2 # Auxiliary kernel loader for Qualcom IPQ-4XXX/806X based boards
4 # Copyright (C) 2019 Sergey Sergeev <adron@mstnt.com>
6 # Some parts of this code was based on the OpenWrt specific lzma-loader
7 # for the Atheros AR7XXX/AR9XXX based boards:
8 # Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>
10 # This program is free software; you can redistribute it and/or modify it
11 # under the terms of the GNU General Public License version 2 as published
12 # by the Free Software Foundation.
15 include $(TOPDIR
)/rules.mk
17 LOADER_NAME
:= $(basename $(notdir $(LOADER
)))
23 LOADER_ELF
:= $(TARGET_DIR
)/$(LOADER_NAME
).elf
24 LOADER_UBI
:= $(TARGET_DIR
)/$(LOADER_NAME
).ubi
26 PKG_NAME
:= ipq-aux-loader
27 PKG_BUILD_DIR
:= $(KDIR
)/$(PKG_NAME
)
29 .PHONY
: loader-compile loader.elf
31 $(PKG_BUILD_DIR
)/.prepared
:
32 mkdir
$(PKG_BUILD_DIR
)
33 $(CP
) .
/src
/* $(PKG_BUILD_DIR
)
38 ifeq ($(PLATFORM
),mikrotik-ipq4xxx
)
40 TEXT_BASE
:= 0x84800000
41 TEXT_BASE2
:= 0x01100000
42 FAT_SIZE_START
:= 5000000
43 TEXT_BASE2_FAT
:= 0x00000000
46 loader-compile
: $(PKG_BUILD_DIR
)/.prepared
47 $(MAKE
) -C
$(PKG_BUILD_DIR
) CROSS_COMPILE
="$(TARGET_CROSS)" \
48 TEXT_BASE
=$(TEXT_BASE
) TEXT_BASE2
=$(TEXT_BASE2
) \
49 FAT_SIZE_START
=$(FAT_SIZE_START
) \
50 TEXT_BASE2_FAT
=$(TEXT_BASE2_FAT
) \
51 CPU_TYPE
=$(CPU_TYPE
) KERNEL_IMAGE
=$(LOADER_DATA
) \
52 BLOCKSIZE
=$(BLOCKSIZE
) PAGESIZE
=$(PAGESIZE
) \
55 loader.elf
: $(PKG_BUILD_DIR
)/bin
/loader.elf
56 $(CP
) $< $(LOADER_ELF
)
58 loader.ubi
: $(PKG_BUILD_DIR
)/bin
/loader.ubi
59 $(CP
) $< $(LOADER_UBI
)
62 prepare
: $(PKG_BUILD_DIR
)/.prepared
63 compile
: loader-compile
68 rm -rf
$(PKG_BUILD_DIR
)