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