mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-24 00:30:16 +02:00
Add image generation for edimax routers
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@6627 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
18d77c39a5
commit
7e5c0b4599
@ -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