mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

When enabling multilib and building lib32-IMAGE which uses grub-efi, the build fails with the following error. install: cannot stat '/PROJ_DIR/build/tmp-glibc/deploy/images/intel-x86-64/grub-efi-bootia32.efi': No such file or directory The grub-efi is in NON_MULTILIB_SCRIPTS. That means we will use 64bit grub-efi for lib32-IMAGE. So take into consideration of multilib to fix this problem. (From OE-Core rev: 3c7b6dfecd22eae369bba54437cdff91fa8542df) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
inherit grub-efi-cfg
|
|
|
|
efi_populate() {
|
|
# DEST must be the root of the image so that EFIDIR is not
|
|
# nested under a top level directory.
|
|
DEST=$1
|
|
|
|
install -d ${DEST}${EFIDIR}
|
|
|
|
GRUB_IMAGE="grub-efi-bootia32.efi"
|
|
DEST_IMAGE="bootia32.efi"
|
|
if [ -n "${MLPREFIX}" ]; then
|
|
if [ "${TARGET_ARCH_MULTILIB_ORIGINAL}" = "x86_64" ]; then
|
|
GRUB_IMAGE="grub-efi-bootx64.efi"
|
|
DEST_IMAGE="bootx64.efi"
|
|
fi
|
|
else
|
|
if [ "${TARGET_ARCH}" = "x86_64" ]; then
|
|
GRUB_IMAGE="grub-efi-bootx64.efi"
|
|
DEST_IMAGE="bootx64.efi"
|
|
fi
|
|
fi
|
|
install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}/${DEST_IMAGE}
|
|
EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
|
|
printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_IMAGE" >${DEST}/startup.nsh
|
|
|
|
install -m 0644 ${GRUB_CFG} ${DEST}${EFIDIR}/grub.cfg
|
|
}
|
|
|
|
efi_iso_populate() {
|
|
iso_dir=$1
|
|
efi_populate $iso_dir
|
|
# Build a EFI directory to create efi.img
|
|
mkdir -p ${EFIIMGDIR}/${EFIDIR}
|
|
cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
|
|
cp $iso_dir/${KERNEL_IMAGETYPE} ${EFIIMGDIR}
|
|
EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
|
|
printf 'fs0:%s\%s\n' "$EFIPATH" "$GRUB_IMAGE" > ${EFIIMGDIR}/startup.nsh
|
|
if [ -f "$iso_dir/initrd" ] ; then
|
|
cp $iso_dir/initrd ${EFIIMGDIR}
|
|
fi
|
|
}
|
|
|
|
efi_hddimg_populate() {
|
|
efi_populate $1
|
|
}
|