aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Whitehorn <nwhitehorn@FreeBSD.org>2018-01-01 03:33:01 +0000
committerNathan Whitehorn <nwhitehorn@FreeBSD.org>2018-01-01 03:33:01 +0000
commit9fb36b5eaeb584c7060ba97980ca8068bbc61514 (patch)
tree7790345e08e9b115d066bf89e68b75b6d10d36af
parentd3e909e7bbe92adf3f055a97387fac93943d84d7 (diff)
Notes
-rw-r--r--release/powerpc/mkisoimages.sh42
1 files changed, 24 insertions, 18 deletions
diff --git a/release/powerpc/mkisoimages.sh b/release/powerpc/mkisoimages.sh
index ef61f9cbb2e7..02e2d58160af 100644
--- a/release/powerpc/mkisoimages.sh
+++ b/release/powerpc/mkisoimages.sh
@@ -23,20 +23,38 @@
# extra-bits-dir, if provided, contains additional files to be merged
# into base-bits-dir as part of making the image.
+
if [ "$1" = "-b" ]; then
+ bootable=1
+ shift
+else
+ bootable=""
+fi
+
+if [ $# -lt 3 ]; then
+ echo "Usage: $0 [-b] image-label image-name base-bits-dir [extra-bits-dir]"
+ exit 1
+fi
+
+LABEL=`echo "$1" | tr '[:lower:]' '[:upper:]'`; shift
+NAME="$1"; shift
+
+if [ -n "$bootable" ]; then
+ echo "Building bootable disc"
+
# 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 ' ')
OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}')
- dd if="$4/boot/loader" of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc
+ dd if="$1/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 -p "$4/ppc/chrp"
- cp "$4/boot/loader" "$4/ppc/chrp"
- cat > "$4/ppc/bootinfo.txt" << EOF
+ mkdir -p "$1/ppc/chrp"
+ cp "$1/boot/loader" "$1/ppc/chrp"
+ cat > "$1/ppc/bootinfo.txt" << EOF
<chrp-boot>
<description>FreeBSD Install</description>
<os-name>FreeBSD</os-name>
@@ -45,22 +63,10 @@ if [ "$1" = "-b" ]; then
EOF
bootable="$bootable -o chrp-boot"
- # Playstation 3 boot code
- echo "FreeBSD Install='/boot/loader.ps3'" > "$4/etc/kboot.conf"
-
- shift
-else
- bootable=""
+ # Petitboot config for PS3/PowerNV
+ echo FreeBSD Install=\'/boot/kernel/kernel vfs.root.mountfrom=cd9660:/dev/iso9660/$LABEL\' > "$1/etc/kboot.conf"
fi
-if [ $# -lt 3 ]; then
- echo "Usage: $0 [-b] image-label image-name base-bits-dir [extra-bits-dir]"
- exit 1
-fi
-
-LABEL=`echo "$1" | tr '[:lower:]' '[:upper:]'`; shift
-NAME="$1"; shift
-
publisher="The FreeBSD Project. https://www.FreeBSD.org/"
echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab"
makefs -t cd9660 $bootable -o rockridge -o label="$LABEL" -o publisher="$publisher" "$NAME" "$@"