Added EFI support. Manually tested it in 64-bit mode. Not tested in 32-bit mode. The installer is BIOS based and needs to be reworked for EFI support. Manuall HDD installation (64-bit, EFI) works fine.

This commit is contained in:
Ivan Davidov 2016-10-16 16:46:25 +03:00
parent f27d4994fe
commit 50fb618a0b
2 changed files with 20 additions and 7 deletions

View File

@ -71,6 +71,12 @@ else
# Disable debug symbols in kernel => smaller kernel binary.
sed -i "s/^CONFIG_DEBUG_KERNEL.*/\\# CONFIG_DEBUG_KERNEL is not set/" .config
# Enable the EFI stub
sed -i "s/.*CONFIG_EFI_STUB.*/CONFIG_EFI_STUB=y/" .config
# Explicitly enable the mixed EFI mode.
echo "CONFIG_EFI_MIXED=y" > .config
fi
# Compile the kernel with optimization for 'parallel jobs' = 'number of processors'.

View File

@ -60,11 +60,6 @@ fi
cd work/isoimage
# Copy the precompiled files 'isolinux.bin' and 'ldlinux.c32' in the ISO image
# root folder.
cp $WORK_SYSLINUX_DIR/bios/core/isolinux.bin .
cp $WORK_SYSLINUX_DIR/bios/com32/elflink/ldlinux/ldlinux.c32 .
# Now we copy the kernel.
cp $KERNEL_INSTALLED/kernel ./kernel.xz
@ -129,9 +124,22 @@ else
echo "Generating ISO image with no overlay structure..."
fi
# Copy the precompiled files 'isolinux.bin' and 'ldlinux.c32' in the ISO image
# root folder.
cp $WORK_SYSLINUX_DIR/bios/core/isolinux.bin .
cp $WORK_SYSLINUX_DIR/bios/com32/elflink/ldlinux/ldlinux.c32 .
# Create the ISOLINUX configuration file.
echo 'default kernel.xz initrd=rootfs.xz vga=ask' > ./syslinux.cfg
# Create UEFI start script.
mkdir -p efi/boot
cat << CEOF > ./efi/boot/startup.nsh
echo -off
echo "Minimal Linux Live" is starting...
\\kernel.xz initrd=\\rootfs.xz
CEOF
# Now we generate the ISO image file.
genisoimage \
-J \
@ -146,8 +154,7 @@ genisoimage \
./
# This allows the ISO image to be bootable if it is burned on USB flash drive.
# The -u option is used in EFI boot mode (still not supported) and it reduces
# the ISO image size.
# The -u option is used in EFI boot mode and it reduces the ISO image size.
isohybrid -u ../minimal_linux_live.iso 2>/dev/null || true
# Copy the ISO image to the root project folder.