On x86_64
# Skeleton configuration file which finds the real boot disk.
cat >"$workdir/grub.cfg" <<EOF
if [ -z "\$prefix" -o ! -e "\$prefix" ]; then
if ! search --file --set=root /.disk/info; then
search --file --set=root /.disk/mini-info
fi
set prefix=(\$root)/boot/grub
fi
if [ -e \$prefix/$platform/grub.cfg ]; then
source \$prefix/$platform/grub.cfg
elif [ -e \$prefix/grub.cfg ]; then
source \$prefix/grub.cfg
else
source \$cmdpath/grub.cfg
fi
EOF
is used inside the monolithic/gcdx64.efi
However, during d-i build, self-built bootaa64.efi is used with:
cat >"$workdir/boot/grub/grub.cfg" <<EOF
search --file --set=root /.disk/info
set prefix=(\$root)/boot/grub
source \$prefix/$platform/grub.cfg
EOF
The monolithic one is the one that gets signed, and imho we should use that one on arm64 for now.
I think I found the problem!
On x86_64 grub.cfg" <<EOF (\$root) /boot/grub $platform/ grub.cfg ]; then $platform/ grub.cfg
# Skeleton configuration file which finds the real boot disk.
cat >"$workdir/
if [ -z "\$prefix" -o ! -e "\$prefix" ]; then
if ! search --file --set=root /.disk/info; then
search --file --set=root /.disk/mini-info
fi
set prefix=
fi
if [ -e \$prefix/
source \$prefix/
elif [ -e \$prefix/grub.cfg ]; then
source \$prefix/grub.cfg
else
source \$cmdpath/grub.cfg
fi
EOF
is used inside the monolithic/ gcdx64. efi
However, during d-i build, self-built bootaa64.efi is used with: boot/grub/ grub.cfg" <<EOF (\$root) /boot/grub $platform/ grub.cfg
cat >"$workdir/
search --file --set=root /.disk/info
set prefix=
source \$prefix/
EOF
The monolithic one is the one that gets signed, and imho we should use that one on arm64 for now.