diff options
Diffstat (limited to 'meta-intel-extras/classes/image_dd_efi.bbclass')
| -rw-r--r-- | meta-intel-extras/classes/image_dd_efi.bbclass | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/meta-intel-extras/classes/image_dd_efi.bbclass b/meta-intel-extras/classes/image_dd_efi.bbclass new file mode 100644 index 0000000..7bbff62 --- /dev/null +++ b/meta-intel-extras/classes/image_dd_efi.bbclass | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | ############################################################################## | ||
| 2 | ## | ||
| 3 | ## Copyright (C) 2016 The Qt Company Ltd. | ||
| 4 | ## Contact: http://www.qt.io/licensing/ | ||
| 5 | ## | ||
| 6 | ## This file is part of the Boot to Qt meta layer. | ||
| 7 | ## | ||
| 8 | ## $QT_BEGIN_LICENSE:COMM$ | ||
| 9 | ## | ||
| 10 | ## Commercial License Usage | ||
| 11 | ## Licensees holding valid commercial Qt licenses may use this file in | ||
| 12 | ## accordance with the commercial license agreement provided with the | ||
| 13 | ## Software or, alternatively, in accordance with the terms contained in | ||
| 14 | ## a written agreement between you and The Qt Company. For licensing terms | ||
| 15 | ## and conditions see http://www.qt.io/terms-conditions. For further | ||
| 16 | ## information use the contact form at http://www.qt.io/contact-us. | ||
| 17 | ## | ||
| 18 | ## $QT_END_LICENSE$ | ||
| 19 | ## | ||
| 20 | ############################################################################## | ||
| 21 | |||
| 22 | DESCRIPTION = "Extends image_dd class to boot via GRUB-EFI and initramfs." | ||
| 23 | LICENSE = "CLOSED" | ||
| 24 | |||
| 25 | inherit image_dd | ||
| 26 | |||
| 27 | EXTRA_IMAGECMD_ext3 += "-L rootfs" | ||
| 28 | IMAGE_DEPENDS_ext3 += "initramfs-basic:do_rootfs" | ||
| 29 | |||
| 30 | IMAGE_CMD_ext3_prepend() { | ||
| 31 | |||
| 32 | # https://www.kernel.org/doc/Documentation/x86/early-microcode.txt | ||
| 33 | microcode="${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}" | ||
| 34 | cat ${microcode} ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz > ${IMAGE_ROOTFS}/boot/initramfs | ||
| 35 | chmod 0644 ${IMAGE_ROOTFS}/boot/initramfs | ||
| 36 | } | ||
| 37 | |||
| 38 | do_populate_boot() { | ||
| 39 | |||
| 40 | mkdir -p ${WORKDIR}/EFI/BOOT/ | ||
| 41 | # Path where EFI firmware searches for EFI executable | ||
| 42 | cp ${DEPLOY_DIR_IMAGE}/bootx64.efi ${WORKDIR}/EFI/BOOT/ | ||
| 43 | mcopy -s -i ${WORKDIR}/boot.img ${WORKDIR}/EFI ::/EFI | ||
| 44 | } | ||
| 45 | |||
