diff --git a/build/jam/ImageRules b/build/jam/ImageRules index 50b39c0546..a3be1dec72 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -1649,6 +1649,7 @@ rule BuildCDBootPPCImage image : hfsmaps : elfloader : coffloader : chrpscript actions BuildCDBootPPCImage1 bind MAPS { $(RM) $(<) + mkdir -p $(HAIKU_OUTPUT_DIR)/cd/ppc mkdir -p $(HAIKU_OUTPUT_DIR)/cd/boot # CHRP Boot script @@ -1662,9 +1663,10 @@ actions BuildCDBootPPCImage1 bind MAPS # Xorriso doesn't have map and some other required tools # to make bootable PowerPC images - genisoimage -v -hfsplus -map $(MAPS) \ + genisoimage -v -hfs -map $(MAPS) \ -hfs-bless $(HAIKU_OUTPUT_DIR)/cd/boot -part -no-desktop \ -hfs-parms MAX_XTCSIZE=2656248 -hfs-volid Haiku \ + --prep-boot boot/haikuloader.elf \ --chrp-boot -r -J -o $(<) $(HAIKU_OUTPUT_DIR)/cd $(RM) -r $(HAIKU_OUTPUT_DIR)/cd diff --git a/build/jam/images/CDBootImage b/build/jam/images/CDBootImage index 0823bcdfb3..20c004f5dc 100644 --- a/build/jam/images/CDBootImage +++ b/build/jam/images/CDBootImage @@ -13,7 +13,7 @@ NotFile $(HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME) ; # common extra files to put on the boot iso local extras = README.html ; -SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ; +SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot extras ] ; if $(TARGET_ARCH) = ppc { local elfloader = boot_loader_openfirmware ; @@ -25,9 +25,6 @@ if $(TARGET_ARCH) = ppc { # HFS creator and application type mapping for mkisofs local hfsmaps = hfs.map ; - SEARCH on $(chrpscript) $(hfsmaps) $(extras) - = [ FDirName $(HAIKU_TOP) data boot_cd ] ; - BuildCDBootPPCImage $(HAIKU_CD_BOOT_IMAGE) : $(hfsmaps) : $(elfloader) : $(coffloader) : $(chrpscript) : $(extras) ; } else { diff --git a/data/boot_cd/README.html b/data/boot/extras/README.html similarity index 100% rename from data/boot_cd/README.html rename to data/boot/extras/README.html diff --git a/data/boot_cd/hfs.map b/data/boot/openfirmware/hfs.map similarity index 100% rename from data/boot_cd/hfs.map rename to data/boot/openfirmware/hfs.map diff --git a/data/boot_cd/ofboot.chrp b/data/boot/openfirmware/ofboot.chrp similarity index 97% rename from data/boot_cd/ofboot.chrp rename to data/boot/openfirmware/ofboot.chrp index 4e5890a99a..c5c1cdaf33 100644 --- a/data/boot_cd/ofboot.chrp +++ b/data/boot/openfirmware/ofboot.chrp @@ -6,6 +6,18 @@ MacRISC MacRISC3 MacRISC4 Haiku for PowerPC +" screen" output +load-base release-load-area +" /cpus/@0" find-package if + " 64-bit" rot get-package-property 0= if + 2drop + ." Booting Haiku for PowerPC (64-bit)..." + " boot cd:,\\haikuloader.elf" eval + else + ." Booting Haiku for PowerPC (32-bit)..." + " boot cd:,\\haikuloader.elf" eval + then +then boot cd:,\\haikuloader.elf