summaryrefslogtreecommitdiffstats
path: root/util/grub.d/10_illumos.in
blob: a133e1b3fa6b5a3202b775e64b9e11f79663ed15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#! /bin/sh
set -e

# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009,2010,2011  Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.

prefix="@prefix@"
exec_prefix="@exec_prefix@"
datarootdir="@datarootdir@"
. "$pkgdatadir/grub-mkconfig_lib"

export TEXTDOMAIN=@PACKAGE@
export TEXTDOMAINDIR="@localedir@"

CLASS="--class os"

case "${GRUB_DISTRIBUTOR}" in
  *)
	OS="Illumos"
	CLASS="--class illumos ${CLASS}"
  ;;
esac

echo "menuentry '$(echo "$OS" | grub_quote)' ${CLASS} \$menuentry_id_option 'illumos-$(grub_get_device_id "${GRUB_DEVICE_BOOT}")' {"
save_default_entry | grub_add_tab
prepare_grub_to_access_device "${GRUB_DEVICE_BOOT}" | grub_add_tab
message="$(gettext_printf "Loading kernel of Illumos ...")"
  cat << EOF
	insmod gzio
	if cpuid -l ; then
		ISADIR=amd64
	else
		ISADIR=
	fi
	zfs-bootfs $($grub_mkrelpath /) ZFS_BOOTFS
        echo '$(echo "$message" | grub_quote)'
	multiboot $($grub_mkrelpath /platform/i86pc/kernel)/\$ISADIR/unix /platform/i86pc/kernel/\$ISADIR/unix -B \$ZFS_BOOTFS,console=text
	module $($grub_mkrelpath /platform/i86pc)/\$ISADIR/boot_archive /platform/i86pc/\$ISADIR/boot_archive
}
EOF