aboutsummaryrefslogtreecommitdiff
path: root/release/powerpc/mkisoimages.sh
diff options
context:
space:
mode:
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>2011-05-12 15:03:17 +0000
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>2011-05-12 15:03:17 +0000
commit2a2fbadf4f7c2195b6249aa9fd989994b347fd91 (patch)
tree136c1599746661276f60cfcaa774b8dd466afa41 /release/powerpc/mkisoimages.sh
parent6ac75c91b7669497c9e5efc24a4b9256c038db29 (diff)
downloadsrc-2a2fbadf4f7c2195b6249aa9fd989994b347fd91.tar.gz
src-2a2fbadf4f7c2195b6249aa9fd989994b347fd91.zip
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.
Notes
Notes: svn path=/head/; revision=221814
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 5c4b0df391f2..64e616561d34 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
+