| #! /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 |