diff options
author | Roman Yeryomin <roman@advem.lv> | 2012-09-13 00:40:35 +0300 |
---|---|---|
committer | Roman Yeryomin <roman@advem.lv> | 2013-05-26 00:44:46 +0300 |
commit | a27354c9021a8423ef8c7d2bffad49cbf639eec1 (patch) | |
tree | 2355929a4b8cf1888cd0797cfabdb42e0077c524 /target/linux/realtek/patches-2.6.30/006-make-image.diff | |
parent | 24a776baeb5d3cd903b144c89ceb11c5bc36a49e (diff) |
Add realtek target files
Signed-off-by: Roman Yeryomin <roman@advem.lv>
Diffstat (limited to 'target/linux/realtek/patches-2.6.30/006-make-image.diff')
-rw-r--r-- | target/linux/realtek/patches-2.6.30/006-make-image.diff | 374 |
1 files changed, 374 insertions, 0 deletions
diff --git a/target/linux/realtek/patches-2.6.30/006-make-image.diff b/target/linux/realtek/patches-2.6.30/006-make-image.diff new file mode 100644 index 000000000..ce97a0949 --- /dev/null +++ b/target/linux/realtek/patches-2.6.30/006-make-image.diff @@ -0,0 +1,374 @@ +Index: linux-2.6.30.9/arch/rlx/Kconfig +=================================================================== +--- linux-2.6.30.9.orig/arch/rlx/Kconfig 2011-12-04 19:44:01.000000000 +0000 ++++ linux-2.6.30.9/arch/rlx/Kconfig 2011-12-05 01:19:43.000000000 +0000 +@@ -844,3 +844,9 @@ + source "crypto/Kconfig" + source "lib/Kconfig" + ++config RTL_KERNEL_LOAD_ADDRESS ++ hex "kernel load address in ram" ++ default "0x80500000" ++ help ++ kernel load address in ram ++ +Index: linux-2.6.30.9/rtkload/Makefile +=================================================================== +--- linux-2.6.30.9.orig/rtkload/Makefile 2011-12-04 19:44:01.000000000 +0000 ++++ linux-2.6.30.9/rtkload/Makefile 2011-12-05 01:43:31.000000000 +0000 +@@ -2,63 +2,42 @@ + # 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 ++CVIMG=cvimg ++ ++AS = $(CROSS_COMPILE)as ++LD = $(CROSS_COMPILE)ld ++CC = $(CROSS_COMPILE)gcc ++CPP = $(CC) -E ++AR = $(CROSS_COMPILE)ar ++NM = $(CROSS_COMPILE)nm ++STRIP = $(CROSS_COMPILE)strip ++OBJCOPY = $(CROSS_COMPILE)objcopy ++OBJDUMP = $(CROSS_COMPILE)objdump ++ ++ + 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 ++#SOURCES = misc.c hfload.c start.S cache.c #bzip2 ++#SOURCES = string.c ctype.c misc.c hfload.c start.S read_memory.c cache.c #gzip ++SOURCES = string.c ctype.c misc.c hfload.c start.S read_memory.c cache.c LzmaDecode.c #lzma + + 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 ++ ++ ++#SUPPORT_FILES = misc.o cache.o # bzip2 ++#SUPPORT_FILES = vsprintf.o prom_printf.o string.o ctype.o misc.o cache.o #gzip ++#SUPPORT_FILES = string.o ctype.o misc.o cache.o LzmaDecode.o #quiet ++SUPPORT_FILES = vsprintf.o prom_printf.o string.o ctype.o misc.o cache.o LzmaDecode.o #lzma + +-CFLAGS =-Os -g -fno-pic -mno-abicalls $(EMUOPTS) +-ifeq ($(strip $(DOQUIET)),true) +-CFLAGS += $(WARNINGS) -D__DO_QUIET__ +-endif ++CFLAGS =-Os -g -fno-pic -mno-abicalls $(EMUOPTS) -march=rlx4181 ++ ++#CFLAGS += $(WARNINGS) -D__DO_QUIET__ #quiet ++ ++ + 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 +@@ -68,214 +47,57 @@ + + LDFLAGS=-static -nostdlib + +-ifdef BZ2_COMPRESS +-CFLAGS += -DBZ2_COMPRESS +-ASFLAGS += -DBZ2_COMPRESS +-else +-ifndef GZIP_COMPRESS +-CFLAGS += -DLZMA_COMPRESS +-ASFLAGS += -DLZMA_COMPRESS +-endif +-endif ++#CFLAGS += -DBZ2_COMPRESS #bzip2 ++#ASFLAGS += -DBZ2_COMPRESS #bzip2 ++#CFLAGS += #gzip ++#ASFLAGS += #gzip ++CFLAGS += -DLZMA_COMPRESS #lzma ++ASFLAGS += -DLZMA_COMPRESS #lzma + +-START_FILE = start.o + ++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 ++#CV_OPTION=linux ++ ++SEDFLAGS = s/LOAD_ADDR/$(CONFIG_RTL_KERNEL_LOAD_ADDRESS)/; ++ + + 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) ++all: linux.bin ++ ++%.o:%.S ++ ${CC} ${CFLAGS} -c -o $@ $< ++%.o:%.c ++ ${CC} ${CFLAGS} -c -o $@ $< ++ ++linux.bin: $(KERNEL_ROOT)/vmlinux $(START_FILE) $(LOADER_FILES) $(SUPPORT_FILES) ++ cp $(KERNEL_ROOT)/vmlinux vmlinux-stripped ++ $(STRIP) vmlinux-stripped $(STRIP-OPTIONS-y) ++ $(OBJCOPY) -Obinary vmlinux-stripped vmlinux_img ++ #lzma -z < vmlinux_img > vmlinux_img.squish || rm -f vmlinux_img.squish ++ lzma e vmlinux_img vmlinux_img.squish ++ #bzip2 -9 < vmlinux_img > vmlinux_img.squish || rm -f vmlinux_img.squish ++ #gzip -9 < vmlinux_img > vmlinux_img.squish || rm -f vmlinux_img.squish ++ $(CVIMG) vmlinuxhdr vmlinux_img.squish vmlinux_img.squish.hdr $(KERNEL_ROOT)/vmlinux ++ $(CC) ${CFLAGS} -D__KERNEL__ -c vmlinux_img.c -o vmlinux_img.o ++ $(OBJCOPY) --add-section .vmlinux=vmlinux_img.squish.hdr 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 ++ $(CVIMG) $(CV_OPTION) nfjrom linux.bin $(CONFIG_RTL_KERNEL_LOAD_ADDRESS) $(CONFIG_RTL_LINUX_IMAGE_OFFSET) $(CV_SIGNATURE) ++ ++clean: ++ rm -f *.o memload system.map nfjrom memload-partial memload-full vmlinux_img.squish vmlinux_img.squish.hdr target target.img strip1 linux.bin vmlinux-stripped $(LDSCRIPT) vmlinux_img vmlinux_img.gzip.uboot.jffs2 ++ ++ + 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) + +Index: linux-2.6.30.9/Makefile +=================================================================== +--- linux-2.6.30.9.orig/Makefile 2011-12-05 01:19:42.000000000 +0000 ++++ linux-2.6.30.9/Makefile 2011-12-05 01:19:43.000000000 +0000 +@@ -1480,6 +1480,9 @@ + kernelversion: + @echo $(KERNELVERSION) + ++do_rtkload: ++ $(Q)$(MAKE) -C rtkload ++ + # Single targets + # --------------------------------------------------------------------------- + # Single targets are compatible with: |