build: Restore a mechanism to build EFI-less anyboots and CDs.
This fixes the 32-bit build following the merge of multiple bootloaders support. Fixes #14656.
This commit is contained in:
@@ -284,6 +284,7 @@ rule KernelArchitectureSetup architecture
|
||||
case x86 :
|
||||
HAIKU_KERNEL_PLATFORM ?= bios_ia32 ;
|
||||
HAIKU_BOOT_TARGETS += bios_ia32 pxe_ia32 ;
|
||||
HAIKU_ANYBOOT_LEGACY = 1 ;
|
||||
|
||||
HAIKU_BOOT_FLOPPY_IMAGE_SIZE = 2880 ; # in kB
|
||||
# offset in floppy image (>= sizeof(haiku_loader))
|
||||
|
||||
+13
-3
@@ -1550,12 +1550,22 @@ rule BuildCDBootImage image : bootfloppy : bootefi : extrafiles
|
||||
Depends $(image) : $(bootefi) ;
|
||||
Depends $(image) : $(extrafiles) ;
|
||||
BOOTIMG on $(image) = $(bootfloppy) ;
|
||||
BOOTEFI on $(image) = $(bootefi) ;
|
||||
|
||||
BuildCDBootImage1 $(image) : $(bootfloppy) $(bootefi) $(extrafiles) ;
|
||||
if $(HAIKU_ANYBOOT_LEGACY) = 1 {
|
||||
BuildCDBootImageMBR $(image) : $(bootfloppy) $(extrafiles) ;
|
||||
} else {
|
||||
BOOTEFI on $(image) = $(bootefi) ;
|
||||
BuildCDBootImageEFI $(image) : $(bootfloppy) $(bootefi) $(extrafiles) ;
|
||||
}
|
||||
}
|
||||
|
||||
actions BuildCDBootImage1
|
||||
actions BuildCDBootImageMBR
|
||||
{
|
||||
$(RM) $(<)
|
||||
mkisofs -b $(BOOTIMG) -r -J -V bootimg -o $(<) $(>[1]) $(>[2-])
|
||||
}
|
||||
|
||||
actions BuildCDBootImageEFI
|
||||
{
|
||||
$(RM) $(<)
|
||||
mkisofs -b $(BOOTIMG) -eltorito-alt-boot -no-emul-boot -e $(BOOTEFI) -r -J -V bootimg -o $(<) $(>[1]) $(>[2]) $(>[3-])
|
||||
|
||||
@@ -42,7 +42,6 @@ MakeLocate $(baseMBR) : $(HAIKU_OUTPUT_DIR) ;
|
||||
MakeLocate $(HAIKU_ANYBOOT) : $(HAIKU_ANYBOOT_DIR) ;
|
||||
|
||||
if $(HAIKU_ANYBOOT_LEGACY) = 1 {
|
||||
Echo "HAIKU_ANYBOOT_LEGACY defined so anyboot is MBR only" ;
|
||||
BuildAnybootImage $(HAIKU_ANYBOOT) : $(baseMBR) : $(HAIKU_CD_BOOT_IMAGE)
|
||||
: $(HAIKU_IMAGE_NAME) ;
|
||||
} else {
|
||||
|
||||
@@ -27,13 +27,18 @@ if $(TARGET_ARCH) = ppc {
|
||||
SEARCH on $(chrpscript) $(hfsmaps) $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
|
||||
|
||||
BuildCDBootPPCImage $(HAIKU_CD_BOOT_IMAGE) : $(hfsmaps) : $(elfloader) : $(coffloader) : $(chrpscript) : $(extras) ;
|
||||
} else if $(HAIKU_ANYBOOT_LEGACY) = 1 {
|
||||
BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY) : : $(extras) ;
|
||||
|
||||
SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
|
||||
} else {
|
||||
local efiLoader = haiku_loader.efi ;
|
||||
local efiPartition = esp.image ;
|
||||
MakeLocate $(efiPartition) : $(HAIKU_OUTPUT_DIR) ;
|
||||
BuildEfiSystemPartition $(efiPartition) : $(efiLoader) ;
|
||||
|
||||
BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY) : $(efiPartition) : $(extras) ;
|
||||
BuildCDBootImage $(HAIKU_CD_BOOT_IMAGE) : $(HAIKU_BOOT_FLOPPY)
|
||||
: $(efiPartition) : $(extras) ;
|
||||
|
||||
SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user