summaryrefslogtreecommitdiffstats
path: root/target/linux/etrax/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/etrax/image')
-rw-r--r--target/linux/etrax/image/Makefile28
-rw-r--r--target/linux/etrax/image/mkfimage/Makefile2
-rw-r--r--target/linux/etrax/image/mkfimage/src/mkfimage.c20
3 files changed, 19 insertions, 31 deletions
diff --git a/target/linux/etrax/image/Makefile b/target/linux/etrax/image/Makefile
index 592cea513..9f716202c 100644
--- a/target/linux/etrax/image/Makefile
+++ b/target/linux/etrax/image/Makefile
@@ -8,44 +8,32 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
-FOXBOARD:=custom MCM 416 816 832
-FOXBOARD_4MB:=MCM 416
-FOXBOARD_8MB:=custom 816 832
-
define Image/BuildKernel
- for f in $(FOXBOARD); do \
- cp $(KDIR)/vmlinuz_$$$$f $(BIN_DIR)/openwrt-$(BOARD)-zImage_$$$$f; \
- done
+ cp $(KDIR)/vmlinuz $(BIN_DIR)/openwrt-$(BOARD)-zImage
endef
define Image/Prepare
- for f in $(FOXBOARD); do \
- cp $(LINUX_DIR)/arch/cris/boot/zImage_$$$$f $(KDIR)/vmlinuz_$$$$f; \
- done
+ cp $(LINUX_DIR)/arch/cris/boot/zImage $(KDIR)/vmlinuz
$(MAKE) -C e100boot compile
$(MAKE) -C mkfimage compile
$(INSTALL_BIN) ./boot_linux $(BIN_DIR)
endef
define Image/Build/generic
- for f in $(2); do \
- mkfimage $(KDIR)/vmlinuz_$$$$f $(KDIR)/vmlinuz_$$$$f.tmp ; \
- cat $(KDIR)/vmlinuz_$$$$f.tmp $(KDIR)/root.$(1) > $(KDIR)/fimage.$(1)_$$$$f.tmp; \
- dd if=$(KDIR)/fimage.$(1)_$$$$f.tmp of=$(KDIR)/fimage.$(1)_$$$$f bs=$(3) conv=sync; \
- cp $(KDIR)/fimage.$(1)_$$$$f $(BIN_DIR)/openwrt-$(BOARD)-$(1)-fimage_$$$$f; \
- done
+ mkfimage $(KDIR)/vmlinuz $(KDIR)/vmlinuz.tmp
+ cat $(KDIR)/vmlinuz.tmp $(KDIR)/root.$(1) > $(KDIR)/fimage.$(1).tmp
+ dd if=$(KDIR)/fimage.$(1).tmp of=$(KDIR)/fimage.$(1) bs=$(2) conv=sync
+ cp $(KDIR)/fimage.$(1) $(BIN_DIR)/openwrt-$(BOARD)-$(1)-fimage
endef
define Image/Build/jffs2-64k
$(call prepare_generic_jffs-64k,$(KDIR)/root.jff2-64k)
- $(call Image/Build/generic,$(1),$(FOXBOARD_4MB),4194304)
- $(call Image/Build/generic,$(1),$(FOXBOARD_8MB),8388608)
+ $(call Image/Build/generic,$(1),4194304)
endef
define Image/Build/squashfs
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
- $(call Image/Build/generic,$(1),$(FOXBOARD_4MB),4194304)
- $(call Image/Build/generic,$(1),$(FOXBOARD_8MB),8388608)
+ $(call Image/Build/generic,$(1),4194304)
endef
define Image/Build
diff --git a/target/linux/etrax/image/mkfimage/Makefile b/target/linux/etrax/image/mkfimage/Makefile
index e907e73ac..f97d098d9 100644
--- a/target/linux/etrax/image/mkfimage/Makefile
+++ b/target/linux/etrax/image/mkfimage/Makefile
@@ -24,7 +24,7 @@ define Build/Compile
endef
define Build/InstallDev
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/mkfimage $(STAGING_DIR)/bin/mkfimage
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/mkfimage $(STAGING_DIR_HOST)/bin/mkfimage
endef
$(eval $(call Build/DefaultTargets))
diff --git a/target/linux/etrax/image/mkfimage/src/mkfimage.c b/target/linux/etrax/image/mkfimage/src/mkfimage.c
index 51b8192de..6904170cf 100644
--- a/target/linux/etrax/image/mkfimage/src/mkfimage.c
+++ b/target/linux/etrax/image/mkfimage/src/mkfimage.c
@@ -17,49 +17,49 @@ int main(int argc, char **argv){
printf("%s in out\n", argv[0]);
return 1;
}
-
+
printf("Generating image\n");
-
+
FILE *vmlinux = fopen(argv[1], "r");
FILE *vmlinux_out = fopen(argv[2], "w");
if((!vmlinux) || (!vmlinux_out)){
printf("Error opening a file\n");
return 1;
}
-
+
stat(argv[1], &s);
size_vmlinux = s.st_size;
real_size_vmlinux = (size_vmlinux & 0xffff0000) + 0x10000;
printf("vmlinux = 0x%.08X / 0x%.08X\n", size_vmlinux, real_size_vmlinux);
-
+
unsigned int t = fread(buffer, 1, 64 * 1024, vmlinux);
for(loop = 0; loop < (64 * 1024) - sizeof(magic_str); loop++){
if(buffer[loop] == magic_str[0]){
if((magic = strstr(&buffer[loop], magic_str))){
- printf("Magic at 0x%.08X %p %p\n", magic - buffer, magic, buffer);
+ printf("Magic at 0x%.08X %p %p\n", magic - buffer, magic, buffer);
printf("Found Magic %X%X%X%X\n",
buffer[loop + strlen(magic_str)],
buffer[loop + strlen(magic_str) + 2],
buffer[loop + strlen(magic_str) + 1],
buffer[loop + strlen(magic_str) + 3]);
-
+
buffer[loop + strlen(magic_str)] = real_size_vmlinux >> 24;
buffer[loop + strlen(magic_str) + 2] = (real_size_vmlinux >> 16) & 0xff;
buffer[loop + strlen(magic_str) + 1] = (real_size_vmlinux >> 8) & 0xff;
buffer[loop + strlen(magic_str) + 3] = (real_size_vmlinux) & 0xff;
-
+
printf("Replaced with %.02X%.02X%.02X%.02X\n",
buffer[loop + strlen(magic_str)],
buffer[loop + strlen(magic_str) + 2],
buffer[loop + strlen(magic_str) + 1],
buffer[loop + strlen(magic_str) + 3]);
-
+
}
}
}
-
- fwrite(buffer, 1, 64 * 1024, vmlinux_out);
+
+ fwrite(buffer, 1, 64 * 1024, vmlinux_out);
real_size_vmlinux -= 64 * 1024;
do {
real_size_vmlinux -= 64 * 1024;