blob: 21bfdc82e87dedf3fb39da3b5eada3e812099ff9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#! /bin/sh
# mkefipart-fat - written by Andreas Loibl <andreas@andreas-loibl.de>
#
# Generate an image for a FAT-EFI-partition
if [ ! -x /usr/bin/mmd ]; then
echo "Error: mtools are needed! Run: apt-get install mtools"
exit 1
fi
img=efi-fat.img
[ "$1" ] && img="$1"
# Stuff boot*.efi into a FAT filesystem, making it as small as possible. 24KiB
# headroom seems to be enough; (x+31)/32*32 rounds up to multiple of 32.
mkfs.msdos -n EFI -C "$img" \
$(( ($(stat -c %s binary/efi/boot/boot*.efi | awk '{s+=$1} END {print s}') / 1024 + 55) \
/ 32 * 32 ))
mmd -i "$img" ::efi
mmd -i "$img" ::efi/boot
for file in binary/efi/boot/boot*.efi
do
mcopy -i "$img" $file "::efi/boot/$(basename "$file")"
done
exit 0
|