diff --git a/diskimage_builder/elements/vm/block-device-default.yaml b/diskimage_builder/elements/vm/block-device-default.yaml new file mode 100644 index 00000000..85b41a3b --- /dev/null +++ b/diskimage_builder/elements/vm/block-device-default.yaml @@ -0,0 +1,12 @@ +# Default single partition loopback + +- local_loop: + name: image0 + +- partitioning: + base: image0 + label: mbr + partitions: + - name: root + flags: [ boot, primary ] + size: 100% diff --git a/diskimage_builder/elements/vm/block-device-ppc.yaml b/diskimage_builder/elements/vm/block-device-ppc.yaml new file mode 100644 index 00000000..2b3a78dd --- /dev/null +++ b/diskimage_builder/elements/vm/block-device-ppc.yaml @@ -0,0 +1,30 @@ +# Default block device setup for PPC +# ---------------------------------- +# +# Details (extracted from [1]) +# +# Power Firmware (OFW) scans chosen (nvram value boot-device) device, +# for either PReP* partition or vfat. +# +# PReP is raw and small (8M max) partition which caries only stage1 +# binary. +# msdos partition table: +# - PReP partition have 0x41 type (must be active) +# - PReP partition must have boot flag set +# +# [1] https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/W51a7ffcf4dfd_4b40_9d82_446ebc23c550/page/PowerLinux%20Boot%20howto + +- local_loop: + name: image0 + +- partitioning: + base: image0 + label: mbr + partitions: + - name: boot + flags: [ boot, primary ] + type: '0x41' + size: 8MiB + - name: root + flags: [ primary ] + size: 100% diff --git a/diskimage_builder/elements/vm/environment.d/10-partitioning b/diskimage_builder/elements/vm/environment.d/10-partitioning index 186ea6a1..7aeea5a3 100644 --- a/diskimage_builder/elements/vm/environment.d/10-partitioning +++ b/diskimage_builder/elements/vm/environment.d/10-partitioning @@ -1,15 +1,14 @@ -export DIB_BLOCK_DEVICE_DEFAULT_CONFIG=" -- local_loop: - name: image0 +_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -- partitioning: - base: image0 - label: mbr - partitions: - - name: root - flags: [ boot, primary ] - size: 100% -" +if [[ "$ARCH" =~ "ppc" ]] ; then + DIB_BLOCK_DEVICE_DEFAULT_CONFIG="$(cat $_DIR/../block-device-ppc.yaml)" +else + DIB_BLOCK_DEVICE_DEFAULT_CONFIG="$(cat $_DIR/../block-device-default.yaml)" +fi DIB_BLOCK_DEVICE_CONFIG=${DIB_BLOCK_DEVICE_CONFIG:-${DIB_BLOCK_DEVICE_DEFAULT_CONFIG}} export DIB_BLOCK_DEVICE_CONFIG + +# Local variables: +# mode: sh +# End: