From c7d3cf5b8aef81654f2e3416034302bb63b3232c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 7 Nov 2008 02:35:46 +0000 Subject: [PATCH] First attempt at a PPC bootable iso, doesn't work yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28543 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- Jamfile | 1 + build/jam/BuildSetup | 7 +++++++ build/jam/CDBootPPCImage | 24 ++++++++++++++++++++++++ build/jam/ImageRules | 17 +++++++++++++++++ data/boot_cd/chrpboot.txt | 11 +++++++++++ 5 files changed, 60 insertions(+) create mode 100644 build/jam/CDBootPPCImage create mode 100644 data/boot_cd/chrpboot.txt diff --git a/Jamfile b/Jamfile index 1b4c8da18b..59d508f429 100644 --- a/Jamfile +++ b/Jamfile @@ -156,3 +156,4 @@ include [ FDirName $(HAIKU_BUILD_RULES_DIR) HaikuImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) NetBootArchive ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) FloppyBootImage ] ; include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootImage ] ; +include [ FDirName $(HAIKU_BUILD_RULES_DIR) CDBootPPCImage ] ; diff --git a/build/jam/BuildSetup b/build/jam/BuildSetup index 4623c2d304..928b9b8666 100644 --- a/build/jam/BuildSetup +++ b/build/jam/BuildSetup @@ -44,6 +44,13 @@ HAIKU_CONTAINER_GRIST on $(HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME) = CDBootImage ; HAIKU_INSTALL_TARGETS_VAR on $(HAIKU_CD_BOOT_IMAGE_CONTAINER_NAME) = HAIKU_CD_BOOT_IMAGE_INSTALL_TARGETS ; +# boot CD for PPC image +HAIKU_CD_BOOT_PPC_IMAGE_CONTAINER_NAME = haiku-boot-cd-ppc-container ; +HAIKU_CONTAINER_GRIST on $(HAIKU_CD_BOOT_PPC_IMAGE_CONTAINER_NAME) = CDBootPPCImage ; +# HAIKU_INCLUDE_IN_CONTAINER_VAR -- update only mode not supported +HAIKU_INSTALL_TARGETS_VAR on $(HAIKU_CD_BOOT_PPC_IMAGE_CONTAINER_NAME) + = HAIKU_CD_BOOT_PPC_IMAGE_INSTALL_TARGETS ; + # Haiku image/install defaults HAIKU_DEFAULT_IMAGE_NAME = haiku.image ; HAIKU_DEFAULT_IMAGE_DIR = $(HAIKU_OUTPUT_DIR) ; diff --git a/build/jam/CDBootPPCImage b/build/jam/CDBootPPCImage new file mode 100644 index 0000000000..2839de8c91 --- /dev/null +++ b/build/jam/CDBootPPCImage @@ -0,0 +1,24 @@ +# This file defines what ends up in the CD boot image and it executes the +# rules building the image. + +#HAIKU_BOOT_FLOPPY = haiku-boot-floppy.image ; +#MakeLocate $(HAIKU_BOOT_FLOPPY) : $(HAIKU_OUTPUT_DIR) ; + +# CD image target +HAIKU_CD_BOOT_PPC_IMAGE = haiku-boot-cd-ppc.iso ; +MakeLocate $(HAIKU_CD_BOOT_PPC_IMAGE) : $(HAIKU_OUTPUT_DIR) ; + +# the pseudo target all archive contents is attached to +NotFile $(HAIKU_CD_BOOT_PPC_IMAGE_CONTAINER_NAME) ; + +# extra files to put on the boot iso +local extras = chrpboot.txt README.html ; +SEARCH on $(extras) = [ FDirName $(HAIKU_TOP) data boot_cd ] ; + +BuildCDBootPPCImage $(HAIKU_CD_BOOT_PPC_IMAGE) : $(HAIKU_BOOT_FLOPPY) : $(extras) ; + + +NotFile haiku-boot-cd-ppc ; +Depends haiku-boot-cd-ppc : $(HAIKU_CD_BOOT_PPC_IMAGE) ; + + diff --git a/build/jam/ImageRules b/build/jam/ImageRules index bfc5e6c663..7d22129efc 100644 --- a/build/jam/ImageRules +++ b/build/jam/ImageRules @@ -1066,3 +1066,20 @@ actions BuildCDBootImage1 } +#pragma mark - CD Boot PPC Image rules + +rule BuildCDBootPPCImage image : bootloader : extrafiles +{ + Depends $(image) : $(bootloader) ; + Depends $(image) : $(extrafiles) ; + + BuildCDBootPPCImage1 $(image) : $(bootloader) $(extrafiles) ; +} + +actions BuildCDBootPPCImage1 +{ + $(RM) $(<) + mkisofs -r -U -chrp-boot -V bootimg -o $(<) $(>[1]) $(>[2-]) +} + + diff --git a/data/boot_cd/chrpboot.txt b/data/boot_cd/chrpboot.txt new file mode 100644 index 0000000000..bd100b8164 --- /dev/null +++ b/data/boot_cd/chrpboot.txt @@ -0,0 +1,11 @@ + + +Haiku Boot Disk + + +Haiku + + +boot cd:\boot_loader_openfirmware + +