summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/refind-bin')
-rwxr-xr-xsys-boot/refind-bin/files/refind-install80
-rw-r--r--sys-boot/refind-bin/files/refind-mkconfig177
-rw-r--r--sys-boot/refind-bin/files/refind.d-gentoo120
-rw-r--r--sys-boot/refind-bin/files/refind.default180
4 files changed, 0 insertions, 557 deletions
diff --git a/sys-boot/refind-bin/files/refind-install b/sys-boot/refind-bin/files/refind-install
deleted file mode 100755
index 35b1a01..0000000
--- a/sys-boot/refind-bin/files/refind-install
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/bin/bash
-#
-# script to install rEFInd
-#
-# Usage:
-#
-# refind-install
-#
-# This program is copyright (c) 2012 by David P. Crandall
-# It is released under the terms of the GNU GPL, version 3.
-# It is based on the work of Roderick W. Smith from the
-# install.sh script in the rEFInd package.
-#
-# Revision history:
-#
-# 0.4.5 -- Initial version
-#
-# Note: version numbers match those of the rEFInd package
-# with which this script first appeared.
-
-InstallIt="0"
-
-CpuType=$(uname -m)
-if [[ $CpuType == 'x86_64' ]] ; then
- Refind="refind_x64.efi"
-elif [[ $CpuType == 'i386' || $CpuType == 'i486' || $CpuType == 'i586' || $CpuType == 'i686' ]] ; then
- Refind="refind_ia32.efi"
- ewarn "CAUTION: This Linux installation uses a 32-bit kernel. 32-bit EFI-based"
- ewarn "computers are VERY RARE. If you've installed a 32-bit version of Linux"
- ewarn "on a 64-bit computer, you should manually install the 64-bit version of"
- ewarn "rEFInd. Installation will now proceed presuming a 32-bit EFI."
-else
- echo
- echo "Unknown CPU type '$CpuType'; aborting!"
- echo
- exit
-fi
-
-Efibootmgr=$(which efibootmgr 2> /dev/null)
-if [[ $Efibootmgr ]] ; then
- modprobe efivars &> /dev/null
- EspLine=$(df /boot/efi | grep boot)
- InstallPart=$(echo $EspLine | cut -d " " -f 6)
- InstallDisk=$(grep $InstallPart /etc/mtab | cut -d " " -f 1 | cut -c 1-8)
- PartNum=$(grep $InstallPart /etc/mtab | cut -d " " -f 1 | cut -c 9-10)
- TargetDir="/EFI/refind"
- EntryFilename=$TargetDir/$Refind
- EfiEntryFilename=$(echo ${EntryFilename//\//\\\})
- EfiEntryFilename2=$(echo ${EfiEntryFilename} | sed s/\\\\\\\\/\\\\\\\\\\\\\\\\/g)
- ExistingEntry=$($Efibootmgr -v | grep $EfiEntryFilename2)
- if [[ $ExistingEntry ]] ; then
- ExistingEntryBootNum=$(echo $ExistingEntry | cut -c 5-8)
- FirstBoot=$($Efibootmgr | grep BootOrder | cut -c 12-15)
- if [[ $ExistingEntryBootNum != $FirstBoot ]] ; then
- echo "An existing rEFInd boot entry exists, but isn't set as the default boot"
- echo "manager. The boot order is being adjusted to make rEFInd the default boot"
- echo "manager. If this is NOT what you want, you should use efibootmgr to"
- echo "manually adjust your EFI's boot order."
- $Efibootmgr -b $ExistingEntryBootNum -B &> /dev/null
- InstallIt="1"
- fi
- else
- InstallIt="1"
- fi
- if [[ $InstallIt == "1" ]] ; then
- echo "Installing rEFInd as default boot manager"
- $Efibootmgr -c -l $EfiEntryFilename -L rEFInd -d $InstallDisk -p $PartNum &> /dev/null
- if [[ $? != 0 ]] ; then
- echo
- echo "ALERT: There were problems running the efibootmgr program! You may need to"
- echo "rename the rEFInd binary to the default name (EFI/boot/bootx64.efi"
- echo "on x86-64 systems or EFI/boot/bootia32.efi on x86 systems) to have it run!"
- echo
- fi
- fi
-else
- echo
- echo "Could not locate the efibootmgr program."
- echo
-fi
diff --git a/sys-boot/refind-bin/files/refind-mkconfig b/sys-boot/refind-bin/files/refind-mkconfig
deleted file mode 100644
index 560503d..0000000
--- a/sys-boot/refind-bin/files/refind-mkconfig
+++ /dev/null
@@ -1,177 +0,0 @@
-#!/usr/bin/env python
-#
-# script to automate creation of rEFInd configuration files
-#
-# Usage:
-#
-# refind-mkconfig
-#
-# This program is copyright (c) 2012 by David P. Crandall
-# It is released under the terms of the GNU GPL, version 3.
-#
-# Revision history:
-#
-# 0.4.5 -- Initial version
-#
-# Note: version numbers match those of the rEFInd package
-# with which this script first appeared.
-
-import os, re
-from collections import OrderedDict, deque
-from string import Template
-
-class _Template(Template):
- idpattern = '[0-9]+'
-
-class _Parser(object):
- def __init__(self, files):
- self.files = files
- self.state = pattern
- self.stanzas = OrderedDict()
- self.header = None
- self.menu = None
-
- def process(self, lines):
- remaining = self.state.process(lines, self)
- if remaining:
- self.process(remaining)
-
- def getstanzas(self):
- for file in self.files:
- with open(file, 'r') as sf:
- lines = deque(sf.readlines())
- self.process(lines)
- return self.stanzas
-
-class _Pattern(object):
- def __init__(self):
- self.header = re.compile("^\[(.+)\]")
-
- def process(self, lines, parser):
- line = lines.popleft()
- match = self.header.match(line)
- if match:
- parser.header = match.group(1)
- parser.stanzas[parser.header] = OrderedDict() if parser.header not in parser.stanzas
- parser.state = transition
- return lines
-
-class _Menustart(object):
- def __init__():
- self.start = re.compile("^menuentry\s+(.+)\s+\{")
-
- def process(self, lines, parser):
- line = lines.popleft()
- match = self.start.match(line)
- if match:
- parser.menu = match.group(1)
- parser.stanzas[parser.header][parser.menu] = [line]
- parser.state = menu_end
- return lines
-
-class _Menuend(object):
- def __init__():
- self.end = re.compile("^\}")
-
- def process(self, lines, parser):
- line = lines.popleft()
- parser.stanzas[parser.header][parser.menu].append(line)
- if self.end.match(line):
- parser.state = transition
- return lines
-
-class _Transition(object):
- def process(self, lines, parser):
- if pattern.header.match(lines[0]):
- parser.state = pattern
- elif menu_start.start.match(lines[0])
- parser.state = menu_start
- else
- discard = lines.popleft()
- return lines
-
-class Mkconfig(object):
- def __init__(self):
- self.efi = self._findEFI()
- self.conf = os.path.join(self.efi, "/EFI/refind/refind.test")
- self.comment = re.compile('^\s*#')
- self.stanzas = OrderedDict()
- self.stanzaFiles = sum([[os.path.join(r, f) for f in fl]
- for r, d, fl in os.walk("/etc/refind.d")], [])
-
- blockdir = re.compile('^' + self.efi + '/EFI/(refind|tools)')
- stripdir = re.compile('^' + self.efi)
- efiFiles = [[os.path.join(r, f) for f in fl]
- for r, d, fl in os.walk(self.efi) if not blockdir.match(r)]
- # flatten generated lists
- efiFiles = sum(efiFiles, [])
- # sort by modification date of files, newest first
- efiFiles = sorted(efiFiles, reverse=True, key=lambda i: os.path.getmtime(i))
- # strip mount path
- self.efiFiles = [stripdir.sub('', f) for f in efiFiles]
-
- def _findEFI(self):
- if os.path.ismount("/boot/efi"):
- mntpath = os.path.abspath("/boot/efi")
- elif os.path.ismount("/boot"):
- mntpath = os.path.abspath("/boot")
- else
- print "The EFI partition could not be found at /boot or /boot/efi. Exiting"
- exit
- with open("/proc/mounts") as mnts:
- for line in mnts:
- words = re.split('\s+', line)
- if words[1] == mntpath:
- if words[2] == "vfat":
- return mntpath
- print "EFI partition must be vfat, but the filesystem is " + words[3] + ". Exiting"
- exit
-
- def _getstanzas(self):
- p =
- for file in self.stanzaFiles:
- with open(file, 'r') as sf:
- lines = sf.readlines()
-
-
- def writeGlobalOptions(self):
- with open(self.conf, 'w') as newconf:
- newconf.write("# This file has been automatically generated by refind-mkconfig.\n")
- newconf.write("# Manual edits will be overwritten the next time refind-mkconfig\n")
- newconf.write("# is invoked. To change settings, edit /etc/default/refind and\n")
- newconf.write("# the files located at /etc/refind.d.\n\n")
- # Get global options
- newconf.write("# Global options\n")
- with open("/etc/default/refind") as default:
- for line in default:
- if NOT self.comment.match(line):
- newconf.write(line + "\n")
-
- def writeStanzas(self):
- # Get OS stanzas
- with open(self.conf, 'a') as newconf:
- newconf.write("\n# OS stanzas\n\n")
- p = _Parser(self.stanzaFiles)
- self.stanzas = p.getstanzas
- for pk in self.stanzas:
- pattern = re.compile(pk)
- for file in self.efiFiles:
- match = pattern.match(file)
- if match:
- values = {str(i): match.group(i) for i in range(pattern.groups)}
- for mk in self.stanzas[pk]:
- for line in self.stanzas[pk][mk]:
- t = _Template(line)
- newconf.write(t.substitute(values))
- newconf.write("\n")
-
-pattern = _Pattern()
-menu_start = _Menustart()
-menu_end = _Menuend()
-transition = _Transition()
-
-if __name__ == '__main__':
- cfg = Mkconfig()
- cfg.writeGlobalOptions
- cfg.writeStanzas
- print "New refind.conf written to " + cfg.efi \ No newline at end of file
diff --git a/sys-boot/refind-bin/files/refind.d-gentoo b/sys-boot/refind-bin/files/refind.d-gentoo
deleted file mode 100644
index 728c742..0000000
--- a/sys-boot/refind-bin/files/refind.d-gentoo
+++ /dev/null
@@ -1,120 +0,0 @@
-#
-# script to install rEFInd
-#
-# Usage:
-#
-# refind-mkconfig
-#
-# This program is copyright (c) 2012 by David P. Crandall
-# It is released under the terms of the GNU GPL, version 3.
-#
-# Revision history:
-#
-# 0.4.5 -- Initial version
-#
-# Note: version numbers match those of the rEFInd package
-# with which this script first appeared.
-#
-# Sample manual configuration stanzas. Each begins with the "menuentry"
-# keyword followed by a name that's to appear in the menu (use quotes
-# if you want the name to contain a space) and an open curly brace
-# ("{"). Each entry ends with a close curly brace ("}"). Common
-# keywords within each stanza include:
-#
-# volume - identifies the filesystem from which subsequent files
-# are loaded. You can specify the volume by label or by
-# a number followed by a colon (as in "0:" for the first
-# filesystem or "1:" for the second).
-# loader - identifies the boot loader file
-# initrd - Specifies an initial RAM disk file
-# icon - specifies a custom boot loader icon
-# ostype - OS type code to determine boot options available by
-# pressing Insert. Valid values are "MacOS", "Linux",
-# "Windows", and "XOM". Case-sensitive.
-# graphics - set to "on" to enable graphics-mode boot (useful
-# mainly for MacOS) or "off" for text-mode boot.
-# Default is auto-detected from loader filename.
-# options - sets options to be passed to the boot loader; use
-# quotes if more than one option should be passed or
-# if any options use characters that might be changed
-# by rEFInd parsing procedures (=, /, #, or tab).
-# disabled - use alone or set to "yes" to disable this entry.
-#
-# Note that you can use either DOS/Windows/EFI-style backslashes (\)
-# or Unix-style forward slashes (/) as directory separators. Either
-# way, all file references are on the ESP from which rEFInd was
-# launched.
-# Use of quotes around parameters causes them to be interpreted as
-# one keyword, and for parsing of special characters (spaces, =, /,
-# and #) to be disabled. This is useful mainly with the "options"
-# keyword. Use of quotes around parameters that specify filenames is
-# permissible, but you must then use backslashes instead of slashes,
-# except when you must pass a forward slash to the loader, as when
-# passing a root= option to a Linux kernel.
-
-# Below are several sample boot stanzas. All are disabled by default.
-# Find one similar to what you need, copy it, remove the "disabled" line,
-# and adjust the entries to suit your needs.
-
-# A sample entry for a Linux 3.3 kernel with its new EFI boot stub
-# support on a filesystem called "KERNELS". This entry includes
-# Linux-specific boot options and specification of an initial RAM disk.
-# Note uses of Linux-style forward slashes, even in the initrd
-# specification. Also note that a leading slash is optional in file
-# specifications.
-
-[(.*)/vmlinuz-((.*)-gentoo)(\.old)?]
-menuentry "Gentoo ${3}" {
- icon EFI/refind/icons/os_gentoo.icns
- ostype Linux
- volume ESP
- loader ${0}
- initrd ${1}/initramfs-genkernel-x86_64-${2}
- options "domdadm root=LABEL=gentoo"
-}
-
-menuentry Linux {
- icon EFI/refind/icons/os_linux.icns
- volume KERNELS
- loader bzImage-3.3.0-rc7
- initrd initrd-3.3.0.img
- options "ro root=UUID=5f96cafa-e0a7-4057-b18f-fa709db5b837"
- disabled
-}
-
-# A sample entry for loading Ubuntu using its standard name for
-# its GRUB 2 boot loader. Note uses of Linux-style forward slashes
-[ubuntu/grubx64.efi]
-menuentry Ubuntu {
- loader /EFI/ubuntu/grubx64.efi
- icon /EFI/refined/icons/os_linux.icns
- disabled
-}
-
-# A minimal ELILO entry, which probably offers nothing that
-# auto-detection can't accomplish.
-[elilo.efi]
-menuentry "ELILO" {
- loader \EFI\elilo\elilo.efi
- disabled
-}
-
-# Like the ELILO entry, this one offers nothing that auto-detection
-# can't do; but you might use it if you want to disable auto-detection
-# but still boot Windows....
-menuentry "Windows 7" {
- loader \EFI\Microsoft\Boot\bootmgfw.efi
- disabled
-}
-
-# EFI shells are programs just like boot loaders, and can be
-# launched in the same way. You can pass a shell the name of a
-# script that it's to run on the "options" line. The script
-# could initialize hardware and then launch an OS, or it could
-# do something entirely different.
-menuentry "Windows via shell script" {
- icon \EFI\refind\icons\os_win.icns
- loader \EFI\tools\shell.efi
- options "fs0:\EFI\tools\launch_windows.nsh"
- disabled
-} \ No newline at end of file
diff --git a/sys-boot/refind-bin/files/refind.default b/sys-boot/refind-bin/files/refind.default
deleted file mode 100644
index 2067dd3..0000000
--- a/sys-boot/refind-bin/files/refind.default
+++ /dev/null
@@ -1,180 +0,0 @@
-#
-# refind.conf
-# Configuration file for the rEFInd boot menu
-#
-
-# Timeout in seconds for the main menu screen. Setting the timeout to 0
-# disables automatic booting (i.e., no timeout).
-#
-timeout 20
-
-# Hide user interface elements for personal preference or to increase
-# security:
-# banner - the rEFInd title banner
-# label - text label in the menu
-# singleuser - remove the submenu options to boot Mac OS X in single-user
-# or verbose modes; affects ONLY MacOS X
-# hwtest - the submenu option to run Apple's hardware test
-# arrows - scroll arrows on the OS selection tag line
-# all - all of the above
-#
-#hideui singleuser
-#hideui all
-
-# Set the name of a subdirectory in which icons are stored. Icons must
-# have the same names they have in the standard directory. The directory
-# name is specified relative to the main rEFInd binary's directory. If
-# an icon can't be found in the specified directory, an attempt is made
-# to load it from the default directory; thus, you can replace just some
-# icons in your own directory and rely on the default for others.
-# Default is "icons".
-#
-#icons_dir myicons
-
-# Use a custom title banner instead of the rEFInd icon and name. The file
-# path is relative to the directory where refind.efi is located. The color
-# in the top left corner of the image is used as the background color
-# for the menu screens. Currently uncompressed BMP images with color
-# depths of 24, 8, 4 or 1 bits are supported.
-#
-#banner hostname.bmp
-
-# Custom images for the selection background. There is a big one (144 x 144)
-# for the OS icons, and a small one (64 x 64) for the function icons in the
-# second row. If only a small image is given, that one is also used for
-# the big icons by stretching it in the middle. If only a big one is given,
-# the built-in default will be used for the small icons.
-#
-# Like the banner option above, these options take a filename of
-# an uncompressed BMP image file.
-#
-#selection_big selection-big.bmp
-#selection_small selection-small.bmp
-
-# Use text mode only. When enabled, this option forces rEFInd into text mode.
-#
-#textonly
-
-# Set the screen's video resolution. Pass this option two values,
-# corresponding to the X and Y resolutions. Note that not all resolutions
-# are supported. On UEFI systems, passing an incorrect value results in a
-# message being shown on the screen to that effect, along with a list of
-# supported modes. On EFI 1.x systems (e.g., Macintoshes), setting an
-# incorrect mode silently fails. On both types of systems, setting an
-# incorrect resolution results in the default resolution being used.
-# A resolution of 1024x768 usually works, but higher values often don't.
-# Default is "0 0" (use the system default resolution, usually 800x600).
-#
-#resolution 1024 768
-
-# Launch specified OSes in graphics mode. By default, rEFInd switches
-# to text mode and displays basic pre-launch information when launching
-# all OSes except OS X. Using graphics mode can produce a more seamless
-# transition, but displays no information, which can make matters
-# difficult if you must debug a problem. Also, on at least one known
-# computer, using graphics mode prevents a crash when using the Linux
-# kernel's EFI stub loader.
-# Valid options:
-# osx - Mac OS X
-# linux - A Linux kernel with EFI stub loader
-# elilo - The ELILO boot loader
-# grub - The GRUB (Legacy or 2) boot loader
-# windows - Microsoft Windows
-# Default value: osx
-#
-#use_graphics_for osx,linux
-
-# Which non-bootloader tools to show on the tools line, and in what
-# order to display them:
-# shell - the EFI shell
-# gptsync - the (dangerous) gptsync.efi utility
-# about - an "about this program" option
-# exit - a tag to exit from rEFInd
-# shutdown - shuts down the computer (a bug causes this to reboot EFI
-# systems)
-# reboot - a tag to reboot the computer
-# Default is shell,about,shutdown,reboot
-#
-#showtools shell, about, reboot
-
-# Directories in which to search for EFI drivers. These drivers can
-# provide filesystem support, give access to hard disks on plug-in
-# controllers, etc. In most cases none are needed, but if you add
-# EFI drivers and you want rEFInd to automatically load them, you
-# should specify one or more paths here. rEFInd always scans the
-# "drivers" subdirectory of its own installation directory; this
-# option specifies ADDITIONAL directories to scan.
-# Default is to scan no additional directories for EFI drivers
-#
-#scan_driver_dirs EFI/tools/drivers,drivers
-
-# Which types of boot loaders to search, and in what order to display them:
-# internal - internal EFI disk-based boot loaders
-# external - external EFI disk-based boot loaders
-# optical - EFI optical discs (CD, DVD, etc.)
-# hdbios - BIOS disk-based boot loaders
-# biosexternal - BIOS external boot loaders (USB, eSATA, etc.)
-# cd - BIOS optical-disc boot loaders
-# manual - use stanzas later in this configuration file
-# Default is internal,external,optical
-#
-#scanfor internal,external,optical
-
-# When scanning volumes for EFI boot loaders, rEFInd always looks for
-# Mac OS X's and Microsoft Windows' boot loaders in their normal locations,
-# and scans the root directory and every subdirectory of the /EFI directory
-# for additional boot loaders, but it doesn't recurse into these directories.
-# The also_scan_dirs token adds more directories to the scan list.
-# Directories are specified relative to the volume's root directory. This
-# option applies to ALL the volumes that rEFInd scans. If a specified
-# directory doesn't exist, it's ignored (no error condition results).
-# The default is to scan no additional directories.
-#
-#also_scan_dirs boot,EFI/linux/kernels
-
-# Directories that should NOT be scanned for boot loaders. By default,
-# rEFInd doesn't scan its own directory or the EFI/tools directory.
-# You can "blacklist" additional directories with this option, which
-# takes a list of directory names as options. You might do this to
-# keep EFI/boot/bootx64.efi out of the menu if that's a duplicate of
-# another boot loader or to exclude a directory that holds drivers
-# or non-bootloader utilities provided by a hardware manufacturer. If
-# a directory is listed both here and in also_scan_dirs, dont_scan_dirs
-# takes precedence.
-#
-#dont_scan_dirs EFI/boot,EFI/Dell
-
-# Scan for Linux kernels that lack a ".efi" filename extension. This is
-# useful for better integration with Linux distributions that provide
-# kernels with EFI stub loaders but that don't give those kernels filenames
-# that end in ".efi", particularly if the kernels are stored on a
-# filesystem that the EFI can read. When uncommented, this option causes
-# all files in scanned directories with names that begin with "vmlinuz"
-# or "bzImage" to be included as loaders, even if they lack ".efi"
-# extensions. The drawback to this option is that it can pick up kernels
-# that lack EFI stub loader support and other files. Most notably, if you
-# want to give a kernel a custom icon by placing an icon with the kernel's
-# filename but a ".icns" extension in the same directory as the kernel, this
-# option will cause the icon file to show up as a non-functional loader tag.
-# Default is to NOT scan for kernels without ".efi" extensions.
-#
-#scan_all_linux_kernels
-
-# Set the maximum number of tags that can be displayed on the screen at
-# any time. If more loaders are discovered than this value, rEFInd shows
-# a subset in a scrolling list. If this value is set too high for the
-# screen to handle, it's reduced to the value that the screen can manage.
-# If this value is set to 0 (the default), it's adjusted to the number
-# that the screen can handle.
-#
-#max_tags 0
-
-# Set the default menu selection. The available arguments match the
-# keyboard accelerators available within rEFInd. You may select the
-# default loader using:
-# - A digit between 1 and 9, in which case the Nth loader in the menu
-# will be the default.
-# - Any substring that corresponds to a portion of the loader's title
-# (usually the OS's name or boot loader's path).
-#
-#default_selection 1