summaryrefslogtreecommitdiffstats
path: root/target/linux/realtek/files/rtkload/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/realtek/files/rtkload/Makefile')
-rw-r--r--target/linux/realtek/files/rtkload/Makefile281
1 files changed, 281 insertions, 0 deletions
diff --git a/target/linux/realtek/files/rtkload/Makefile b/target/linux/realtek/files/rtkload/Makefile
new file mode 100644
index 000000000..b3f560205
--- /dev/null
+++ b/target/linux/realtek/files/rtkload/Makefile
@@ -0,0 +1,281 @@
+# The kernel tree you do builds in.
+# Uncomment if you're building for the emulator
+include ../.config
+#include ../../.config # to check toolchain CONFIG_RSDK_rsdk-1.5.4-5281-EB-2.6.30-0.9.30.3-uls-101110
+DOQUIET = false
+#DOQUIET = true
+#EMULATOR = true
+#KERNEL_ROOT = /home/john/RealTek/linux-2.5/linux
+KERNEL_ROOT = ..
+ifeq ($(wildcard $(DIR_USERS)/boa/tools/cvimg),)
+ifeq ($(wildcard $(DIR_USERS)/goahead-2.1.1/LINUX/cvimg),)
+CVIMG=./cvimg
+else
+CVIMG=$(DIR_USERS)/goahead-2.1.1/LINUX/cvimg
+endif
+else
+CVIMG=$(DIR_USERS)/boa/tools/cvimg
+endif
+# ---- shouldn't need to modify below this line.
+
+ifdef EMULATOR
+EMUOPTS = -DEMULATOR
+LDSCRIPT = ld-emu.script
+else
+EMUOPTS =
+LDSCRIPT = ld.script
+endif
+
+COPTIONS = -DROM_MEMORY -DCOMPRESSED_KERNEL -D__KERNEL__
+
+#SOURCES = vsprintf.c string.c ctype.c prom_printf.c misc.c hfload.c start.S read_memory.c
+ifdef BZ2_COMPRESS
+ SOURCES = misc.c hfload.c start.S cache.c
+else
+ifdef GZIP_COMPRESS
+ SOURCES = string.c ctype.c misc.c hfload.c start.S read_memory.c cache.c
+else
+ SOURCES = string.c ctype.c misc.c hfload.c start.S read_memory.c cache.c LzmaDecode.c
+endif
+endif
+
+LOADER_FILES = hfload.o read_memory.o
+#LOADER_FILES = hfload.o
+ifdef BZ2_COMPRESS
+ SUPPORT_FILES = misc.o cache.o
+else
+ifdef GZIP_COMPRESS
+ SUPPORT_FILES = vsprintf.o prom_printf.o string.o ctype.o misc.o cache.o
+else
+ifeq ($(strip $(DOQUIET)),true)
+ SUPPORT_FILES = string.o ctype.o misc.o cache.o LzmaDecode.o
+else
+ SUPPORT_FILES = vsprintf.o prom_printf.o string.o ctype.o misc.o cache.o LzmaDecode.o
+endif
+endif
+endif
+
+CFLAGS =-Os -g -fno-pic -mno-abicalls $(EMUOPTS)
+ifeq ($(strip $(DOQUIET)),true)
+CFLAGS += $(WARNINGS) -D__DO_QUIET__
+endif
+CFLAGS += -DEMBEDDED -I$(KERNEL_ROOT)/include/linux -I$(KERNEL_ROOT)/include -I$(KERNEL_ROOT)/lib $(COPTIONS) -G 0
+CFLAGS += -I$(KERNEL_ROOT)/arch/rlx/bsp -I$(KERNEL_ROOT)/arch/rlx/include -I$(KERNEL_ROOT)/arch/rlx/include/asm/mach-generic
+#ASFLAGS = -g $(EMUOPTS) -DEMBEDDED -I$(KERNEL_ROOT)/include -I$(KERNEL_ROOT)/arch/rlx/include
+#CFLAGS += -I$(KERNEL_ROOT)/arch/mips/include -I$(KERNEL_ROOT)/arch/mips/include/asm/mach-generic
+#ASFLAGS = -g $(EMUOPTS) -DEMBEDDED -I$(KERNEL_ROOT)/include -I$(KERNEL_ROOT)/arch/mips/include
+ASFLAGS = -g -fno-pic -mno-abicalls $(EMUOPTS) -DEMBEDDED -I$(KERNEL_ROOT)/include -I$(KERNEL_ROOT)/arch/rlx/include
+
+LDFLAGS=-static -nostdlib
+
+ifdef BZ2_COMPRESS
+CFLAGS += -DBZ2_COMPRESS
+ASFLAGS += -DBZ2_COMPRESS
+else
+ifndef GZIP_COMPRESS
+CFLAGS += -DLZMA_COMPRESS
+ASFLAGS += -DLZMA_COMPRESS
+endif
+endif
+
+START_FILE = start.o
+
+
+#RTL_819X normal LOAD_START_ADDR and FLASH_OFFSET
+ifdef CONFIG_RTL_819X
+LOAD_START_ADDR=0x80500000
+FLASH_OFFSET=30000
+endif
+
+ifdef CONFIG_RTL_8196B_GW
+ifdef CONFIG_MTD_RTL_8196_SPI
+LOAD_START_ADDR=0x80A00000
+else
+LOAD_START_ADDR=0x80500000
+endif
+ifdef CONFIG_RTL_8196B_GW_8M
+FLASH_OFFSET=10000
+else
+ifeq ($(CONFIG_RTL_FLASH_MAPPING_ENABLE),y)
+ifeq ($(CONFIG_RTL_LINUX_IMAGE_OFFSET),)
+FLASH_OFFSET=30000
+else
+FLASH_OFFSET=$(CONFIG_RTL_LINUX_IMAGE_OFFSET)
+endif
+else
+FLASH_OFFSET=30000
+endif
+endif
+endif
+
+ifdef CONFIG_RTL_8198_GW
+ifdef CONFIG_MTD_RTL_8196_SPI
+LOAD_START_ADDR=0x80A00000
+else
+LOAD_START_ADDR=0x80500000
+endif
+ifdef CONFIG_RTL_8196B_GW_8M
+FLASH_OFFSET=10000
+else
+FLASH_OFFSET=30000
+endif
+endif
+
+ifdef CONFIG_RTL_8196B_ICT
+LOAD_START_ADDR=0x80500000
+FLASH_OFFSET=30000
+endif
+
+ifdef CONFIG_RTL_865X_PANAHOST
+LOAD_START_ADDR=0x80500000
+FLASH_OFFSET=20000
+endif
+
+ifdef CONFIG_RTL_8197B_PANA
+LOAD_START_ADDR=0x80700000
+FLASH_OFFSET=30000
+endif
+
+ifdef CONFIG_RTL_8196B_AP_ROOT
+LOAD_START_ADDR=0x80500000
+FLASH_OFFSET=30000
+endif
+
+ifeq ($(CONFIG_RTL_FLASH_MAPPING_ENABLE),y)
+ifeq ($(CONFIG_RTL_LINUX_IMAGE_OFFSET),)
+FLASH_OFFSET=20000
+else
+FLASH_OFFSET=$(CONFIG_RTL_LINUX_IMAGE_OFFSET)
+endif
+else
+FLASH_OFFSET=20000
+endif
+
+ifdef CONFIG_RTK_VOIP_BOARD
+LOAD_START_ADDR=0x80C00000
+endif
+
+CV_SIGNATURE=
+ifdef CONFIG_RTL_8197B_PANA
+#CV_OPTION=linux
+CV_OPTION=signature
+CV_SIGNATURE=csys
+else
+ifdef CONFIG_SQUASHFS
+CV_OPTION=linux-ro
+else
+CV_OPTION=linux
+endif
+endif
+
+ifdef CONFIG_RTL_8198_NFBI_BOARD
+LOAD_START_ADDR=0x80700000
+FLASH_OFFSET=30000
+CV_OPTION=signature
+CV_SIGNATURE=csys
+endif
+
+#ifdef CONFIG_RTL_8196C_iNIC
+#LOAD_START_ADDR=0x80500000
+#FLASH_OFFSET=30000
+#CV_OPTION=signature
+#CV_SIGNATURE=cs6c
+#endif
+
+CROSS_COMPILE ?= rsdk-linux-
+
+LD=$(CROSS_COMPILE)ld
+CC=$(CROSS_COMPILE)gcc
+CPP=$(CROSS_COMPILE)gcc
+STRIP=$(CROSS_COMPILE)strip
+AS=$(CROSS_COMPILE)as
+NM=$(CROSS_COMPILE)nm
+OBJCOPY=$(CROSS_COMPILE)objcopy
+
+SEDFLAGS = s/LOAD_ADDR/$(LOAD_START_ADDR)/;
+
+ifdef CONFIG_RTK_VOIP_BOARD
+STRIP-OPTIONS-$(CONFIG_RSDK_rsdk-1.5.4-5281-EB-2.6.30-0.9.30.3-uls-101110) = --remove-section=.bss
+endif
+
+# jffs2 related definitions
+DIR_ROMFS_BOOT = $(DIR_ROMFS)/boot/
+MKJFFS2 = ./mkfs.jffs2
+MKIMAGE_UBOOT = ./mkimage-uboot
+
+O_TARGET := rtk
+obj-y := vmlinux_img.o $(START_FILE) $(LOADER_FILES) $(SUPPORT_FILES)
+
+ifdef CONFIG_ROOTFS_JFFS2
+all: rtk-clean rtk-vmlinux_img vmlinux_img.gzip.uboot.jffs2
+else
+all: rtk-clean rtk-vmlinux_img $(START_FILE) $(LOADER_FILES) $(SUPPORT_FILES)
+endif
+
+#memload-partial
+ifdef CONFIG_ROOTFS_JFFS2
+jffs2_no_this:
+endif
+ $(CC) -fno-pic -mno-abicalls -Os -fomit-frame-pointer -D__KERNEL__ -c vmlinux_img.c -o vmlinux_img.o
+ $(OBJCOPY) --add-section .vmlinux=vmlinux_img.gz vmlinux_img.o
+ @sed "$(SEDFLAGS)" < ld.script.in > $(LDSCRIPT)
+ $(LD) $(LDFLAGS) -G 0 -T $(LDSCRIPT) -o memload-partial $(START_FILE) $(LOADER_FILES) $(SUPPORT_FILES) vmlinux_img.o
+ $(NM) memload-partial | grep -v '\(compiled\)\|\(\.o$$\)\|\( [aU] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | sort > system.map
+
+ cp memload-partial memload-full
+ $(OBJCOPY) -Obinary memload-full nfjrom
+ $(CVIMG) $(CV_OPTION) nfjrom linux.bin $(LOAD_START_ADDR) $(FLASH_OFFSET) $(CV_SIGNATURE)
+# @./size_chk vmlinux_img $(LOAD_START_ADDR)
+ @$(CVIMG) size_chk vmlinux_img $(LOAD_START_ADDR) || exit $$?
+ifeq ($(CONFIG_BLK_DEV_INITRD),y)
+ @echo "RAMFS no need to check flash size"
+else
+ifeq ($(CONFIG_RTL_FLASH_MAPPING_ENABLE),y)
+ @$(CVIMG) flash_size_chk linux.bin || exit $$?
+endif
+endif
+
+rtk-clean:
+ rm -f *.o memload system.map nfjrom memload-partial memload-full vmlinux_img.gz target target.img strip1 linux.bin vmlinux-stripped $(LDSCRIPT) vmlinux_img vmlinux_img.gzip.uboot.jffs2
+
+rtk-vmlinux_img:
+ cp $(KERNEL_ROOT)/vmlinux vmlinux-stripped
+ $(STRIP) vmlinux-stripped $(STRIP-OPTIONS-y)
+ $(OBJCOPY) -Obinary vmlinux-stripped vmlinux_img
+ rm -f vmlinux_img.gz
+ifndef CONFIG_ROOTFS_JFFS2
+ifdef BZ2_COMPRESS
+ cat vmlinux_img | bzip2 -9v > vmlinux_img.gz
+else
+ifdef GZIP_COMPRESS
+ cat vmlinux_img | gzip -9v > vmlinux_img.gz
+else
+ ./lzma e vmlinux_img vmlinux_img.gz
+endif
+endif
+ $(CVIMG) vmlinuxhdr vmlinux_img.gz vmlinux_img.gz $(KERNEL_ROOT)/vmlinux
+endif # CONFIG_ROOTFS_JFFS2
+
+target: nfjrom $(BOOT_CODE) $(EXT2_IMG)
+# Pading boot code to 512 bytes long (but only 256 bytes are allowed, 512 is to make it page alignment)
+ $(OBJCOPY) -Obinary --pad-to=0x80000200 $(BOOT_CODE) bootcode
+ $(OBJCOPY) -Obinary --remove-section=.bss --remove-section=.data --remove-section=.mdebug --pad-to=0x806FFE00 memload-full nandrom
+ $(LD) -G0 -Ttarget.script -o target -bbinary bootcode -bbinary nandrom -bbinary $(EXT2_IMG)
+ $(OBJCOPY) -Obinary target target.img
+ cp -f ./target.img /tftpboot
+depend:
+ rm -f .depend
+ $(CC) $(CFLAGS) -MM $(SOURCES) >.depend
+
+bz2:
+ @make BZ2_COMPRESS=1
+
+gzip:
+ @make GZIP_COMPRESS=1
+
+vmlinux_img.gzip.uboot.jffs2:
+ cat vmlinux_img | gzip -9v > vmlinux_img.gzip
+ mkdir -p $(DIR_ROMFS_BOOT)
+ $(MKIMAGE_UBOOT) -A mips -O linux -T kernel -C gzip -a 80000000 -e 80000000 -n 8954c_kernel -d vmlinux_img.gzip $(DIR_ROMFS_BOOT)/vmlinux_img.gzip.uboot
+ $(MKJFFS2) -n -p -b -e $(CONFIG_JFFS2_ERASE_SIZE) -o $(DIR_IMAGE)/vmlinux_img.gzip.uboot.jffs2 -d $(DIR_ROMFS)
+