Add image generation for edimax routers
SVN-Revision: 6627
This commit is contained in:
		| @@ -34,8 +34,21 @@ define trxalign/squashfs | |||||||
| -a 1024 | -a 1024 | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  | define Image/Build/Compex | ||||||
|  | 	$(CP) $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(3)-$(2).trx | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Image/Build/Edimax | ||||||
|  | 	$(STAGING_DIR)/bin/mksyshdr csys $(KDIR)/vmlinux | ||||||
|  | 	cat csys $(KDIR)/vmlinux $(KDIR)/root.$(1) > $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(3)-$(2).img | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Image/Build | define Image/Build | ||||||
| 	$(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1) | 	$(STAGING_DIR)/bin/trx -o $(BIN_DIR)/openwrt-$(BOARD)-$(KERNEL)-$(1).trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma $(call trxalign/$(1)) -f $(KDIR)/root.$(1) | ||||||
|  | ifneq ($(1),jffs2-128K) | ||||||
|  | 	$(call Image/Build/Compex,$(1),wp54g,$(patsubst jffs2-%,jffs2,$(1))) | ||||||
|  | 	$(call Image/Build/Edimax,$(1),br6104,$(patsubst jffs2-%,jffs2,$(1))) | ||||||
|  | endif | ||||||
| endef | endef | ||||||
|  |  | ||||||
| $(eval $(call BuildImage)) | $(eval $(call BuildImage)) | ||||||
|   | |||||||
| @@ -26,6 +26,7 @@ define Build/Compile | |||||||
| 	$(call cc,ptgen) | 	$(call cc,ptgen) | ||||||
| 	$(call cc,airlink) | 	$(call cc,airlink) | ||||||
| 	$(call cc,srec2bin) | 	$(call cc,srec2bin) | ||||||
|  | 	$(call cc,mksyshdr) | ||||||
| endef | endef | ||||||
|  |  | ||||||
| define Build/Install | define Build/Install | ||||||
|   | |||||||
							
								
								
									
										44
									
								
								tools/firmware-utils/src/mksyshdr.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								tools/firmware-utils/src/mksyshdr.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | #include <stdlib.h> | ||||||
|  | #include <stdio.h> | ||||||
|  | int main(int argc, char* argv[]) | ||||||
|  | { | ||||||
|  | 	FILE* fp; | ||||||
|  | 	long  nImgSize; | ||||||
|  | 	char* pHeader1 = "CSYS"; | ||||||
|  | 	long  nHeader2 = 0x80500000; | ||||||
|  |  | ||||||
|  | 	if (argc != 3) | ||||||
|  | 	{ | ||||||
|  | 		printf("Usage: mksyshdr <header file> <image file>\n"); | ||||||
|  | 		return -1; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	fp = fopen(argv[2], "rb"); | ||||||
|  | 	if (fp != NULL) | ||||||
|  | 	{ | ||||||
|  | 		fseek(fp, 0, SEEK_END); | ||||||
|  | 		nImgSize = ftell(fp); | ||||||
|  | 		fclose(fp); | ||||||
|  | 		fp = fopen(argv[1], "wb+"); | ||||||
|  | 		if (fp != NULL) | ||||||
|  | 		{ | ||||||
|  | 			fwrite(pHeader1,  sizeof(char), 4, fp); | ||||||
|  | 			fwrite(&nHeader2, sizeof(long), 1, fp); | ||||||
|  | 			fwrite(&nImgSize, sizeof(long), 1, fp); | ||||||
|  | 			fclose(fp); | ||||||
|  | 		} | ||||||
|  | 		else | ||||||
|  | 		{ | ||||||
|  | 			printf("Cannot create %s.\n", argv[1]); | ||||||
|  | 			return -1; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		printf("Cannot open %s.\n", argv[2]); | ||||||
|  | 		return -1; | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	return 0; | ||||||
|  | } | ||||||
|  |  | ||||||
		Reference in New Issue
	
	Block a user
	 Florian Fainelli
					Florian Fainelli