Commit 57f45de7 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'x86_build_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull x86 build fix from Borislav Petkov:

 - A single fix to hdimage when using older versions of mtools

* tag 'x86_build_for_v5.16_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/boot: Fix make hdimage with older versions of mtools
parents 158405e8 067595d7
...@@ -120,12 +120,13 @@ efiarch() { ...@@ -120,12 +120,13 @@ efiarch() {
} }
# Get the combined sizes in bytes of the files given, counting sparse # Get the combined sizes in bytes of the files given, counting sparse
# files as full length, and padding each file to a 4K block size # files as full length, and padding each file to cluster size
cluster=16384
filesizes() { filesizes() {
local t=0 local t=0
local s local s
for s in $(ls -lnL "$@" 2>/dev/null | awk '/^-/{ print $5; }'); do for s in $(ls -lnL "$@" 2>/dev/null | awk '/^-/{ print $5; }'); do
t=$((t + ((s+4095)/4096)*4096)) t=$((t + ((s+cluster-1)/cluster)*cluster))
done done
echo $t echo $t
} }
...@@ -230,14 +231,14 @@ genhdimage() { ...@@ -230,14 +231,14 @@ genhdimage() {
ptype='-T 0xef' # EFI system partition, no GPT ptype='-T 0xef' # EFI system partition, no GPT
fi fi
sizes=$(filesizes "$FBZIMAGE" "${FDINITRDS[@]}" "$efishell") sizes=$(filesizes "$FBZIMAGE" "${FDINITRDS[@]}" "$efishell")
# Allow 1% + 1 MiB for filesystem and partition table overhead, # Allow 1% + 2 MiB for filesystem and partition table overhead,
# syslinux, and config files # syslinux, and config files; this is probably excessive...
megs=$(((sizes + sizes/100 + 2*1024*1024 - 1)/(1024*1024))) megs=$(((sizes + sizes/100 + 2*1024*1024 - 1)/(1024*1024)))
$dd if=/dev/zero of="$FIMAGE" bs=$((1024*1024)) count=$megs 2>/dev/null $dd if=/dev/zero of="$FIMAGE" bs=$((1024*1024)) count=$megs 2>/dev/null
mpartition -I -c -s 32 -h 64 -t $megs $ptype -b 512 -a h: mpartition -I -c -s 32 -h 64 $ptype -b 64 -a p:
$dd if="$mbr" of="$FIMAGE" bs=440 count=1 conv=notrunc 2>/dev/null $dd if="$mbr" of="$FIMAGE" bs=440 count=1 conv=notrunc 2>/dev/null
mformat -v 'LINUX_BOOT' -s 32 -h 64 -t $megs h: mformat -v 'LINUX_BOOT' -s 32 -h 64 -c $((cluster/512)) -t $megs h:
syslinux --offset $((512*512)) "$FIMAGE" syslinux --offset $((64*512)) "$FIMAGE"
do_mcopy h: do_mcopy h:
} }
......
...@@ -14,7 +14,8 @@ drive v: ...@@ -14,7 +14,8 @@ drive v:
drive w: drive w:
file="@OBJ@/fdimage" cylinders=80 heads=2 sectors=36 filter file="@OBJ@/fdimage" cylinders=80 heads=2 sectors=36 filter
# Hard disk # Hard disk (h: for the filesystem, p: for format - old mtools bug?)
drive h: drive h:
file="@OBJ@/hdimage" offset=32768 mformat_only
drive p:
file="@OBJ@/hdimage" partition=1 mformat_only file="@OBJ@/hdimage" partition=1 mformat_only
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment