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:
		
							parent
							
								
									f27d4994fe
								
							
						
					
					
						commit
						50fb618a0b
					
				@ -71,6 +71,12 @@ else
 | 
				
			|||||||
  
 | 
					  
 | 
				
			||||||
  # Disable debug symbols in kernel => smaller kernel binary.
 | 
					  # Disable debug symbols in kernel => smaller kernel binary.
 | 
				
			||||||
  sed -i "s/^CONFIG_DEBUG_KERNEL.*/\\# CONFIG_DEBUG_KERNEL is not set/" .config
 | 
					  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
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Compile the kernel with optimization for 'parallel jobs' = 'number of processors'.
 | 
					# Compile the kernel with optimization for 'parallel jobs' = 'number of processors'.
 | 
				
			||||||
 | 
				
			|||||||
@ -60,11 +60,6 @@ fi
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
cd work/isoimage
 | 
					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.
 | 
					# Now we copy the kernel.
 | 
				
			||||||
cp $KERNEL_INSTALLED/kernel ./kernel.xz
 | 
					cp $KERNEL_INSTALLED/kernel ./kernel.xz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -129,9 +124,22 @@ else
 | 
				
			|||||||
  echo "Generating ISO image with no overlay structure..."
 | 
					  echo "Generating ISO image with no overlay structure..."
 | 
				
			||||||
fi
 | 
					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.
 | 
					# Create the ISOLINUX configuration file.
 | 
				
			||||||
echo 'default kernel.xz  initrd=rootfs.xz vga=ask' > ./syslinux.cfg
 | 
					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.
 | 
					# Now we generate the ISO image file.
 | 
				
			||||||
genisoimage \
 | 
					genisoimage \
 | 
				
			||||||
  -J \
 | 
					  -J \
 | 
				
			||||||
@ -146,8 +154,7 @@ genisoimage \
 | 
				
			|||||||
  ./
 | 
					  ./
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# This allows the ISO image to be bootable if it is burned on USB flash drive.
 | 
					# 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 -u option is used in EFI boot mode and it reduces the ISO image size.
 | 
				
			||||||
# the ISO image size.
 | 
					 | 
				
			||||||
isohybrid -u ../minimal_linux_live.iso 2>/dev/null || true
 | 
					isohybrid -u ../minimal_linux_live.iso 2>/dev/null || true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Copy the ISO image to the root project folder.
 | 
					# Copy the ISO image to the root project folder.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user