1#!/usr/bin/env bash
2
3# Copyright 2016 The Fuchsia Authors
4#
5# Use of this source code is governed by a MIT-style
6# license that can be found in the LICENSE file or at
7# https://opensource.org/licenses/MIT
8
9set -e -u
10
11DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
12
13PROJECT="x64"
14PROJECT_DIR="$DIR/../build-$PROJECT"
15BOOTDATA="${1:-$PROJECT_DIR/bootdata.bin}"
16
17(cd "$DIR/.."; ENABLE_NEW_BOOT=true $DIR/make-parallel $PROJECT) || exit
18
19if ! which xorriso grub-mkrescue &> /dev/null; then
20  echo "ERROR: You must install xorriso and grub-mkrescue"
21  exit
22fi
23
24trap 'rm -rf "$TEMP"' EXIT HUP INT TERM
25TEMP="$(mktemp -d)"
26
27mkdir -p "$TEMP/boot/grub"
28cp "$PROJECT_DIR/multiboot.bin" "$PROJECT_DIR/zircon.zbi" "$TEMP/boot/"
29cat > "$TEMP/boot/grub/grub.cfg" << \EOF
30set timeout=0
31menuentry "Zircon" {
32  multiboot /boot/multiboot.bin
33  module /boot/initrd.bin
34}
35EOF
36grub-mkrescue -o "$PROJECT_DIR/zircon.iso" "$TEMP"
37