Browse Source

qemu: efi boot works, need to add a package for EFI bios file

Waldemar Brodkorb 7 years ago
parent
commit
d284ab4d03
4 changed files with 28 additions and 12 deletions
  1. 1 1
      mk/vars.mk
  2. 2 10
      package/grub/files/grub.cfg
  3. 11 0
      target/x86_64/Makefile
  4. 14 1
      target/x86_64/qemu-x86_64/genimage.cfg

+ 1 - 1
mk/vars.mk

@@ -62,7 +62,7 @@ SCRIPT_TARGET_DIR:=	${STAGING_TARGET_DIR}/scripts
 
 # PATH variables
 TARGET_PATH=		${SCRIPT_DIR}:${STAGING_TARGET_DIR}/scripts:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
-HOST_PATH=		${SCRIPT_DIR}:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${_PATH}
+HOST_PATH=		${SCRIPT_DIR}:${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/sbin:${_PATH}
 AUTOTOOL_PATH=		${TOOLCHAIN_DIR}/usr/bin:${STAGING_HOST_DIR}/usr/bin:${STAGING_TARGET_DIR}/scripts:${_PATH}
 
 ifeq ($(ADK_DISABLE_HONOUR_CFLAGS),)

+ 2 - 10
package/grub/files/grub.cfg

@@ -1,15 +1,7 @@
 set default=0
 set timeout=3
-insmod efi_gop
-insmod efi_uga
 
-menuentry "ODOS 1" {
-  echo "Loading ODOS from first partition"
+menuentry "OpenADK" {
   set root=(hd0,2)
-  linux (hd0,2)/boot/kernel root=/dev/mmcblk1p2 rootfstype=ext4 rootwait panic=10
-}
-menuentry "ODOS 2" {
-  echo "Loading ODOS from second partition"
-  set root=(hd0,3)
-  linux (hd0,3)/boot/kernel root=/dev/mmcblk1p3 rootfstype=ext4 rootwait panic=10
+  linux (hd0,2)/boot/kernel root=/dev/sda2 rootfstype=ext4 rootwait panic=10
 }

+ 11 - 0
target/x86_64/Makefile

@@ -9,6 +9,7 @@ KERNEL:=$(LINUX_DIR)/arch/x86/boot/bzImage
 
 QEMU_ARCH:=x86_64
 QEMU_ARGS:=-M pc
+QEMU_ARGS+=-L . -bios bios.bin
 QEMU_ARGS+=${ADK_QEMU_ARGS}
 QEMU_ARGS+=-net user -net nic,model=e1000
 
@@ -84,6 +85,16 @@ ifeq ($(ADK_TARGET_FS),iso)
 targethelp:
 	@echo 'ISO image is at $<'
 endif
+ifeq ($(ADK_TARGET_FS),genimage)
+targethelp:
+	@echo "The disk image is: $(FW_DIR)/disk.img"
+	@echo "Use following command to install it on SD card:"
+ifeq ($(ADK_TARGET_QEMU),y)
+	@echo 'qemu-system-${QEMU_ARCH} ${QEMU_ARGS} $(FW_DIR)/disk.img'
+else
+	@echo 'sudo dd if=$(FW_DIR)/disk.img of=/dev/sdX bs=2048k'
+endif
+endif
 
 # image creation and kernel install
 kernel-strip:

+ 14 - 1
target/x86_64/qemu-x86_64/genimage.cfg

@@ -1,12 +1,25 @@
+image efi-part.vfat {
+  vfat {
+    file EFI {
+      image = "efi-part/EFI"
+    }
+  }
+  size = 32M
+}
+
 image disk.img {
 
   hdimage {
   }
 
+  partition boot {
+    partition-type = 0xEF
+    image = "efi-part.vfat"
+  }
+
   partition root {
     partition-type = 0x83
     image = "rootfs.ext"
   }
 
 }
-