diff options
Diffstat (limited to 'kernels/xen/09_xen')
-rw-r--r-- | kernels/xen/09_xen | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/kernels/xen/09_xen b/kernels/xen/09_xen deleted file mode 100644 index 47d357d99..000000000 --- a/kernels/xen/09_xen +++ /dev/null @@ -1,231 +0,0 @@ -#!/usr/bin/env bash - -## -## grub-mkconfig helper script specific to Parabola GNU/Linux-libre -## Contributed by "Keshav Amburay" <the ddoott ridikulus ddoott rat aatt geemmayil ddoott ccoomm> -## Rebranded for Parabola by "André Silva" <emulatorman@parabola.nu> -## Updated on 08 February 2014 -## -## Script based on do_grub_config() function in Arch (the GNU/Linux distribution) Archboot ISO Installer/Setup script -## Some parts taken from /etc/grub.d/10_linux script shipped by GRUB(2) upstream -## -## This script can be freely distributed and/or modified -## 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. -## -## This script 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. -## - -## Adapted for use with the xen package, to ensure feature comparity -## Modified by "David Sutton" <kantras - gmail com> - -_FUNC_GRUB_FILE_PRESENT() { - - [[ -z "${GRUB_PLATFORM}" ]] && GRUB_PLATFORM="x86" - - if [[ "${GRUB_PLATFORM}" == "x86" ]]; then - check="--is-x86-linux32" - elif [[ "${GRUB_PLATFORM}" == "i386-xen-pae" ]]; then - check="--is-i386-xen-pae-domu" - elif [[ "${GRUB_PLATFORM}" == "x86_64-xen" ]]; then - check="--is-x86_64-xen-domu" - else - check="--is-${GRUB_PLATFORM}-linux" - fi - - case "${GRUB_PLATFORM}" in - x86) - list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do - if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi - done)" ;; - *) - list="$(for i in "${GRUB_ROOT}"/boot/vmlinuz-linux* ; do - if grub_file_is_not_garbage "${i}" && "${grub_file}" ${check} "${i}" ; then echo -n "${i} " ; fi - done)" ;; - esac -} - -set -e - -prefix="/usr" -exec_prefix="${prefix}" -datarootdir="/usr/share" -datadir="${datarootdir}" -sysconfdir="/etc" - -. "${datarootdir}/grub/grub-mkconfig_lib" - -. "${sysconfdir}/default/grub" - -export XEN_HYPERVISOR_CMDLINE="xsave=1" -export XEN_LINUX_CMDLINE="console=tty0" - -[[ -r "${sysconfdir}/xen/grub.conf" ]] && . "${sysconfdir}/xen/grub.conf" - -[[ -z "${XEN_LINUX_CMDLINE_OVERRIDE}" ]] && XEN_LINUX_CMDLINE_OVERRIDE="0" - -export TEXTDOMAIN="grub" -export TEXTDOMAINDIR="${datarootdir}/locale" - -CLASS="--class xen --class parabola --class gnu-linux --class gnu --class os" - -[[ "${grub_file}" != "" ]] && _FUNC_GRUB_FILE_PRESENT - -BOOT_PART_FS_UUID="$(${grub_probe} --target="fs_uuid" "/boot" 2>/dev/null)" -BOOT_PART_HINTS_STRING="$(${grub_probe} --target="hints_string" "/boot" 2>/dev/null || true)" -BOOT_PART_FS="$(${grub_probe} --target="fs" "/boot" 2>/dev/null)" - -ROOT_PART_GRUB_DEVICE="$(${grub_probe} --target=device / || true)" -ROOT_PART_FS="$(${grub_probe} --device ${ROOT_PART_GRUB_DEVICE} --target=fs 2> /dev/null || echo "unknown")" - -if [[ "${GRUB_LINUX_ROOT_DEVICE}" == "" ]]; then - - case "${ROOT_PART_FS}" in - btrfs) - rootsubvol="$(make_system_path_relative_to_its_root /)" - rootsubvol="${rootsubvol#/}" - if [[ "${rootsubvol}" != "" ]]; then - GRUB_LINUX_ROOT_DEVICE="subvol=${rootsubvol}" - fi - ;; - zfs) - rpool="$(${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true)" - bootfs="$(make_system_path_relative_to_its_root / | sed -e "s,@$,,")" - GRUB_LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs}" - ;; - esac - - if [[ "${GRUB_DEVICE_UUID}" == "" ]] || \ - [[ "${GRUB_DISABLE_LINUX_UUID}" == "true" ]] || \ - [[ ! -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ]] || \ - uses_abstraction "${GRUB_DEVICE}" lvm ; then - GRUB_LINUX_ROOT_DEVICE="${GRUB_DEVICE}" - else - GRUB_LINUX_ROOT_DEVICE="UUID=${GRUB_DEVICE_UUID}" - fi -fi - -[[ "${GRUB_LINUX_PARAMS}" == "" ]] && GRUB_LINUX_PARAMS="${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" -if [[ "${XEN_LINUX_CMDLINE_OVERRIDE}" == "0" ]]; then - GRUB_LINUX_PARAMS="${GRUB_LINUX_PARAMS} ${XEN_LINUX_CMDLINE}" -else - GRUB_LINUX_PARAMS="${XEN_LINUX_CMDLINE}" -fi - -xen_list=`for i in /boot/xen-*.gz /xen-*.gz ; do - if grub_file_is_not_garbage "$i" ; then echo -n "$i "; fi -done` - -while [ "x$xen_list" != "x" ] ; do - xen=`version_find_latest $xen_list` - echo "Found Xen hypervisor image: $xen" >&2 - XEN_BASENAME=`basename $xen` - XEN_VERSION=`echo $XEN_BASENAME | sed -e "s,^[^0-9]*-,,g" | sed -e "s,.gz,,g"` - - for _KERNEL_ in ${list} ; do - - echo "Found linux image: ${_KERNEL_}" >&2 - - basename="$(basename "${_KERNEL_}")" - dirname="$(dirname "${_KERNEL_}")" - REAL_DIR="$(make_system_path_relative_to_its_root "${dirname}")" - - _KERNEL_FILE_="$(echo ${_KERNEL_} | sed 's,/boot/,,g')" - _KERNEL_PKG_="pkg-$(echo ${_KERNEL_FILE_} | sed 's,vmlinuz-,,g')" - - _INITRAMFS_="${_KERNEL_FILE_/vmlinuz-/initramfs-}.img" - - if [[ -e "/boot/${_INITRAMFS_}" ]]; then - - echo "Found initramfs image: /boot/${_INITRAMFS_}" >&2 - - cat << EOF - -menuentry "Xen ${XEN_VERSION} / Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel" ${CLASS} { - $(save_default_entry) - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - set gfxpayload=keep - insmod ${BOOT_PART_FS} - if [ x\$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID} - else - search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID} - fi - echo '$(printf "Loading Xen %s ..." ${XEN_VERSION})' - multiboot ${REAL_DIR}/${XEN_BASENAME} ${REAL_DIR}/${XEN_BASENAME} ${XEN_HYPERVISOR_CMDLINE} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...' - module ${REAL_DIR}/${_KERNEL_FILE_} ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel initramfs ...' - module ${REAL_DIR}/${_INITRAMFS_} -} - -EOF - fi - - _INITRAMFS_FALLBACK_="${_KERNEL_FILE_/vmlinuz-/initramfs-}-fallback.img" - - if [[ -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then - - echo "Found fallback initramfs image: /boot/${_INITRAMFS_FALLBACK_}" >&2 - - cat << EOF - -menuentry "Xen ${XEN_VERSION} / Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (fallback initramfs)" ${CLASS} { - $(save_default_entry) - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - set gfxpayload=keep - insmod ${BOOT_PART_FS} - if [ x\$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID} - else - search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID} - fi - echo '$(printf "Loading Xen %s ..." ${XEN_VERSION})' - multiboot ${REAL_DIR}/${XEN_BASENAME} ${REAL_DIR}/${XEN_BASENAME} ${XEN_HYPERVISOR_CMDLINE} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...' - module ${REAL_DIR}/${_KERNEL_FILE_} ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel fallback initramfs ...' - module ${REAL_DIR}/${_INITRAMFS_FALLBACK_} -} - -EOF - fi - - if [[ ! -e "/boot/${_INITRAMFS_}" ]] && [[ ! -e "/boot/${_INITRAMFS_FALLBACK_}" ]]; then - cat << EOF - -menuentry "Xen ${XEN_VERSION} / Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel (no initramfs)" ${CLASS} { - $(save_default_entry) - if [ x\$feature_all_video_module = xy ]; then - insmod all_video - fi - set gfxpayload=keep - insmod ${BOOT_PART_FS} - if [ x\$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root ${BOOT_PART_HINTS_STRING} ${BOOT_PART_FS_UUID} - else - search --no-floppy --fs-uuid --set=root ${BOOT_PART_FS_UUID} - fi - echo '$(printf "Loading Xen %s ..." ${XEN_VERSION})' - multiboot ${REAL_DIR}/${XEN_BASENAME} ${REAL_DIR}/${XEN_BASENAME} ${XEN_HYPERVISOR_CMDLINE} - echo 'Loading Parabola GNU/Linux-libre ${_KERNEL_PKG_} kernel ...' - module ${REAL_DIR}/${_KERNEL_FILE_} ${REAL_DIR}/${_KERNEL_FILE_} root=${GRUB_LINUX_ROOT_DEVICE} rw ${GRUB_LINUX_PARAMS} -} - -EOF - fi - - done - - xen_list=`echo $xen_list | tr ' ' '\n' | grep -vx $xen | tr '\n' ' '` -done - - |