Browse Source

foxboard-832: some improvements, but flashing still not working

Waldemar Brodkorb 1 month ago
parent
commit
a1bd44d565

+ 2 - 2
package/etrax-tools/src/boot_linux

@@ -204,9 +204,9 @@ if ($opts{'f'} || $opts{'F'})
 }
 
 # Create the command line to boot the image
-if (system('./etrax100boot --help > /dev/null') == 0)
+if (system('./e100boot --help > /dev/null') == 0)
 {
-  $cmd = './etrax100boot';
+  $cmd = './e100boot';
 }
 elsif (system('svinto_boot --help > /dev/null') == 0)
 {

+ 1 - 1
package/etrax-tools/src/mkfimage.c

@@ -37,7 +37,7 @@ int main(int argc, char **argv){
 	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],

+ 1 - 0
target/config/Config.in.rootfs

@@ -17,6 +17,7 @@ config ADK_TARGET_ROOTFS_INITRAMFSPIGGYBACK
 		ADK_TARGET_ARCH_ALPHA || \
 		ADK_TARGET_ARCH_ARC || \
 		ADK_TARGET_ARCH_ARM || \
+		ADK_TARGET_ARCH_CRIS || \
 		ADK_TARGET_ARCH_H8300 || \
 		ADK_TARGET_ARCH_HPPA || \
 		ADK_TARGET_ARCH_M68K || \

+ 19 - 6
target/cris/Makefile

@@ -5,8 +5,12 @@ include $(ADK_TOPDIR)/rules.mk
 include $(ADK_TOPDIR)/mk/kernel-build.mk
 include $(ADK_TOPDIR)/mk/image.mk
 
+ifeq ($(ADK_TARGET_SYSTEM_FOXBOARD_LX832),y)
+KERNEL:=$(LINUX_DIR)/arch/cris/boot/zImage
+else
 KERNEL:=$(LINUX_DIR)/arch/cris/boot/Image
 QEMU_ARGS:=-M axis-dev88 -nographic -monitor none
+endif
 
 # target helper text
 ifeq ($(ADK_TARGET_FS),archive)
@@ -41,25 +45,34 @@ ifeq ($(ADK_TARGET_FS),nfsroot)
 targethelp:
 	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
-	@echo Use sudo ./boot_linux -F -i $(BIN_DIR)/${TARGET_KERNEL} to flash the kernel
+	@echo "Use following command to flash the kernel:"
+	@echo "cd $(STAGING_HOST_DIR)/usr/bin && sudo ./boot_linux -F -i $(FW_DIR)/${TARGET_KERNEL}"
 	@echo Do not forget to set network boot jumper, before you start the foxboard
 endif
 ifeq ($(ADK_TARGET_FS),squashfs)
 targethelp:
-	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
-	@echo "The RootFS image is: $(FW_DIR)/$(ROOTFSSQUASHFS)"
+	@echo "The image is: $(FW_DIR)/$(ROOTFSSQUASHFS)"
+	@echo "Use following command to flash the image:"
+	@echo "cd $(STAGING_HOST_DIR)/usr/bin && sudo ./boot_linux -F -i $(FW_DIR)/${ROOTFSSQUASHFS}"
+	@echo Do not forget to set network boot jumper, before you start the foxboard
 endif
 ifeq ($(ADK_TARGET_FS),jffs2)
 targethelp:
-	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
-	@echo "The RootFS image is: $(FW_DIR)/$(ROOTFSJFFS2)"
+	@echo "The image is: $(FW_DIR)/$(ROOTFSJFFS2)"
 endif
 
 kernel-strip:
 	@cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
 
 kernel-install: kernel-strip
-	@cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ifeq ($(ADK_TARGET_FS),squashfs)
+	$(STAGING_HOST_DIR)/usr/bin/mkfimage $(KERNEL) $(KERNEL).fimage
+	cat $(KERNEL).fimage $(BUILD_DIR)/root.squashfs > \
+		$(BUILD_DIR)/$(ROOTFSSQUASHFS)
+	dd if=$(BUILD_DIR)/$(ROOTFSSQUASHFS) of=$(FW_DIR)/$(ROOTFSSQUASHFS) bs=4194304 conv=sync
+else
+	$(STAGING_HOST_DIR)/usr/bin/mkfimage $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+endif
 
 # filesystem specific targets
 ifeq ($(ADK_TARGET_FS),archive)

+ 10 - 0
target/linux/patches/2.6.32.70/crisv10.patch

@@ -0,0 +1,10 @@
+diff -Nur linux-3.16.85.orig/arch/cris/arch-v10/lib/hw_settings.S linux-3.16.85/arch/cris/arch-v10/lib/hw_settings.S
+--- linux-3.16.85.orig/arch/cris/arch-v10/lib/hw_settings.S	2020-06-11 20:06:00.000000000 +0200
++++ linux-3.16.85/arch/cris/arch-v10/lib/hw_settings.S	2026-03-07 18:01:45.788327063 +0100
+@@ -58,3 +58,6 @@
+ 	.dword R_PORT_PB_SET
+ 	.dword PB_SET_VALUE
+ 	.dword 0 ; No more register values
++	.ascii "ACME_PART_MAGIC" 
++	.dword 0xdeadc0de
++

+ 10 - 0
target/linux/patches/3.16.85/crisv10.patch

@@ -0,0 +1,10 @@
+diff -Nur linux-3.16.85.orig/arch/cris/arch-v10/lib/hw_settings.S linux-3.16.85/arch/cris/arch-v10/lib/hw_settings.S
+--- linux-3.16.85.orig/arch/cris/arch-v10/lib/hw_settings.S	2020-06-11 20:06:00.000000000 +0200
++++ linux-3.16.85/arch/cris/arch-v10/lib/hw_settings.S	2026-03-07 18:01:45.788327063 +0100
+@@ -58,3 +58,6 @@
+ 	.dword R_PORT_PB_SET
+ 	.dword PB_SET_VALUE
+ 	.dword 0 ; No more register values
++	.ascii "ACME_PART_MAGIC" 
++	.dword 0xdeadc0de
++

+ 10 - 0
target/linux/patches/4.4.302/crisv10.patch

@@ -0,0 +1,10 @@
+diff -Nur linux-3.16.85.orig/arch/cris/arch-v10/lib/hw_settings.S linux-3.16.85/arch/cris/arch-v10/lib/hw_settings.S
+--- linux-3.16.85.orig/arch/cris/arch-v10/lib/hw_settings.S	2020-06-11 20:06:00.000000000 +0200
++++ linux-3.16.85/arch/cris/arch-v10/lib/hw_settings.S	2026-03-07 18:01:45.788327063 +0100
+@@ -58,3 +58,6 @@
+ 	.dword R_PORT_PB_SET
+ 	.dword PB_SET_VALUE
+ 	.dword 0 ; No more register values
++	.ascii "ACME_PART_MAGIC" 
++	.dword 0xdeadc0de
++