1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-24 04:26: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:
florian 2007-03-21 15:04:07 +00:00
parent 18d77c39a5
commit 7e5c0b4599
3 changed files with 58 additions and 0 deletions

View File

@ -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))

View File

@ -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

View 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;
}