mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-25 11:46:43 +00:00
mkimage: x86: always creeate uefi images
This commit is contained in:
parent
b20d36e3e0
commit
c2b378c895
3
Makefile
3
Makefile
@ -11,9 +11,6 @@ release:
|
||||
image:
|
||||
./scripts/image mkimage
|
||||
|
||||
image-efi:
|
||||
./scripts/image mkimage efi
|
||||
|
||||
noobs:
|
||||
./scripts/image noobs
|
||||
|
||||
|
@ -299,9 +299,6 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION"
|
||||
|
||||
# create image files if requested
|
||||
if [ "$1" = "mkimage" -a -n "$BOOTLOADER" ]; then
|
||||
if [ "$2" == "efi" ] ; then
|
||||
UEFI=yes
|
||||
fi
|
||||
# projects can set KERNEL_NAME (kernel.img)
|
||||
if [ -z "$KERNEL_NAME" ] ; then
|
||||
KERNEL_NAME="KERNEL"
|
||||
@ -320,7 +317,6 @@ IMAGE_NAME="$DISTRONAME-$TARGET_VERSION"
|
||||
RELEASE_DIR="$RELEASE_DIR" \
|
||||
UUID_SYSTEM="$(uuidgen)" \
|
||||
UUID_STORAGE="$(uuidgen)" \
|
||||
UEFI="$UEFI" \
|
||||
$SCRIPTS/mkimage
|
||||
fi
|
||||
|
||||
|
@ -46,13 +46,10 @@
|
||||
trap cleanup SIGINT
|
||||
|
||||
# generate volume id for fat partition
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
UUID_1=$(date '+%d%m')
|
||||
UUID_2=$(date '+%M%S')
|
||||
FAT_VOL_ID="${UUID_1}${UUID_2}"
|
||||
UUID_SYSTEM="${UUID_1}-${UUID_2}"
|
||||
DISK="$TARGET_IMG/$IMAGE_NAME-efi.img"
|
||||
fi
|
||||
|
||||
# ensure loopX not in use
|
||||
umount "$OE_TMP" &>/dev/null || :
|
||||
@ -67,30 +64,14 @@ fi
|
||||
# write a disklabel
|
||||
echo "image: creating partition table on $DISK..."
|
||||
losetup "$LOOP" "$DISK"
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
parted -s "$LOOP" mklabel gpt
|
||||
else
|
||||
parted -s "$LOOP" mklabel msdos
|
||||
fi
|
||||
parted -s "$LOOP" mklabel gpt
|
||||
sync
|
||||
|
||||
# create part1
|
||||
echo "image: creating part1 on $DISK..."
|
||||
SYSTEM_PART_END=$(( $SYSTEM_SIZE * 1024 * 1024 / 512 + 2048 ))
|
||||
if [ "$BOOTLOADER" = "syslinux" ]; then
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
parted -s "$LOOP" -a min unit s mkpart primary fat32 2048 $SYSTEM_PART_END
|
||||
else
|
||||
parted -s "$LOOP" -a min unit s mkpart primary ext4 2048 $SYSTEM_PART_END
|
||||
fi
|
||||
elif [ "$BOOTLOADER" = "bcm2835-bootloader" -o "$BOOTLOADER" = "u-boot" ]; then
|
||||
parted -s "$LOOP" -a min unit s mkpart primary fat32 2048 $SYSTEM_PART_END
|
||||
fi
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
parted -s "$LOOP" set 1 legacy_boot on
|
||||
else
|
||||
parted -s "$LOOP" set 1 boot on
|
||||
fi
|
||||
parted -s "$LOOP" -a min unit s mkpart primary fat32 2048 $SYSTEM_PART_END
|
||||
parted -s "$LOOP" set 1 legacy_boot on
|
||||
|
||||
# create part2
|
||||
echo "image: creating part2 on $DISK..."
|
||||
@ -102,11 +83,7 @@ fi
|
||||
if [ "$BOOTLOADER" = "syslinux" ]; then
|
||||
# write mbr
|
||||
echo "image: writing mbr..."
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
MBR="$ROOT/$TOOLCHAIN/share/syslinux/gptmbr.bin"
|
||||
else
|
||||
MBR="$ROOT/$TOOLCHAIN/share/syslinux/mbr.bin"
|
||||
fi
|
||||
MBR="$ROOT/$TOOLCHAIN/share/syslinux/gptmbr.bin"
|
||||
if [ -n "$MBR" ]; then
|
||||
dd bs=440 count=1 conv=notrunc if="$MBR" of="$LOOP"
|
||||
fi
|
||||
@ -120,13 +97,7 @@ fi
|
||||
SIZELIMIT=$(( $SYSTEM_SIZE * 1024 * 1024 ))
|
||||
losetup -o $OFFSET --sizelimit $SIZELIMIT "$LOOP" "$DISK"
|
||||
if [ "$BOOTLOADER" = "syslinux" ]; then
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
mkfs.vfat -i "$FAT_VOL_ID" "$LOOP"
|
||||
else
|
||||
mke2fs -q -t ext4 -m 0 "$LOOP"
|
||||
tune2fs -U $UUID_SYSTEM "$LOOP"
|
||||
e2fsck -n "$LOOP"
|
||||
fi
|
||||
mkfs.vfat -i "$FAT_VOL_ID" "$LOOP"
|
||||
elif [ "$BOOTLOADER" = "bcm2835-bootloader" -o "$BOOTLOADER" = "u-boot" ]; then
|
||||
mkfs.vfat "$LOOP"
|
||||
fi
|
||||
@ -182,11 +153,7 @@ EOF
|
||||
|
||||
# install extlinux
|
||||
echo "image: installing extlinux to part1..."
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
syslinux --heads=4 --sector=32 -i "$LOOP"
|
||||
else
|
||||
extlinux --heads=4 --sector=32 -i "$OE_TMP"
|
||||
fi
|
||||
syslinux --heads=4 --sector=32 -i "$LOOP"
|
||||
|
||||
# copy files
|
||||
echo "image: copying files to part1..."
|
||||
@ -196,18 +163,16 @@ EOF
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/vesamenu.c32 "$OE_TMP"
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/libcom32.c32 "$OE_TMP"
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/libutil.c32 "$OE_TMP"
|
||||
if [ "$UEFI" = "yes" ] ; then
|
||||
mkdir -p "$OE_TMP/EFI/BOOT"
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/bootx64.efi "$OE_TMP/EFI/BOOT"
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/ldlinux.e64 "$OE_TMP/EFI/BOOT"
|
||||
cat << EOF > "$OE_TMP"/EFI/BOOT/syslinux.cfg
|
||||
mkdir -p "$OE_TMP/EFI/BOOT"
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/bootx64.efi "$OE_TMP/EFI/BOOT"
|
||||
cp $ROOT/$TOOLCHAIN/share/syslinux/ldlinux.e64 "$OE_TMP/EFI/BOOT"
|
||||
cat << EOF > "$OE_TMP"/EFI/BOOT/syslinux.cfg
|
||||
DEFAULT installer
|
||||
|
||||
LABEL installer
|
||||
KERNEL /$KERNEL_NAME
|
||||
APPEND boot=UUID=$UUID_SYSTEM installer quiet tty vga=current
|
||||
EOF
|
||||
fi
|
||||
elif [ "$BOOTLOADER" = "bcm2835-bootloader" ]; then
|
||||
# create bootloader configuration
|
||||
echo "image: creating bootloader configuration..."
|
||||
@ -285,7 +250,7 @@ fi # bootloader
|
||||
mount "$LOOP" "$OE_TMP"
|
||||
|
||||
# add resize mark
|
||||
if [ "$UEFI" != "yes" ] ; then
|
||||
if [ "$BOOTLOADER" != "syslinux" ]; then
|
||||
touch "$OE_TMP/.please_resize_me"
|
||||
sync
|
||||
fi
|
||||
|
Loading…
x
Reference in New Issue
Block a user