diff --git a/build/jam/CDBootPPCImage b/build/jam/CDBootPPCImage index 1dc2ed24cf..042bb652b9 100644 --- a/build/jam/CDBootPPCImage +++ b/build/jam/CDBootPPCImage @@ -15,7 +15,13 @@ NotFile $(HAIKU_CD_BOOT_PPC_IMAGE_CONTAINER_NAME) ; local extras = ofboot.b README.html ; SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ; -BuildCDBootPPCImage $(HAIKU_CD_BOOT_PPC_IMAGE) : boot_loader_openfirmware : $(extras) ; +local hfsmaps = hfs.map ; +SEARCH on $(hfsmaps) = [ FDirName $(HAIKU_TOP) data boot_cd ] ; + + + + +BuildCDBootPPCImage $(HAIKU_CD_BOOT_PPC_IMAGE) : $(hfsmaps) : boot_loader_openfirmware : $(extras) ; NotFile haiku-boot-cd-ppc ; diff --git a/build/jam/ImageRules b/build/jam/ImageRules index 7d22129efc..239a1de151 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -1068,18 +1068,21 @@ actions BuildCDBootImage1 #pragma mark - CD Boot PPC Image rules -rule BuildCDBootPPCImage image : bootloader : extrafiles +rule BuildCDBootPPCImage image : hfsmaps : bootloader : extrafiles { Depends $(image) : $(bootloader) ; Depends $(image) : $(extrafiles) ; + Depends $(image) : $(hfsmaps) ; + MAPS on $(image) = $(hfsmaps) ; BuildCDBootPPCImage1 $(image) : $(bootloader) $(extrafiles) ; } -actions BuildCDBootPPCImage1 +actions BuildCDBootPPCImage1 bind MAPS { $(RM) $(<) - mkisofs -r -U -chrp-boot -V bootimg -o $(<) $(>[1]) $(>[2-]) + #mkisofs -r -U -chrp-boot -V bootimg -o $(<) $(>[1]) $(>[2-]) + mkisofs -r -hfs -part -map $(MAPS) -no-desktop -hfs-volid bootimg -V bootimg -hfs-bless . -o $(<) $(>[1]) $(>[2-]) } diff --git a/data/boot_cd/hfs.map b/data/boot_cd/hfs.map new file mode 100644 index 0000000000..c5f3ea3659 --- /dev/null +++ b/data/boot_cd/hfs.map @@ -0,0 +1,6 @@ +# This mapping is needed to successfully boot and to keep macos +# from treating everything like a text file (ugly!) +# +# EXTN XLate CREATOR TYPE Comment +.b Raw 'UNIX' 'tbxi' "bootstrap" +boot_loader_openfirmware Raw 'UNIX' 'boot' "bootstrap"