summaryrefslogtreecommitdiffstats
path: root/release/powerpc/mkisoimages.sh
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2011-05-12 15:03:17 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2011-05-12 15:03:17 +0000
commit71da39e09ceda78b4ab4d42e670f704f3fa61097 (patch)
tree136c1599746661276f60cfcaa774b8dd466afa41 /release/powerpc/mkisoimages.sh
parentf9ee184b6eda372188d5200c4050d276d4b40472 (diff)
downloadFreeBSD-src-71da39e09ceda78b4ab4d42e670f704f3fa61097.zip
FreeBSD-src-71da39e09ceda78b4ab4d42e670f704f3fa61097.tar.gz
Add (somewhat speculative) bootable CD support for PAPR/pSeries-type
systems. In principle, FreeBSD should run on at least some of these already, and support for the remainder will hopefully show up eventually, so add this while I'm thinking about it.
Diffstat (limited to 'release/powerpc/mkisoimages.sh')
-rw-r--r--release/powerpc/mkisoimages.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh
index 5c4b0df..64e6165 100644
--- a/release/powerpc/mkisoimages.sh
+++ b/release/powerpc/mkisoimages.sh
@@ -24,6 +24,7 @@
# into base-bits-dir as part of making the image.
if [ "x$1" = "x-b" ]; then
+ # Apple boot code
uudecode -o /tmp/hfs-boot-block.bz2 `dirname $0`/hfs-boot.bz2.uu
bzip2 -d /tmp/hfs-boot-block.bz2
OFFSET=$(hd /tmp/hfs-boot-block | grep 'Loader START' | cut -f 1 -d ' ')
@@ -31,6 +32,19 @@ if [ "x$1" = "x-b" ]; then
dd if=$4/boot/loader of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc
bootable="-o bootimage=macppc;/tmp/hfs-boot-block -o no-emul-boot"
+
+ # pSeries/PAPR boot code
+ mkdir $4/ppc
+ cat > $4/ppc/bootinfo.txt << EOF
+<CHRP-BOOT>
+<DESCRIPTION>FreeBSD/powerpc</DESCRIPTION>
+<OS-NAME>FreeBSD</OS-NAME>
+<BOOT-SCRIPT>
+boot &device;:&partition;,\boot\loader &device;:0
+</BOOT-SCRIPT>
+</CHRP-BOOT>
+EOF
+
shift
else
bootable=""
@@ -48,3 +62,5 @@ echo "/dev/iso9660/`echo $LABEL | tr '[:lower:]' '[:upper:]'` / cd9660 ro 0 0" >
makefs -t cd9660 $bootable -o rockridge -o label=$LABEL $NAME $*
rm $1/etc/fstab
rm /tmp/hfs-boot-block
+rm -rf $1/ppc
+
OpenPOWER on IntegriCloud