mirror of
https://github.com/rancher/os.git
synced 2025-08-13 12:27:11 +00:00
Revert "Add EFI live boot support"
This commit is contained in:
parent
94fd38c358
commit
ddbedb9b31
@ -20,7 +20,6 @@ RUN apt-get update && \
|
|||||||
gccgo \
|
gccgo \
|
||||||
genisoimage \
|
genisoimage \
|
||||||
git \
|
git \
|
||||||
grub-efi \
|
|
||||||
isolinux \
|
isolinux \
|
||||||
less \
|
less \
|
||||||
libblkid-dev \
|
libblkid-dev \
|
||||||
|
28
efi.txt
28
efi.txt
@ -1,28 +0,0 @@
|
|||||||
To install with EFI:
|
|
||||||
|
|
||||||
A: install grub-efi
|
|
||||||
|
|
||||||
apt install grub-efi
|
|
||||||
|
|
||||||
B: Add to the installation process in scripts/package-iso
|
|
||||||
|
|
||||||
1. Make directories ${CD}/boot/grub and ${CD}/EFI/BOOT
|
|
||||||
2. Install the various grub modules from /usr/lib/grub/x86_64-efi/ to ${CD}/boot/grub/x86_64-efi/
|
|
||||||
3. Copy scripts/grub.cfg to ${CD}/boot/grub/grub.cfg
|
|
||||||
4. Run grub-mkimage to create the grub image:
|
|
||||||
|
|
||||||
(cd ${CD} && grub-mkimage -O x86_64-efi -o EFI/BOOT/BOOTX64.EFI --config=boot/grub/grub.cfg --compression=auto --prefix='()/boot/grub' disk part_msdos fat iso9660 )
|
|
||||||
|
|
||||||
NOTE: do *NOT* try to install the linux module directly in the grub image; it causes command-line options not to be passed and is a known bug.
|
|
||||||
|
|
||||||
5. Add the following xorriso options
|
|
||||||
|
|
||||||
-eltorito-alt-boot -e EFI/BOOT/BOOTX64.EFI -no-emul-boot \
|
|
||||||
-isohybrid-gpt-basdat \
|
|
||||||
|
|
||||||
This installation includes *no* additional icons or drivers. It is just meant to get RancherOS booted on an EFI system.
|
|
||||||
If you want to add support for graphical installations, additional filesystems, and everything else.... you will need a lot more
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
|||||||
set default="0"
|
|
||||||
set timeout=10
|
|
||||||
|
|
||||||
set gfxmode=auto
|
|
||||||
insmod efi_gop
|
|
||||||
insmod efi_uga
|
|
||||||
|
|
||||||
|
|
||||||
menuentry "Rancher" {
|
|
||||||
set gfxpayload=keep
|
|
||||||
linux /boot/vmlinuz quiet rancher.autologin=tty1 rancher.autologin=ttyS0
|
|
||||||
initrd /boot/initrd
|
|
||||||
}
|
|
||||||
|
|
@ -9,7 +9,7 @@ CD=${BUILD}/cd
|
|||||||
ISO=${ARTIFACTS}/$(echo ${DISTRIB_ID} | tr '[:upper:]' '[:lower:]').iso
|
ISO=${ARTIFACTS}/$(echo ${DISTRIB_ID} | tr '[:upper:]' '[:lower:]').iso
|
||||||
CHECKSUM=iso-checksums.txt
|
CHECKSUM=iso-checksums.txt
|
||||||
|
|
||||||
## TRADITIONAL MBR BOOT
|
mkdir -p ${CD}/boot/isolinux
|
||||||
mkdir -p ${CD}/boot/isolinux
|
mkdir -p ${CD}/boot/isolinux
|
||||||
|
|
||||||
if [ ! -f ${ARTIFACTS}/vmlinuz ] || [ ! -f ${ARTIFACTS}/initrd ]; then
|
if [ ! -f ${ARTIFACTS}/vmlinuz ] || [ ! -f ${ARTIFACTS}/initrd ]; then
|
||||||
@ -21,42 +21,12 @@ cp ${ARTIFACTS}/vmlinuz ${CD}/boot
|
|||||||
cp scripts/isolinux.cfg ${CD}/boot/isolinux
|
cp scripts/isolinux.cfg ${CD}/boot/isolinux
|
||||||
cp /usr/lib/ISOLINUX/isolinux.bin ${CD}/boot/isolinux
|
cp /usr/lib/ISOLINUX/isolinux.bin ${CD}/boot/isolinux
|
||||||
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 ${CD}/boot/isolinux
|
cp /usr/lib/syslinux/modules/bios/ldlinux.c32 ${CD}/boot/isolinux
|
||||||
|
|
||||||
|
|
||||||
## EFI BOOT
|
|
||||||
mkdir -p ${CD}/EFI/BOOT
|
|
||||||
mkdir -p ${CD}/boot/grub
|
|
||||||
cp scripts/grub.cfg ${CD}/boot/grub
|
|
||||||
cp -r /usr/lib/grub/x86_64-efi/ ${CD}/boot/grub
|
|
||||||
|
|
||||||
(cd ${CD} && grub-mkimage -O x86_64-efi -o EFI/BOOT/BOOTX64.EFI --config=boot/grub/grub.cfg --compression=auto --prefix='()/boot/grub' disk part_msdos fat iso9660 )
|
|
||||||
|
|
||||||
# make the EFI FAT filesystem to boot
|
|
||||||
EFIIMG=boot/efiboot.img
|
|
||||||
CDEFI=${CD}/${EFIIMG}
|
|
||||||
rm -f ${CDEFI}
|
|
||||||
dd if=/dev/zero of=${CDEFI} bs=4k count=1000
|
|
||||||
mkfs.vfat ${CDEFI}
|
|
||||||
mkdir -p tmp/
|
|
||||||
mount -o loop ${CDEFI} tmp/
|
|
||||||
cp -r ${CD}/EFI tmp/
|
|
||||||
umount tmp/
|
|
||||||
rmdir tmp/
|
|
||||||
|
|
||||||
rm -rf ${CD}/EFI
|
|
||||||
|
|
||||||
|
|
||||||
## BUILD THE ISO IMAGE
|
|
||||||
|
|
||||||
cd ${CD} && xorriso \
|
cd ${CD} && xorriso \
|
||||||
-as mkisofs \
|
-as mkisofs \
|
||||||
-l -J -R -V "${DISTRIB_ID}" \
|
-l -J -R -V "${DISTRIB_ID}" \
|
||||||
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
|
-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
|
||||||
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
|
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
|
||||||
-eltorito-alt-boot \
|
|
||||||
-e ${EFIIMG} -no-emul-boot \
|
|
||||||
-isohybrid-gpt-basdat \
|
|
||||||
-o $ISO ${CD}
|
-o $ISO ${CD}
|
||||||
|
|
||||||
cd $(dirname $ISO)
|
cd $(dirname $ISO)
|
||||||
|
17
scripts/run
17
scripts/run
@ -41,21 +41,6 @@ while [ "$#" -gt 0 ]; do
|
|||||||
--kvm)
|
--kvm)
|
||||||
KVM=1
|
KVM=1
|
||||||
;;
|
;;
|
||||||
--efi)
|
|
||||||
# set where our EFI firmware binary is
|
|
||||||
EFIFIRMWARE="./build/OVMF.fd"
|
|
||||||
# create the command-line to pass to qemu
|
|
||||||
EFI="--bios $EFIFIRMWARE"
|
|
||||||
# if the firmware does not yet exist, download it
|
|
||||||
if [[ ! -e "$EFIFIRMWARE" ]]; then
|
|
||||||
echo "Downloading OVMF EFI firmware"
|
|
||||||
# because unzip does not support streaming from stdin...
|
|
||||||
curl --location http://downloads.sourceforge.net/project/edk2/OVMF/OVMF-X64-r15214.zip > ./build/ovmf.zip
|
|
||||||
unzip ./build/ovmf.zip -d ./build OVMF.fd
|
|
||||||
rm -f ./build/ovmf.zip
|
|
||||||
echo "Download OVMF EFI firmware complete"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
--no-format)
|
--no-format)
|
||||||
FORMAT=0
|
FORMAT=0
|
||||||
;;
|
;;
|
||||||
@ -153,7 +138,6 @@ if [ "$QEMU" == "1" ]; then
|
|||||||
${CPU} \
|
${CPU} \
|
||||||
${machine["$ARCH"]} \
|
${machine["$ARCH"]} \
|
||||||
-m 2048 \
|
-m 2048 \
|
||||||
${EFI} \
|
|
||||||
${network["$ARCH"]} \
|
${network["$ARCH"]} \
|
||||||
$(eval "${hd["$ARCH"]} ${HD}") \
|
$(eval "${hd["$ARCH"]} ${HD}") \
|
||||||
${SECOND_DRIVE_ENABLE} \
|
${SECOND_DRIVE_ENABLE} \
|
||||||
@ -176,7 +160,6 @@ if [ "$QEMU" == "1" ]; then
|
|||||||
-kernel ${KERNEL} \
|
-kernel ${KERNEL} \
|
||||||
-initrd ${INITRD} \
|
-initrd ${INITRD} \
|
||||||
-m 2048 \
|
-m 2048 \
|
||||||
${EFI} \
|
|
||||||
${network["$ARCH"]} \
|
${network["$ARCH"]} \
|
||||||
$(eval "${hd["$ARCH"]} ${HD}") \
|
$(eval "${hd["$ARCH"]} ${HD}") \
|
||||||
${SECOND_DRIVE_ENABLE} \
|
${SECOND_DRIVE_ENABLE} \
|
||||||
|
Loading…
Reference in New Issue
Block a user