mirror of
https://github.com/ipxe/ipxe
synced 2025-12-19 11:00:27 +03:00
[build] Use explicit disk geometry for generated FAT filesystem images
For FAT filesystem images larger than a 1.44MB floppy disk, round up the image size to a whole number of 504kB cylinders before formatting. This avoids losing up to a cylinder's worth of expected space in the filesystem image. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -242,12 +242,15 @@ if [ -n "${FATIMG}" ] ; then
|
|||||||
FATSIZE=$(( FATSIZE + PAD + 256 ))
|
FATSIZE=$(( FATSIZE + PAD + 256 ))
|
||||||
touch "${FATIMG}"
|
touch "${FATIMG}"
|
||||||
if [ "${FATSIZE}" -le "1440" ] ; then
|
if [ "${FATSIZE}" -le "1440" ] ; then
|
||||||
truncate -s 1440K "${FATIMG}"
|
FATSIZE=1440
|
||||||
mformat -v iPXE -i "${FATIMG}" -f 1440 ::
|
FATARGS="-f 1440"
|
||||||
else
|
else
|
||||||
truncate -s "${FATSIZE}K" "${FATIMG}"
|
FATCYLS=$(( ( FATSIZE + 503 ) / 504 ))
|
||||||
mformat -v iPXE -i "${FATIMG}" ::
|
FATSIZE=$(( FATCYLS * 504 ))
|
||||||
|
FATARGS="-s 63 -h 16 -t ${FATCYLS}"
|
||||||
fi
|
fi
|
||||||
|
truncate -s "${FATSIZE}K" "${FATIMG}"
|
||||||
|
mformat -v iPXE -i "${FATIMG}" ${FATARGS} ::
|
||||||
mcopy -i "${FATIMG}" -s "${FATDIR}"/* ::
|
mcopy -i "${FATIMG}" -s "${FATDIR}"/* ::
|
||||||
if [ "${BIOSDIR}" = "${FATDIR}" ] ; then
|
if [ "${BIOSDIR}" = "${FATDIR}" ] ; then
|
||||||
syslinux "${FATIMG}"
|
syslinux "${FATIMG}"
|
||||||
|
|||||||
Reference in New Issue
Block a user