Browse Source

qemu-arm-vexpress: start working on flash support

Waldemar Brodkorb 8 years ago
parent
commit
9a334da823

+ 3 - 0
mk/rootfs.mk

@@ -17,6 +17,9 @@ else
 ROOTFS:=	root=/dev/sda1 rootwait
 endif
 endif
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9),y)
+ROOTFS:=	root=/dev/mtdblock0
+endif
 endif
 
 ifeq ($(ADK_TARGET_SYSTEM_MIKROTIK_RB532),y)

+ 2 - 1
package/squashfs/Makefile

@@ -9,6 +9,7 @@ PKG_RELEASE:=		1
 PKG_HASH:=		d9e0195aa922dbb665ed322b9aaa96e04a476ee650f39bbeadb0d00b24022e96
 PKG_DESCR:=		squashfs filesystem utilities
 PKG_SECTION:=		sys/fs
+HOST_BUILDDEP:=		xz-host
 PKG_SITES:=		${MASTER_SITE_SOURCEFORGE:=squashfs/}
 
 DISTFILES:=		${PKG_NAME}${PKG_VERSION}.tar.gz
@@ -22,7 +23,7 @@ include $(ADK_TOPDIR)/mk/package.mk
 $(eval $(call HOST_template,SQUASHFS,squashfs,$(PKG_VERSION)-${PKG_RELEASE}))
 
 HOST_STYLE:=		manual
-HOST_MAKE_FLAGS+=	XATTR_SUPPORT=0 XZ_SUPPORT=1 EXTRA_LDFLAGS=$(LDFLAGS_FOR_BUILD)
+HOST_MAKE_FLAGS+=	LZMA_SUPPORT=0 XATTR_SUPPORT=0 XZ_SUPPORT=1 EXTRA_LDFLAGS=$(LDFLAGS_FOR_BUILD)
 
 host-build:
 	(cd ${WRKBUILD}/squashfs-tools && env ${HOST_MAKE_ENV} ${MAKE} -f ${MAKE_FILE} \

+ 13 - 1
target/arm/Makefile

@@ -34,7 +34,7 @@ endif
 ifeq ($(ADK_TARGET_FS),archive)
 targethelp:
 	@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER)$(ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ),y)
+ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9)$(ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB)$(ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER)$(ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ),y)
 	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo "Use following command to create a QEMU Image:"
 	@echo "./scripts/create.sh qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
@@ -113,6 +113,15 @@ targethelp:
 	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
 	@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
 endif
+ifeq ($(ADK_TARGET_FS),jffs2)
+targethelp:
+	@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+	@echo "The RootFS image is: $(FW_DIR)/$(ROOTFSSQUASHFS)"
+ifeq ($(ADK_TARGET_QEMU),y)
+	@echo "Start qemu with following options:"
+	@echo 'qemu-system-${ADK_TARGET_CPU_ARCH} $(QEMU_ARGS) -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -pflash $(FW_DIR)/$(ROOTFSSQUASHFS)'
+endif
+endif
 
 kernel-strip:
 	@cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
@@ -168,6 +177,9 @@ endif
 ifeq ($(ADK_TARGET_FS),nfsroot)
 imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
 endif
+ifeq ($(ADK_TARGET_FS),jffs2)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSJFFS2) targethelp
+endif
 ifeq ($(ADK_TARGET_FS),usb)
 imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
 endif

+ 2 - 0
target/config/Config.in.qemuopts

@@ -28,6 +28,7 @@ endchoice
 choice
 prompt "Qemu Emulation with storage device"
 depends on ADK_TARGET_SYSTEM_QEMU_ARM_VERSATILEPB \
+	|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 \
 	|| ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER \
 	|| ADK_TARGET_SYSTEM_QEMU_ARM_SPITZ \
 	|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
@@ -62,6 +63,7 @@ config ADK_TARGET_QEMU_WITH_BLOCK
 	select ADK_KERNEL_PATA_PLATFORM if ADK_TARGET_SYSTEM_QEMU_SH
 	select ADK_KERNEL_PATA_PXA if ADK_TARGET_QEMU_ARM_SPITZ \
 					|| ADK_TARGET_SYSTEM_QEMU_ARM_TERRIER
+	select ADK_KERNEL_MTD_PLATRAM if ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9
 
 config ADK_TARGET_QEMU_WITHOUT_BLOCK
 	bool "disabled"

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

@@ -208,6 +208,7 @@ config ADK_HOST_NEED_SQUASHFS
 
 config ADK_HOST_BUILD_SQUASHFS
 	bool
+	select ADK_HOST_BUILD_XZ
 	default y if ADK_HOST_NEED_SQUASHFS
 	default n
 

+ 15 - 1
target/linux/config/Config.in.flash

@@ -23,6 +23,9 @@ config ADK_KERNEL_MTD_NAND_PLATFORM
 config ADK_KERNEL_MTD_CHAR
 	bool
 
+config ADK_KERNEL_MTD_CMDLINE_PARTS
+	bool
+
 config ADK_KERNEL_MTD_BLKDEVS
 	bool
 
@@ -103,6 +106,18 @@ config ADK_KERNEL_MTD_NAND_PLATFORM
 	help
 	  platform nand driver
 
+config ADK_KERNEL_MTD_PLATRAM
+	bool "MTD RAM driver"
+	select ADK_KERNEL_MISC_FILESYSTEMS
+	select ADK_KERNEL_MTD
+	select ADK_KERNEL_MTD_BLOCK
+	select ADK_KERNEL_MTD_CFI
+	select ADK_KERNEL_MTD_CFI_INTELEXT
+	select ADK_KERNEL_MTD_PHYSMAP
+	select ADK_KERNEL_MTD_PHYSMAP_OF
+	select ADK_KERNEL_MTD_CMDLINE_PARTS
+	default n
+
 config ADK_TARGET_MTD_SIZE
 	int
 	depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800 \
@@ -112,4 +127,3 @@ config ADK_TARGET_MTD_SIZE
 	default "0"
 
 endmenu
-

+ 0 - 1
target/linux/config/Config.in.fs

@@ -231,7 +231,6 @@ config ADK_KERNEL_JFFS2_FS
 	select ADK_KERNEL_MTD_BLOCK
 	select ADK_KERNEL_JFFS2_COMPRESSION_OPTIONS
 	select ADK_KERNEL_JFFS2_ZLIB
-	depends on ADK_TARGET_WITH_MTD
 	help
 	  JFFS2 flash filesystem
 

+ 1 - 1
target/linux/config/Config.in.spi

@@ -2,7 +2,7 @@
 # material, please see the LICENCE file in the top-level directory.
 
 menu "SPI driver support"
-depends on ADK_TARGET_WITH_SPI
+depends on ADK_TARGET_WITH_SPI || ADK_TARGET_QEMU
 
 config ADK_KERNEL_SPI
 	bool