mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 22:44:27 -05:00 
			
		
		
		
	Add image generation for edimax routers
SVN-Revision: 6627
This commit is contained in:
		
							parent
							
								
									285c45e7fd
								
							
						
					
					
						commit
						5e7833d044
					
				@ -34,8 +34,21 @@ define trxalign/squashfs
 | 
			
		||||
-a 1024
 | 
			
		||||
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
 | 
			
		||||
	$(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
 | 
			
		||||
 | 
			
		||||
$(eval $(call BuildImage))
 | 
			
		||||
 | 
			
		||||
@ -26,6 +26,7 @@ define Build/Compile
 | 
			
		||||
	$(call cc,ptgen)
 | 
			
		||||
	$(call cc,airlink)
 | 
			
		||||
	$(call cc,srec2bin)
 | 
			
		||||
	$(call cc,mksyshdr)
 | 
			
		||||
endef
 | 
			
		||||
 | 
			
		||||
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;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user