diff options
author | Roman Yeryomin <roman@advem.lv> | 2012-09-13 00:40:35 +0300 |
---|---|---|
committer | Roman Yeryomin <roman@advem.lv> | 2012-12-03 00:13:21 +0200 |
commit | 5deb3317cb51ac52de922bb55f8492624018906d (patch) | |
tree | c2fbe6346699d9bb0f2100490c3029519bb8fde8 /target/linux/realtek/files/rtkload/Makefile | |
parent | 0239d37124f9184b478a42de8a7fa1bc85a6a6fe (diff) |
Add realtek target files
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/files/rtkload/Makefile')
-rw-r--r-- | target/linux/realtek/files/rtkload/Makefile | 281 |
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) + |