diff options
Diffstat (limited to 'classes')
-rw-r--r-- | classes/override_grub-efi.inc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/classes/override_grub-efi.inc b/classes/override_grub-efi.inc index 4c2ae64..fb1958d 100644 --- a/classes/override_grub-efi.inc +++ b/classes/override_grub-efi.inc | |||
@@ -87,3 +87,31 @@ python build_efi_cfg() { | |||
87 | 87 | ||
88 | cfgfile.close() | 88 | cfgfile.close() |
89 | } | 89 | } |
90 | |||
91 | efi_populate() { | ||
92 | # DEST must be the root of the image so that EFIDIR is not | ||
93 | # nested under a top level directory. | ||
94 | DEST=$1 | ||
95 | |||
96 | install -d ${DEST}${EFIDIR} | ||
97 | |||
98 | GRUB_IMAGE="grub-efi-bootia32.efi" | ||
99 | DEST_IMAGE="bootia32.efi" | ||
100 | if [ "${TARGET_ARCH}" = "x86_64" ]; then | ||
101 | GRUB_IMAGE="grub-efi-bootx64.efi" | ||
102 | DEST_IMAGE="bootx64.efi" | ||
103 | fi | ||
104 | |||
105 | #Install EFI binaries | ||
106 | install -m 0644 ${IMAGE_ROOTFS}/boot/efi${EFIDIR}/*.* ${DEST}${EFIDIR} | ||
107 | |||
108 | #Install kernel and initramfs sig | ||
109 | install -m 0644 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}.p7b ${DEST}/vmlinuz.p7b | ||
110 | install -m 0644 ${INITRD_LIVE}.p7b ${DEST}/initrd.p7b | ||
111 | |||
112 | EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g') | ||
113 | printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_IMAGE" >${DEST}/startup.nsh | ||
114 | |||
115 | install -m 0644 ${GRUB_CFG} ${DEST}${EFIDIR}/grub.cfg | ||
116 | |||
117 | } | ||