summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2017-02-09 04:01:36 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2017-02-09 04:01:57 +0100
commit571d99e74d42fac830069c2ca2fbd5f505613dc6 (patch)
treedb2700a1dd94b5b6760ee19573ef7395e6e1d901 /target
parentfdfd165799d762acd6cf5871bfcb1493da1359e9 (diff)
add dual-boot / fwupdate for systems with grub-support
Diffstat (limited to 'target')
-rw-r--r--target/config/Config.in.rootfs17
-rw-r--r--target/config/Config.in.runtime2
-rw-r--r--target/x86_64/qemu-x86_64/genimage-dual.cfg34
-rw-r--r--target/x86_64/qemu-x86_64/genimage-efi-dual.cfg37
4 files changed, 90 insertions, 0 deletions
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"
+ }
+
+}