From 3f11b7d156b67fcdca833bcbff6b204d7942dcbc Mon Sep 17 00:00:00 2001 From: Peter Grehan Date: Wed, 18 Aug 2004 11:08:19 +0000 Subject: [PATCH] Add files needed for PPC release ISOs. These are built with the HFS/ISO9660 extensions to be bootable on Power Macs. boot.tbxi - the CHRP script executed by Open Firmware when auto-booting CDs hfs.map - map Unix files to HFS creator/type fields Reviewed by: ru Submitted by: ssouhlal --- release/powerpc/boot.tbxi | 15 +++++++++ release/powerpc/boot_crunch.conf | 29 ++++++++++++++++ release/powerpc/hfs.map | 3 ++ release/powerpc/mkisoimages.sh | 57 ++++++++++++++++++++++++++++++++ 4 files changed, 104 insertions(+) create mode 100644 release/powerpc/boot.tbxi create mode 100644 release/powerpc/boot_crunch.conf create mode 100644 release/powerpc/hfs.map create mode 100644 release/powerpc/mkisoimages.sh diff --git a/release/powerpc/boot.tbxi b/release/powerpc/boot.tbxi new file mode 100644 index 000000000000..70897866bec8 --- /dev/null +++ b/release/powerpc/boot.tbxi @@ -0,0 +1,15 @@ + + +$FreeBSD$ + + +MacRISC MacRISC3 MacRISC4 + + +FreeBSD/PPC bootloader + + +" screen" output +boot cd:,\boot\loader cd:0 + + diff --git a/release/powerpc/boot_crunch.conf b/release/powerpc/boot_crunch.conf new file mode 100644 index 000000000000..90b33822b42a --- /dev/null +++ b/release/powerpc/boot_crunch.conf @@ -0,0 +1,29 @@ +# $FreeBSD$ + +buildopts -DRELEASE_CRUNCH -Dlint + +srcdirs /usr/src/bin +progs hostname pwd rm sh test +ln sh -sh +ln test [ + +srcdirs /usr/src/gnu/usr.bin +progs cpio + +srcdirs /usr/src/sbin +progs dhclient fsck_ffs ifconfig +progs mount_msdosfs mount_nfs newfs newfs_msdos route rtsol +progs slattach tunefs camcontrol + +srcdirs /usr/src/usr.bin +progs find minigzip sed +ln minigzip gzip +ln minigzip gunzip +ln minigzip zcat + +srcdirs /usr/src/usr.sbin +progs arp ppp +progs sysinstall usbd usbdevs + +libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz -lnetgraph +libs -ldialog -lncurses -ldisk -lcam -lkiconv -lsbuf -lufs diff --git a/release/powerpc/hfs.map b/release/powerpc/hfs.map new file mode 100644 index 000000000000..7048d0a991d4 --- /dev/null +++ b/release/powerpc/hfs.map @@ -0,0 +1,3 @@ +# $FreeBSD$ +.tbxi - 'chrp' 'tbxi' "bootstrap" +* - 'fbsd' 'TEXT' "FreeBSD file" diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh new file mode 100644 index 000000000000..31e69971f3a5 --- /dev/null +++ b/release/powerpc/mkisoimages.sh @@ -0,0 +1,57 @@ +#!/bin/sh +# +# Module: mkisoimages.sh +# Author: Jordan K Hubbard +# Date: 22 June 2001 +# +# $FreeBSD$ +# +# This script is used by release/Makefile to build the (optional) ISO images +# for a FreeBSD release. It is considered architecture dependent since each +# platform has a slightly unique way of making bootable CDs. This script +# is also allowed to generate any number of images since that is more of +# publishing decision than anything else. +# +# Usage: +# +# mkisoimages.sh [-b] image-label image-name base-bits-dir [extra-bits-dir] +# +# Where -b is passed if the ISO image should be made "bootable" by +# whatever standards this architecture supports (may be unsupported), +# image-label is the ISO image label, image-name is the filename of the +# resulting ISO image, base-bits-dir contains the image contents and +# extra-bits-dir, if provided, contains additional files to be merged +# into base-bits-dir as part of making the image. + +if [ "x$1" = "x-b" ]; then + cp /usr/src/release/powerpc/boot.tbxi ${4}/boot + bootable="-hfs-bless ${4}/boot -map /usr/src/release/powerpc/hfs.map" + shift +else + bootable="" +fi + +if [ $# -lt 3 ]; then + echo Usage: $0 '[-b] image-label image-name base-bits-dir [extra-bits-dir]' + rm -f ${IMG} + exit 1 +fi + +type mkisofs 2>&1 | grep " is " >/dev/null +if [ $? -ne 0 ]; then + echo The cdrtools port is not installed. Trying to get it now. + if [ -f /usr/ports/sysutils/cdrtools/Makefile ]; then + cd /usr/ports/sysutils/cdrtools && make install BATCH=yes && make clean + else + if ! pkg_add -r cdrtools; then + echo "Could not get it via pkg_add - please go install this" + echo "from the ports collection and run this script again." + exit 2 + fi + fi +fi + +LABEL=$1; shift +NAME=$1; shift + +mkisofs $bootable -r -hfs -part -no-desktop -hfs-volid $LABEL -l -J -L -o $NAME $*