From 571d99e74d42fac830069c2ca2fbd5f505613dc6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Thu, 9 Feb 2017 04:01:36 +0100 Subject: add dual-boot / fwupdate for systems with grub-support --- target/config/Config.in.rootfs | 17 ++++++++++++ target/config/Config.in.runtime | 2 ++ target/x86_64/qemu-x86_64/genimage-dual.cfg | 34 +++++++++++++++++++++++ target/x86_64/qemu-x86_64/genimage-efi-dual.cfg | 37 +++++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 target/x86_64/qemu-x86_64/genimage-dual.cfg create mode 100644 target/x86_64/qemu-x86_64/genimage-efi-dual.cfg (limited to 'target') diff --git a/target/config/Config.in.rootfs b/target/config/Config.in.rootfs index 96fb5c1a2..41e9b27a6 100644 --- a/target/config/Config.in.rootfs +++ b/target/config/Config.in.rootfs @@ -158,6 +158,7 @@ config ADK_TARGET_ROOTFS_ARCHIVE config ADK_TARGET_ROOTFS_GENIMAGE bool "Create a disk image for the target" select ADK_KERNEL_EXT4_FS + select ADK_KERNEL_VFAT_FS select ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_QEMU select ADK_HOST_BUILD_GENIMAGE help @@ -165,7 +166,23 @@ config ADK_TARGET_ROOTFS_GENIMAGE endchoice +config ADK_TARGET_ROOTDEV + string + default "sda" + +config ADK_TARGET_DUAL_BOOT + bool "Activate dual-boot partition layout" + depends on ADK_TARGET_ROOTFS_GENIMAGE + select ADK_PACKAGE_FWUPDATE + help + Activate dual-boot partition scheme for simple full updates into + a second unused partition. You can use fwupdate on the target to + update your system. A firmware update tar archive is created in + firmware output directory together with the full image. + config ADK_TARGET_GENIMAGE_FILENAME string + default "genimage-efi-dual.cfg" if ADK_PACKAGE_GRUB_EFI_X86_64 || ADK_PACKAGE_GRUB_EFI_X86 && ADK_TARGET_DUAL_BOOT default "genimage-efi.cfg" if ADK_PACKAGE_GRUB_EFI_X86_64 || ADK_PACKAGE_GRUB_EFI_X86 + default "genimage-dual.cfg" if ADK_TARGET_DUAL_BOOT default "genimage.cfg" diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime index 62173c362..5e7cc27a6 100644 --- a/target/config/Config.in.runtime +++ b/target/config/Config.in.runtime @@ -173,6 +173,8 @@ config ADK_RUNTIME_TMPFS_SIZE default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI2 default "32768" if ADK_TARGET_SYSTEM_RASPBERRY_PI3 default "32768" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 + default "16384" if ADK_TARGET_SYSTEM_QEMU_X86_64 + default "16384" if ADK_TARGET_SYSTEM_QEMU_X86 default "16384" if ADK_TARGET_VBOX default "16384" if ADK_TARGET_SYSTEM_LEMOTE_YEELONG default "8192" if ADK_TARGET_SYSTEM_MIKROTIK_RB532 diff --git a/target/x86_64/qemu-x86_64/genimage-dual.cfg b/target/x86_64/qemu-x86_64/genimage-dual.cfg new file mode 100644 index 000000000..82d6dc2c2 --- /dev/null +++ b/target/x86_64/qemu-x86_64/genimage-dual.cfg @@ -0,0 +1,34 @@ +image disk.img { + + hdimage { + } + + partition boot { + in-partition-table = "no" + image = "boot.img" + offset = 0 + size = 512 + } + + partition grub { + in-partition-table = "no" + image = "grub.img" + offset = 512 + } + + partition root1 { + partition-type = 0x83 + image = "rootfs.ext" + } + + partition root2 { + partition-type = 0x83 + image = "rootfs.ext" + } + + partition cfgfs { + partition-type = 0x88 + image = "cfgfs.img" + } + +} diff --git a/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg b/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg new file mode 100644 index 000000000..7c82a0bcb --- /dev/null +++ b/target/x86_64/qemu-x86_64/genimage-efi-dual.cfg @@ -0,0 +1,37 @@ +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 root1 { + partition-type = 0x83 + image = "rootfs.ext" + size = 128M + } + + partition root2 { + partition-type = 0x83 + image = "rootfs.ext" + size = 128M + } + + partition cfgfs { + partition-type = 0x88 + image = "cfgfs.img" + } + +} -- cgit v1.2.3