aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/image/lzma-loader
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-11-20 12:17:41 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-11-20 12:17:41 +0000
commita36d8dba576f91488f5649e18e1d6d9c21f421b1 (patch)
treecf286852838841006d88e5d91d42575e9964c1d9 /target/linux/ar71xx/image/lzma-loader
parent0cbf423c6a45fadb9027a052f70d51119e54e12e (diff)
downloadmaster-187ad058-a36d8dba576f91488f5649e18e1d6d9c21f421b1.tar.gz
master-187ad058-a36d8dba576f91488f5649e18e1d6d9c21f421b1.tar.bz2
master-187ad058-a36d8dba576f91488f5649e18e1d6d9c21f421b1.zip
ar71xx/image: relink loader.elf image to LOADADDR
This allows to load the resulting image directly from RouterBOOT. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34271 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/image/lzma-loader')
-rw-r--r--target/linux/ar71xx/image/lzma-loader/src/Makefile16
-rw-r--r--target/linux/ar71xx/image/lzma-loader/src/loader2.lds10
2 files changed, 21 insertions, 5 deletions
diff --git a/target/linux/ar71xx/image/lzma-loader/src/Makefile b/target/linux/ar71xx/image/lzma-loader/src/Makefile
index 3e6839c7c3..8038b2fba9 100644
--- a/target/linux/ar71xx/image/lzma-loader/src/Makefile
+++ b/target/linux/ar71xx/image/lzma-loader/src/Makefile
@@ -68,7 +68,7 @@ ifneq ($(BOARD_DEF),)
CFLAGS += -DCONFIG_BOARD_$(BOARD_DEF)
endif
-all: loader.bin
+all: loader.elf
# Don't build dependencies, this may die if $(CC) isn't gcc
dep:
@@ -84,16 +84,22 @@ install:
data.o: $(LOADER_DATA)
$(LD) -r -b binary --oformat $(O_FORMAT) -T lzma-data.lds -o $@ $<
-loader.bin: loader.elf
+loader: $(OBJECTS)
+ $(LD) $(LDFLAGS) -o $@ $(OBJECTS)
+
+loader.bin: loader
$(OBJCOPY) $(BIN_FLAGS) $< $@
-loader.elf: $(OBJECTS)
- $(LD) $(LDFLAGS) -o $@ $(OBJECTS)
+loader2.o: loader.bin
+ $(LD) -r -b binary --oformat $(O_FORMAT) -o $@ $<
+
+loader.elf: loader2.o
+ $(LD) -e startup -T loader2.lds -Ttext $(LOADADDR) -o $@ $<
mrproper: clean
clean:
- rm -f *.elf *.bin *.o
+ rm -f loader *.elf *.bin *.o
diff --git a/target/linux/ar71xx/image/lzma-loader/src/loader2.lds b/target/linux/ar71xx/image/lzma-loader/src/loader2.lds
new file mode 100644
index 0000000000..db0bb46424
--- /dev/null
+++ b/target/linux/ar71xx/image/lzma-loader/src/loader2.lds
@@ -0,0 +1,10 @@
+OUTPUT_ARCH(mips)
+SECTIONS {
+ .text : {
+ startup = .;
+ *(.text)
+ *(.text.*)
+ *(.data)
+ *(.data.*)
+ }
+}