Browse Source

fix disk boot for qemu-system-aarch64

Waldemar Brodkorb 9 years ago
parent
commit
07d73ebe33
2 changed files with 12 additions and 4 deletions
  1. 11 1
      target/aarch64/Makefile
  2. 1 3
      target/config/Config.in.qemuopts

+ 11 - 1
target/aarch64/Makefile

@@ -15,13 +15,20 @@ ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
 QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
 endif
 ifeq ($(ADK_TARGET_FS),archive)
-QEMU_ARGS+=-drive file=qemu-${ADK_TARGET_CPU_ARCH}.img,if=virtio,index=0
+QEMU_ARGS+=-device virtio-blk-device,drive=vda -drive file=qemu-${ADK_TARGET_CPU_ARCH}.img,if=none,id=vda
 endif
 
 # target helper text
 ifeq ($(ADK_TARGET_FS),archive)
 targethelp:
 	@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
+ifeq ($(ADK_TARGET_QEMU),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)"
+	@echo "Start qemu with following options:"
+	@echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img'
+endif
 endif
 ifeq ($(ADK_TARGET_FS),initramfs)
 targethelp:
@@ -51,6 +58,7 @@ endif
 endif
 
 kernel-strip:
+	@cp $(KERNEL) $(BUILD_DIR)/$(TARGET_KERNEL)
 
 kernel-install: kernel-strip
 ifeq ($(ADK_TARGET_SYSTEM_ARM_FM),y)
@@ -62,6 +70,8 @@ ifeq ($(ADK_TARGET_SYSTEM_ARM_FM),y)
 		-C package/boot-wrapper-aarch64 package
 	${CP} ${LINUX_DIR}/linux-system.axf \
 		$(FW_DIR)/$(TARGET_KERNEL)
+else
+	@cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
 endif
 
 # filesystem specific targets

+ 1 - 3
target/config/Config.in.qemuopts

@@ -29,7 +29,7 @@ endchoice
 
 choice
 prompt "Qemu Emulation with storage device"
-depends on ADK_TARGET_QEMU && !ADK_TARGET_SYSTEM_QEMU_XTENSA
+depends on ADK_TARGET_QEMU && !ADK_TARGET_SYSTEM_QEMU_XTENSA && !ADK_TARGET_SYSTEM_QEMU_AARCH64
 default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_ARCHIVE
 default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_SQUASHFS
 default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_JFFS2
@@ -110,6 +110,4 @@ config ADK_TARGET_QEMU_WITH_AUDIO
 	boolean "enabled"
 
 endchoice
-
-
 endmenu