From 056131c490721cf57b7917eb467447266b257656 Mon Sep 17 00:00:00 2001 From: crocket Date: Sat, 28 Aug 2010 15:05:56 -0400 Subject: system/grub2: Build a graphical terminal font. Signed-off-by: dsomero --- system/grub2/README | 13 +- system/grub2/doinst.sh | 2 - system/grub2/grub.INFO | 2557 +++++++++++++++++++++++++++++++++++++++++ system/grub2/grub.info | 2557 ----------------------------------------- system/grub2/grub2.SlackBuild | 44 +- system/grub2/slack-desc | 8 +- 6 files changed, 2587 insertions(+), 2594 deletions(-) create mode 100644 system/grub2/grub.INFO delete mode 100644 system/grub2/grub.info (limited to 'system/grub2') diff --git a/system/grub2/README b/system/grub2/README index 0079f7d26b..3c3ba67079 100644 --- a/system/grub2/README +++ b/system/grub2/README @@ -2,13 +2,8 @@ GRUB2 (the GRand Unified Bootloader) GNU GRUB is a multiboot boot loader. -If you want to use a big font in a graphical terminal of grub2, -try the below command. -grub-mkfont -o /usr/share/grub/unifont.pf2 -abv -s [font size] /usr/share/ -fonts/unifont/unifont.ttf +If you want to set the size of font then give FONT_SIZE=size +option to the list of build options. +The default size is 16. -If you want to use a fixed sized small font in gfxterm, -try this. grub-mkfont -o /usr/share/grub/unifont.pf2 -v /usr/share/fonts/ -unifont/unifont.pcf.gz - -Requires: osprober unifont help2man \ No newline at end of file +This requires osprober, unifont, and help2man. diff --git a/system/grub2/doinst.sh b/system/grub2/doinst.sh index 6e0020b4b9..92eb273a89 100644 --- a/system/grub2/doinst.sh +++ b/system/grub2/doinst.sh @@ -10,5 +10,3 @@ config() { fi # Otherwise, we leave the .new copy for the admin to consider... } - - diff --git a/system/grub2/grub.INFO b/system/grub2/grub.INFO new file mode 100644 index 0000000000..643b302fd2 --- /dev/null +++ b/system/grub2/grub.INFO @@ -0,0 +1,2557 @@ +This is docs/grub.info, produced by makeinfo version 4.13 from +docs/grub.texi. + +This manual is for GNU GRUB (version 1.98, 2 June 2010). + + Copyright (C) 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free +Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.2 or any later version published by the Free Software + Foundation; with no Invariant Sections. + +INFO-DIR-SECTION Kernel +START-INFO-DIR-ENTRY +* GRUB: (grub). The GRand Unified Bootloader +* grub-install: (grub)Invoking grub-install. Install GRUB on your drive +* grub-mkconfig: (grub)Invoking grub-mkconfig. Generate GRUB configuration +END-INFO-DIR-ENTRY + + +File: grub.info, Node: Top, Next: Introduction, Up: (dir) + +GNU GRUB manual +*************** + +This is the documentation of GNU GRUB, the GRand Unified Bootloader, a +flexible and powerful boot loader program for a wide range of +architectures. + + This edition documents version 1.98. + + This manual is for GNU GRUB (version 1.98, 2 June 2010). + + Copyright (C) 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free +Software Foundation, Inc. + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation License, + Version 1.2 or any later version published by the Free Software + Foundation; with no Invariant Sections. + +* Menu: + +* Introduction:: Capturing the spirit of GRUB +* Naming convention:: Names of your drives in GRUB +* Installation:: Installing GRUB on your drive +* Booting:: How to boot different operating systems +* Configuration:: Writing your own configuration file +* Network:: Downloading OS images from a network +* Serial terminal:: Using GRUB via a serial line +* Vendor power-on keys:: Changing GRUB behaviour on vendor power-on keys +* Preset Menu:: Embedding a configuration file into GRUB +* Images:: GRUB image files +* Filesystem:: Filesystem syntax and semantics +* Interface:: The menu and the command-line +* Commands:: The list of available builtin commands +* Troubleshooting:: Error messages produced by GRUB +* Invoking grub-install:: How to use the GRUB installer +* Invoking grub-mkconfig:: Generate a GRUB configuration file +* Obtaining and Building GRUB:: How to obtain and build GRUB +* Reporting bugs:: Where you should send a bug report +* Future:: Some future plans on GRUB +* Internals:: Hacking GRUB +* Copying This Manual:: Copying This Manual +* Index:: + + +File: grub.info, Node: Introduction, Next: Naming convention, Prev: Top, Up: Top + +1 Introduction to GRUB +********************** + +* Menu: + +* Overview:: What exactly GRUB is and how to use it +* History:: From maggot to house fly +* Features:: GRUB features +* Role of a boot loader:: The role of a boot loader + + +File: grub.info, Node: Overview, Next: History, Up: Introduction + +1.1 Overview +============ + +Briefly, a "boot loader" is the first software program that runs when a +computer starts. It is responsible for loading and transferring +control to an operating system "kernel" software (such as Linux or GNU +Mach). The kernel, in turn, initializes the rest of the operating +system (e.g. a GNU system). + + GNU GRUB is a very powerful boot loader, which can load a wide +variety of free operating systems, as well as proprietary operating +systems with chain-loading(1) (*note Overview-Footnote-1::). GRUB is +designed to address the complexity of booting a personal computer; both +the program and this manual are tightly bound to that computer platform, +although porting to other platforms may be addressed in the future. + + One of the important features in GRUB is flexibility; GRUB +understands filesystems and kernel executable formats, so you can load +an arbitrary operating system the way you like, without recording the +physical position of your kernel on the disk. Thus you can load the +kernel just by specifying its file name and the drive and partition +where the kernel resides. + + When booting with GRUB, you can use either a command-line interface +(*note Command-line interface::), or a menu interface (*note Menu +interface::). Using the command-line interface, you type the drive +specification and file name of the kernel manually. In the menu +interface, you just select an OS using the arrow keys. The menu is +based on a configuration file which you prepare beforehand (*note +Configuration::). While in the menu, you can switch to the command-line +mode, and vice-versa. You can even edit menu entries before using them. + + In the following chapters, you will learn how to specify a drive, a +partition, and a file name (*note Naming convention::) to GRUB, how to +install GRUB on your drive (*note Installation::), and how to boot your +OSes (*note Booting::), step by step. + + +File: grub.info, Node: Overview-Footnotes, Up: Overview + + (1) "chain-load" is the mechanism for loading unsupported operating +systems by loading another boot loader. It is typically used for +loading DOS or Windows. + + +File: grub.info, Node: History, Next: Features, Prev: Overview, Up: Introduction + +1.2 History of GRUB +=================== + +GRUB originated in 1995 when Erich Boleyn was trying to boot the GNU +Hurd with the University of Utah's Mach 4 microkernel (now known as GNU +Mach). Erich and Brian Ford designed the Multiboot Specification +(*note Multiboot Specification: (multiboot)Top.), because they were +determined not to add to the large number of mutually-incompatible PC +boot methods. + + Erich then began modifying the FreeBSD boot loader so that it would +understand Multiboot. He soon realized that it would be a lot easier to +write his own boot loader from scratch than to keep working on the +FreeBSD boot loader, and so GRUB was born. + + Erich added many features to GRUB, but other priorities prevented him +from keeping up with the demands of its quickly-expanding user base. In +1999, Gordon Matzigkeit and Yoshinori K. Okuji adopted GRUB as an +official GNU package, and opened its development by making the latest +sources available via anonymous CVS. *Note Obtaining and Building +GRUB::, for more information. + + +File: grub.info, Node: Features, Next: Role of a boot loader, Prev: History, Up: Introduction + +1.3 GRUB features +================= + +The primary requirement for GRUB is that it be compliant with the +"Multiboot Specification", which is described in *note Multiboot +Specification: (multiboot)Top. + + The other goals, listed in approximate order of importance, are: + + * Basic functions must be straightforward for end-users. + + * Rich functionality to support kernel experts and designers. + + * Backward compatibility for booting FreeBSD, NetBSD, OpenBSD, and + Linux. Proprietary kernels (such as DOS, Windows NT, and OS/2) are + supported via a chain-loading function. + + Except for specific compatibility modes (chain-loading and the Linux +"piggyback" format), all kernels will be started in much the same state +as in the Multiboot Specification. Only kernels loaded at 1 megabyte or +above are presently supported. Any attempt to load below that boundary +will simply result in immediate failure and an error message reporting +the problem. + + In addition to the requirements above, GRUB has the following +features (note that the Multiboot Specification doesn't require all the +features that GRUB supports): + +Recognize multiple executable formats + Support many of the "a.out" variants plus "ELF". Symbol tables are + also loaded. + +Support non-Multiboot kernels + Support many of the various free 32-bit kernels that lack Multiboot + compliance (primarily FreeBSD, NetBSD, OpenBSD, and Linux). + Chain-loading of other boot loaders is also supported. + +Load multiples modules + Fully support the Multiboot feature of loading multiple modules. + +Load a configuration file + Support a human-readable text configuration file with preset boot + commands. You can also load another configuration file dynamically + and embed a preset configuration file in a GRUB image file. The + list of commands (*note Commands::) are a superset of those + supported on the command-line. An example configuration file is + provided in *note Configuration::. + +Provide a menu interface + A menu interface listing preset boot commands, with a programmable + timeout, is available. There is no fixed limit on the number of + boot entries, and the current implementation has space for several + hundred. + +Have a flexible command-line interface + A fairly flexible command-line interface, accessible from the menu, + is available to edit any preset commands, or write a new boot + command set from scratch. If no configuration file is present, + GRUB drops to the command-line. + + The list of commands (*note Commands::) are a subset of those + supported for configuration files. Editing commands closely + resembles the Bash command-line (*note Bash: (features)Command + Line Editing.), with -completion of commands, devices, + partitions, and files in a directory depending on context. + +Support multiple filesystem types + Support multiple filesystem types transparently, plus a useful + explicit blocklist notation. The currently supported filesystem + types are "BSD FFS", "DOS FAT16 and FAT32", "Minix fs", "Linux + ext2fs", "ReiserFS", "JFS", "XFS", and "VSTa fs". *Note + Filesystem::, for more information. + +Support automatic decompression + Can decompress files which were compressed by `gzip'. This + function is both automatic and transparent to the user (i.e. all + functions operate upon the uncompressed contents of the specified + files). This greatly reduces a file size and loading time, a + particularly great benefit for floppies.(1) (*note + Features-Footnote-1::) + + It is conceivable that some kernel modules should be loaded in a + compressed state, so a different module-loading command can be + specified to avoid uncompressing the modules. + +Access data on any installed device + Support reading data from any or all floppies or hard disk(s) + recognized by the BIOS, independent of the setting of the root + device. + +Be independent of drive geometry translations + Unlike many other boot loaders, GRUB makes the particular drive + translation irrelevant. A drive installed and running with one + translation may be converted to another translation without any + adverse effects or changes in GRUB's configuration. + +Detect all installed RAM + GRUB can generally find all the installed RAM on a PC-compatible + machine. It uses an advanced BIOS query technique for finding all + memory regions. As described on the Multiboot Specification (*note + Multiboot Specification: (multiboot)Top.), not all kernels make + use of this information, but GRUB provides it for those who do. + +Support Logical Block Address mode + In traditional disk calls (called "CHS mode"), there is a geometry + translation problem, that is, the BIOS cannot access over 1024 + cylinders, so the accessible space is limited to at least 508 MB + and to at most 8GB. GRUB can't universally solve this problem, as + there is no standard interface used in all machines. However, + several newer machines have the new interface, Logical Block + Address ("LBA") mode. GRUB automatically detects if LBA mode is + available and uses it if available. In LBA mode, GRUB can access + the entire disk. + +Support network booting + GRUB is basically a disk-based boot loader but also has network + support. You can load OS images from a network by using the "TFTP" + protocol. + +Support remote terminals + To support computers with no console, GRUB provides remote terminal + support, so that you can control GRUB from a remote host. Only + serial terminal support is implemented at the moment. + + +File: grub.info, Node: Features-Footnotes, Up: Features + + (1) There are a few pathological cases where loading a very badly +organized ELF kernel might take longer, but in practice this never +happen. + + +File: grub.info, Node: Role of a boot loader, Prev: Features, Up: Introduction + +1.4 The role of a boot loader +============================= + +The following is a quotation from Gordon Matzigkeit, a GRUB fanatic: + + Some people like to acknowledge both the operating system and + kernel when they talk about their computers, so they might say + they use "GNU/Linux" or "GNU/Hurd". Other people seem to think + that the kernel is the most important part of the system, so they + like to call their GNU operating systems "Linux systems." + + I, personally, believe that this is a grave injustice, because the + _boot loader_ is the most important software of all. I used to + refer to the above systems as either "LILO"(1) (*note Role of a + boot loader-Footnote-1::) or "GRUB" systems. + + Unfortunately, nobody ever understood what I was talking about; + now I just use the word "GNU" as a pseudonym for GRUB. + + So, if you ever hear people talking about their alleged "GNU" + systems, remember that they are actually paying homage to the best + boot loader around... GRUB! + + We, the GRUB maintainers, do not (usually) encourage Gordon's level +of fanaticism, but it helps to remember that boot loaders deserve +recognition. We hope that you enjoy using GNU GRUB as much as we did +writing it. + + +File: grub.info, Node: Role of a boot loader-Footnotes, Up: Role of a boot loader + + (1) The LInux LOader, a boot loader that everybody uses, but nobody +likes. + + +File: grub.info, Node: Naming convention, Next: Installation, Prev: Introduction, Up: Top + +2 Naming convention +******************* + +The device syntax used in GRUB is a wee bit different from what you may +have seen before in your operating system(s), and you need to know it so +that you can specify a drive/partition. + + Look at the following examples and explanations: + + (fd0) + + First of all, GRUB requires that the device name be enclosed with +`(' and `)'. The `fd' part means that it is a floppy disk. The number +`0' is the drive number, which is counted from _zero_. This expression +means that GRUB will use the whole floppy disk. + + (hd0,2) + + Here, `hd' means it is a hard disk drive. The first integer `0' +indicates the drive number, that is, the first hard disk, while the +second integer, `1', indicates the partition number (or the PC slice +number in the BSD terminology). The partition numbers are counted from +_one_, not from zero (as was the case in previous versions of GRUB). +This expression means the second partition of the first hard disk +drive. In this case, GRUB uses one partition of the disk, instead of +the whole disk. + + (hd0,5) + + This specifies the first "extended partition" of the first hard disk +drive. Note that the partition numbers for extended partitions are +counted from `5', regardless of the actual number of primary partitions +on your hard disk. + + (hd1,a) + + This means the BSD `a' partition of the second hard disk. If you +need to specify which PC slice number should be used, use something +like this: `(hd1,1,a)'. If the PC slice number is omitted, GRUB +searches for the first PC slice which has a BSD `a' partition. + + Of course, to actually access the disks or partitions with GRUB, you +need to use the device specification in a command, like `root (fd0)' or +`unhide (hd0,3)'. To help you find out which number specifies a +partition you want, the GRUB command-line (*note Command-line +interface::) options have argument completion. This means that, for +example, you only need to type + + root ( + + followed by a , and GRUB will display the list of drives, +partitions, or file names. So it should be quite easy to determine the +name of your target partition, even with minimal knowledge of the +syntax. + + Note that GRUB does _not_ distinguish IDE from SCSI - it simply +counts the drive numbers from zero, regardless of their type. Normally, +any IDE drive number is less than any SCSI drive number, although that +is not true if you change the boot sequence by swapping IDE and SCSI +drives in your BIOS. + + Now the question is, how to specify a file? Again, consider an +example: + + (hd0,1)/vmlinuz + + This specifies the file named `vmlinuz', found on the first +partition of the first hard disk drive. Note that the argument +completion works with file names, too. + + That was easy, admit it. Now read the next chapter, to find out how +to actually install GRUB on your drive. + + +File: grub.info, Node: Installation, Next: Booting, Prev: Naming convention, Up: Top + +3 Installation +************** + +In order to install GRUB as your boot loader, you need to first install +the GRUB system and utilities under your UNIX-like operating system +(*note Obtaining and Building GRUB::). You can do this either from the +source tarball, or as a package for your OS. + + After you have done that, you need to install the boot loader on a +drive (floppy or hard disk). There are two ways of doing that - either +using the utility `grub-install' (*note Invoking grub-install::) on a +UNIX-like OS, or by running GRUB itself from a floppy. These are quite +similar, however the utility might probe a wrong BIOS drive, so you +should be careful. + + Also, if you install GRUB on a UNIX-like OS, please make sure that +you have an emergency boot disk ready, so that you can rescue your +computer if, by any chance, your hard drive becomes unusable +(unbootable). + + GRUB comes with boot images, which are normally put in the directory +`/usr/lib/grub/i386-pc'. Hereafter, the directory where GRUB images are +initially placed (normally `/usr/lib/grub/i386-pc') will be called the +"image directory", and the directory where the boot loader needs to +find them (usually `/boot/grub') will be called the "boot directory". + +* Menu: + +* Installing GRUB using grub-install:: +* Making a GRUB bootable CD-ROM:: + + +File: grub.info, Node: Installing GRUB using grub-install, Next: Making a GRUB bootable CD-ROM, Up: Installation + +3.1 Installing GRUB using grub-install +====================================== + +*Caution:* This procedure is definitely less safe, because there are +several ways in which your computer can become unbootable. For example, +most operating systems don't tell GRUB how to map BIOS drives to OS +devices correctly--GRUB merely "guesses" the mapping. This will succeed +in most cases, but not always. Therefore, GRUB provides you with a map +file called the "device map", which you must fix if it is wrong. *Note +Device map::, for more details. + + If you still do want to install GRUB under a UNIX-like OS (such as +GNU), invoke the program `grub-install' (*note Invoking grub-install::) +as the superuser ("root"). + + The usage is basically very simple. You only need to specify one +argument to the program, namely, where to install the boot loader. The +argument can be either a device file (like `/dev/hda') or a partition +specified in GRUB's notation. For example, under Linux the following +will install GRUB into the MBR of the first IDE disk: + + # grub-install /dev/hda + + Likewise, under GNU/Hurd, this has the same effect: + + # grub-install /dev/hd0 + + If it is the first BIOS drive, this is the same as well: + + # grub-install '(hd0)' + + Or you can omit the parentheses: + + # grub-install hd0 + + But all the above examples assume that GRUB should use images under +the root directory. If you want GRUB to use images under a directory +other than the root directory, you need to specify the option +`--root-directory'. The typical usage is that you create a GRUB boot +floppy with a filesystem. Here is an example: + + # mke2fs /dev/fd0 + # mount -t ext2 /dev/fd0 /mnt + # grub-install --root-directory=/mnt fd0 + # umount /mnt + + Another example is when you have a separate boot partition which is +mounted at `/boot'. Since GRUB is a boot loader, it doesn't know +anything about mountpoints at all. Thus, you need to run `grub-install' +like this: + + # grub-install --root-directory=/boot /dev/hda + + By the way, as noted above, it is quite difficult to guess BIOS +drives correctly under a UNIX-like OS. Thus, `grub-install' will prompt +you to check if it could really guess the correct mappings, after the +installation. The format is defined in *note Device map::. Please be +quite careful. If the output is wrong, it is unlikely that your +computer will be able to boot with no problem. + + Note that `grub-install' is actually just a shell script and the +real task is done by `grub-mkimage' and `grub-setup'. Therefore, you +may run those commands directly to install GRUB, without using +`grub-install'. Don't do that, however, unless you are very familiar +with the internals of GRUB. Installing a boot loader on a running OS +may be extremely dangerous. + + +File: grub.info, Node: Making a GRUB bootable CD-ROM, Prev: Installing GRUB using grub-install, Up: Installation + +3.2 Making a GRUB bootable CD-ROM +================================= + +GRUB supports the "no emulation mode" in the El Torito specification(1) +(*note Making a GRUB bootable CD-ROM-Footnote-1::). This means that you +can use the whole CD-ROM from GRUB and you don't have to make a floppy +or hard disk image file, which can cause compatibility problems. + + For booting from a CD-ROM, GRUB uses a special Stage 2 called +`stage2_eltorito'. The only GRUB files you need to have in your +bootable CD-ROM are this `stage2_eltorito' and optionally a config file +`grub.cfg'. You don't need to use `stage1' or `stage2', because El +Torito is quite different from the standard boot process. + + Here is an example of procedures to make a bootable CD-ROM image. +First, make a top directory for the bootable image, say, `iso': + + $ mkdir iso + + Make a directory for GRUB: + + $ mkdir -p iso/boot/grub + + Copy the file `stage2_eltorito': + + $ cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub + + If desired, make the config file `grub.cfg' under `iso/boot/grub' +(*note Configuration::), and copy any files and directories for the +disc to the directory `iso/'. + + Finally, make a ISO9660 image file like this: + + $ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ + -boot-load-size 4 -boot-info-table -o grub.iso iso + + This produces a file named `grub.iso', which then can be burned into +a CD (or a DVD). `mkisofs' has already set up the disc to boot from +the `boot/grub/stage2_eltorito' file, so there is no need to setup GRUB +on the disc. (Note that the `-boot-load-size 4' bit is required for +compatibility with the BIOS on many older machines.) + + You can use the device `(cd)' to access a CD-ROM in your config +file. This is not required; GRUB automatically sets the root device to +`(cd)' when booted from a CD-ROM. It is only necessary to refer to +`(cd)' if you want to access other drives as well. + + +File: grub.info, Node: Making a GRUB bootable CD-ROM-Footnotes, Up: Making a GRUB bootable CD-ROM + + (1) El Torito is a specification for bootable CD using BIOS +functions. + + +File: grub.info, Node: Booting, Next: Configuration, Prev: Installation, Up: Top + +4 Booting +********* + +GRUB can load Multiboot-compliant kernels in a consistent way, but for +some free operating systems you need to use some OS-specific magic. + +* Menu: + +* General boot methods:: How to boot OSes with GRUB generally +* OS-specific notes:: Notes on some operating systems + + +File: grub.info, Node: General boot methods, Next: OS-specific notes, Up: Booting + +4.1 How to boot operating systems +================================= + +GRUB has two distinct boot methods. One of the two is to load an +operating system directly, and the other is to chain-load another boot +loader which then will load an operating system actually. Generally +speaking, the former is more desirable, because you don't need to +install or maintain other boot loaders and GRUB is flexible enough to +load an operating system from an arbitrary disk/partition. However, the +latter is sometimes required, since GRUB doesn't support all the +existing operating systems natively. + +* Menu: + +* Loading an operating system directly:: +* Chain-loading:: + + +File: grub.info, Node: Loading an operating system directly, Next: Chain-loading, Up: General boot methods + +4.1.1 How to boot an OS directly with GRUB +------------------------------------------ + +Multiboot (*note Multiboot Specification: (multiboot)Top.) is the +native format supported by GRUB. For the sake of convenience, there is +also support for Linux, FreeBSD, NetBSD and OpenBSD. If you want to +boot other operating systems, you will have to chain-load them (*note +Chain-loading::). + + FIXME: this section is incomplete. + + 1. Run the command `boot' (*note boot::). + + However, DOS and Windows have some deficiencies, so you might have to +use more complicated instructions. *Note DOS/Windows::, for more +information. + + +File: grub.info, Node: Chain-loading, Prev: Loading an operating system directly, Up: General boot methods + +4.1.2 Chain-loading an OS +------------------------- + +Operating systems that do not support Multiboot and do not have specific +support in GRUB (specific support is available for Linux, FreeBSD, +NetBSD and OpenBSD) must be chain-loaded, which involves loading +another boot loader and jumping to it in real mode. + + The `chainloader' command (*note chainloader::) is used to set this +up. It is normally also necessary to load some GRUB modules and set the +appropriate root device. Putting this together, we get something like +this, for a Windows system on the first partition of the first hard +disk: + +menuentry "Windows" { + insmod chain + insmod ntfs + set root=(hd0,1) + chainloader +1 +} + + On systems with multiple hard disks, an additional workaround may be +required. *Note DOS/Windows::. + + Chain-loading is only supported on PC BIOS and EFI platforms. + + +File: grub.info, Node: OS-specific notes, Prev: General boot methods, Up: Booting + +4.2 Some caveats on OS-specific issues +====================================== + +Here, we describe some caveats on several operating systems. + +* Menu: + +* GNU/Hurd:: +* GNU/Linux:: +* DOS/Windows:: +* SCO UnixWare:: +* QNX:: + + +File: grub.info, Node: GNU/Hurd, Next: GNU/Linux, Up: OS-specific notes + +4.2.1 GNU/Hurd +-------------- + +Since GNU/Hurd is Multiboot-compliant, it is easy to boot it; there is +nothing special about it. But do not forget that you have to specify a +root partition to the kernel. + + FIXME: this section is incomplete. + + 1. Run the command `boot' (*note boot::). + + +File: grub.info, Node: GNU/Linux, Next: DOS/Windows, Prev: GNU/Hurd, Up: OS-specific notes + +4.2.2 GNU/Linux +--------------- + +It is relatively easy to boot GNU/Linux from GRUB, because it somewhat +resembles to boot a Multiboot-compliant OS. + + FIXME: this section is incomplete. + + 1. Set GRUB's root device to the same drive as GNU/Linux's. + + 2. Finally, run the command `boot' (*note boot::). + + *Caution:* If you use an initrd and specify the `mem=' option to the +kernel to let it use less than actual memory size, you will also have +to specify the same memory size to GRUB. To let GRUB know the size, run +the command `uppermem' _before_ loading the kernel. *Note uppermem::, +for more information. + + +File: grub.info, Node: DOS/Windows, Next: SCO UnixWare, Prev: GNU/Linux, Up: OS-specific notes + +4.2.3 DOS/Windows +----------------- + +GRUB cannot boot DOS or Windows directly, so you must chain-load them +(*note Chain-loading::). However, their boot loaders have some critical +deficiencies, so it may not work to just chain-load them. To overcome +the problems, GRUB provides you with a helper function. + + If you have installed DOS (or Windows) on a non-first hard disk, you +have to use the disk swapping technique, because that OS cannot boot +from any disks but the first one. The workaround used in GRUB is the +command `drivemap' (*note drivemap::), like this: + + drivemap -s (hd0) (hd1) + + This performs a "virtual" swap between your first and second hard +drive. + + *Caution:* This is effective only if DOS (or Windows) uses BIOS to +access the swapped disks. If that OS uses a special driver for the +disks, this probably won't work. + + Another problem arises if you installed more than one set of +DOS/Windows onto one disk, because they could be confused if there are +more than one primary partitions for DOS/Windows. Certainly you should +avoid doing this, but there is a solution if you do want to do so. Use +the partition hiding/unhiding technique. + + If GRUB "hides" a DOS (or Windows) partition (*note parttool::), DOS +(or Windows) will ignore the partition. If GRUB "unhides" a DOS (or +Windows) partition, DOS (or Windows) will detect the partition. Thus, +if you have installed DOS (or Windows) on the first and the second +partition of the first hard disk, and you want to boot the copy on the +first partition, do the following: + + parttool (hd0,1) hidden- + parttool (hd0,2) hidden+ + set root=(hd0,1) + chainloader +1 + parttool ${root} boot+ + boot + + +File: grub.info, Node: SCO UnixWare, Next: QNX, Prev: DOS/Windows, Up: OS-specific notes + +4.2.4 SCO UnixWare +------------------ + +It is known that the signature in the boot loader for SCO UnixWare is +wrong, so you will have to specify the option `--force' to +`chainloader' (*note chainloader::), like this: + + set root=(hd1,1) + chainloader --force +1 + parttool ${root} boot+ + boot + + +File: grub.info, Node: QNX, Prev: SCO UnixWare, Up: OS-specific notes + +4.2.5 QNX +--------- + +QNX seems to use a bigger boot loader, so you need to boot it up, like +this: + + set root=(hd1,2) + chainloader +4 + boot + + +File: grub.info, Node: Configuration, Next: Network, Prev: Booting, Up: Top + +5 Writing your own configuration file +************************************* + +GRUB is configured using `grub.cfg', usually located under +`/boot/grub'. This file is quite flexible, but most users will not +need to write the whole thing by hand. + +* Menu: + +* Simple configuration:: Recommended for most users +* Shell-like scripting:: For power users and developers + + +File: grub.info, Node: Simple configuration, Next: Shell-like scripting, Up: Configuration + +5.1 Simple configuration handling +================================= + +The program `grub-mkconfig' (*note Invoking grub-mkconfig::) generates +`grub.cfg' files suitable for most cases. It is suitable for use when +upgrading a distribution, and will discover available kernels and +attempt to generate menu entries for them. + + The file `/etc/default/grub' controls the operation of +`grub-mkconfig'. It is sourced by a shell script, and so must be valid +POSIX shell input; normally, it will just be a sequence of `KEY=value' +lines, but if the value contains spaces or other special characters +then it must be quoted. For example: + + GRUB_TERMINAL_INPUT="console serial" + + Valid keys in `/etc/default/grub' are as follows: + +`GRUB_DEFAULT' + The default menu entry. This may be a number, in which case it + identifies the Nth entry in the generated menu counted from zero, + or the full name of a menu entry, or the special string `saved'. + Using the full name may be useful if you want to set a menu entry + as the default even though there may be a variable number of + entries before it. + + If you set this to `saved', then the default menu entry will be + that saved by `GRUB_SAVEDEFAULT', `grub-set-default', or + `grub-reboot'. + + The default is `0'. + +`GRUB_SAVEDEFAULT' + If this option is set to `true', then, when an entry is selected, + save it as a new default entry for use by future runs of GRUB. + This is only useful if `GRUB_DEFAULT=saved'; it is a separate + option because `GRUB_DEFAULT=saved' is useful without this option, + in conjunction with `grub-set-default' or `grub-reboot'. Unset by + default. + +`GRUB_TIMEOUT' + Boot the default entry this many seconds after the menu is + displayed, unless a key is pressed. The default is `5'. Set to + `0' to boot immediately without displaying the menu, or to `-1' to + wait indefinitely. + +`GRUB_HIDDEN_TIMEOUT' + Wait this many seconds for a key to be pressed before displaying + the menu. If no key is pressed during that time, boot + immediately. Unset by default. + +`GRUB_HIDDEN_TIMEOUT_QUIET' + In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to + suppress the verbose countdown while waiting for a key to be + pressed before displaying the menu. Unset by default. + +`GRUB_DEFAULT_BUTTON' +`GRUB_TIMEOUT_BUTTON' +`GRUB_HIDDEN_TIMEOUT_BUTTON' +`GRUB_BUTTON_CMOS_ADDRESS' + Variants of the corresponding variables without the `_BUTTON' + suffix, used to support vendor-specific power buttons. *Note + Vendor power-on keys::. + +`GRUB_DISTRIBUTOR' + Set by distributors of GRUB to their identifying name. This is + used to generate more informative menu entry titles. + +`GRUB_TERMINAL_INPUT' + Select the terminal input device. You may select multiple devices + here, separated by spaces. + + Valid terminal input names depend on the platform, but may include + `console' (PC BIOS and EFI consoles), `serial' (serial terminal), + `ofconsole' (Open Firmware console), `at_keyboard' (PC AT + keyboard, mainly useful with Coreboot), or `usb_keyboard' (USB + keyboard using the HID Boot Protocol, for cases where the firmware + does not handle this). + + The default is to use the platform's native terminal input. + +`GRUB_TERMINAL_OUTPUT' + Select the terminal output device. You may select multiple + devices here, separated by spaces. + + Valid terminal output names depend on the platform, but may include + `console' (PC BIOS and EFI consoles), `serial' (serial terminal), + `gfxterm' (graphics-mode output), `ofconsole' (Open Firmware + console), or `vga_text' (VGA text output, mainly useful with + Coreboot). + + The default is to use the platform's native terminal input. + +`GRUB_TERMINAL' + If this option is set, it overrides both `GRUB_TERMINAL_INPUT' and + `GRUB_TERMINAL_OUTPUT' to the same value. + +`GRUB_SERIAL_COMMAND' + A command to configure the serial port when using the serial + console. *Note serial::. Defaults to `serial'. + +`GRUB_CMDLINE_LINUX' + Command-line arguments to add to menu entries for the Linux kernel. + +`GRUB_CMDLINE_LINUX_DEFAULT' + Unless `GRUB_DISABLE_LINUX_RECOVERY' is set, two menu entries will + be generated for each Linux kernel: one default entry and one + entry for recovery mode. This option lists command-line arguments + to add only to the default menu entry, after those listed in + `GRUB_CMDLINE_LINUX'. + +`GRUB_CMDLINE_NETBSD' +`GRUB_CMDLINE_NETBSD_DEFAULT' + As `GRUB_CMDLINE_LINUX' and `GRUB_CMDLINE_LINUX_DEFAULT', but for + NetBSD. + +`GRUB_DISABLE_LINUX_UUID' + Normally, `grub-mkconfig' will generate menu entries that use + universally-unique identifiers (UUIDs) to identify the root + filesystem to the Linux kernel, using a `root=UUID=...' kernel + parameter. This is usually more reliable, but in some cases it + may not be appropriate. To disable the use of UUIDs, set this + option to `true'. + +`GRUB_DISABLE_LINUX_RECOVERY' + Disable the generation of recovery mode menu entries for Linux. + +`GRUB_DISABLE_NETBSD_RECOVERY' + Disable the generation of recovery mode menu entries for NetBSD. + +`GRUB_GFXMODE' + Set the resolution used on the `gfxterm' graphical terminal. Note + that you can only use modes which your graphics card supports via + VESA BIOS Extensions (VBE), so for example native LCD panel + resolutions may not be available. The default is `640x480'. + +`GRUB_BACKGROUND' + Set a background image for use with the `gfxterm' graphical + terminal. The value of this option must be a file readable by + GRUB at boot time, and it must end with `.png', `.tga', `.jpg', or + `.jpeg'. The image will be scaled if necessary to fit the screen. + +`GRUB_THEME' + Set a theme for use with the `gfxterm' graphical terminal. *Note + Themes::. + +`GRUB_GFXPAYLOAD_LINUX' + Set to `text' to force the Linux kernel to boot in normal text + mode, `keep' to preserve the graphics mode set using + `GRUB_GFXMODE', `WIDTHxHEIGHT'[`xDEPTH'] to set a particular + graphics mode, or a sequence of these separated by commas or + semicolons to try several modes in sequence. + + Depending on your kernel, your distribution, your graphics card, + and the phase of the moon, note that using this option may cause + GNU/Linux to suffer from various display problems, particularly + during the early part of the boot sequence. If you have problems, + simply unset this option and GRUB will tell Linux to boot in + normal text mode. + +`GRUB_DISABLE_OS_PROBER' + Normally, `grub-mkconfig' will try to use the external `os-prober' + program, if installed, to discover other operating systems + installed on the same system and generate appropriate menu entries + for them. Set this option to `true' to disable this. + +`GRUB_INIT_TUNE' + Play a tune on the speaker when GRUB starts. This is particularly + useful for users unable to see the screen. The value of this + option is passed directly to *note play::. + + For more detailed customisation of `grub-mkconfig''s output, you may +edit the scripts in `/etc/grub.d' directly. `/etc/grub.d/40_custom' is +particularly useful for adding entire custom menu entries; simply type +the menu entries you want to add at the end of that file, making sure +to leave at least the first two lines intact. + + +File: grub.info, Node: Shell-like scripting, Prev: Simple configuration, Up: Configuration + +5.2 Writing full configuration files directly +============================================= + + +File: grub.info, Node: Serial terminal, Next: Vendor power-on keys, Prev: Network, Up: Top + +6 Using GRUB via a serial line +****************************** + +This chapter describes how to use the serial terminal support in GRUB. + + If you have many computers or computers with no display/keyboard, it +could be very useful to control the computers through serial +communications. To connect one computer with another via a serial line, +you need to prepare a null-modem (cross) serial cable, and you may need +to have multiport serial boards, if your computer doesn't have extra +serial ports. In addition, a terminal emulator is also required, such as +minicom. Refer to a manual of your operating system, for more +information. + + As for GRUB, the instruction to set up a serial terminal is quite +simple. First of all, make sure that you haven't specified the option +`--disable-serial' to the configure script when you built your GRUB +images. If you get them in binary form, probably they have serial +terminal support already. + + Then, initialize your serial terminal after GRUB starts up. Here is +an example: + + grub> serial --unit=0 --speed=9600 + grub> terminal serial + + The command `serial' initializes the serial unit 0 with the speed +9600bps. The serial unit 0 is usually called `COM1', so, if you want to +use COM2, you must specify `--unit=1' instead. This command accepts +many other options, so please refer to *note serial::, for more details. + + The command `terminal' (*note terminal::) chooses which type of +terminal you want to use. In the case above, the terminal will be a +serial terminal, but you can also pass `console' to the command, as +`terminal serial console'. In this case, a terminal in which you press +any key will be selected as a GRUB terminal. + + However, note that GRUB assumes that your terminal emulator is +compatible with VT100 by default. This is true for most terminal +emulators nowadays, but you should pass the option `--dumb' to the +command if your terminal emulator is not VT100-compatible or implements +few VT100 escape sequences. If you specify this option then GRUB +provides you with an alternative menu interface, because the normal +menu requires several fancy features of your terminal. + + +File: grub.info, Node: Vendor power-on keys, Next: Preset Menu, Prev: Serial terminal, Up: Top + +7 Using GRUB with vendor power-on keys +************************************** + +Some laptop vendor provide an additional power-on button which boots +another OS. GRUB supports such buttons with GRUB_TIMEOUT_BUTTON, +GRUB_DEFAULT_BUTTON, GRUB_HIDDEN_TIMEOUT_BUTTON and +GRUB_BUTTON_CMOS_ADDRESS variables in default/grub. +GRUB_TIMEOUT_BUTTON, GRUB_DEFAULT_BUTTON and GRUB_HIDDEN_TIMEOUT_BUTTON +are used instead of corresponding variables without _BUTTON suffix when +powered using special button. GRUB_BUTTON_CMOS_ADDRESS is vendor +specific and partially model-specific. Values known to GRUB team are: + + + 85:3 + + To take full advantage of this function install GRUB into MBR. + + +File: grub.info, Node: Filesystem, Next: Interface, Prev: Images, Up: Top + +8 Filesystem syntax and semantics +********************************* + +GRUB uses a special syntax for specifying disk drives which can be +accessed by BIOS. Because of BIOS limitations, GRUB cannot distinguish +between IDE, ESDI, SCSI, or others. You must know yourself which BIOS +device is equivalent to which OS device. Normally, that will be clear if +you see the files in a device or use the command `find' (*note find::). + +* Menu: + +* Device syntax:: How to specify devices +* File name syntax:: How to specify files +* Block list syntax:: How to specify block lists + + +File: grub.info, Node: Device syntax, Next: File name syntax, Up: Filesystem + +8.1 How to specify devices +========================== + +The device syntax is like this: + + `(DEVICE[,PART-NUM][,BSD-SUBPART-LETTER])' + + `[]' means the parameter is optional. DEVICE should be either `fd' +or `hd' followed by a digit, like `fd0'. But you can also set DEVICE +to a hexadecimal or a decimal number which is a BIOS drive number, so +the following are equivalent: + + (hd0) + (0x80) + (128) + + PART-NUM represents the partition number of DEVICE, starting from +one for primary partitions and from five for extended partitions, and +BSD-SUBPART-LETTER represents the BSD disklabel subpartition, such as +`a' or `e'. + + A shortcut for specifying BSD subpartitions is +`(DEVICE,BSD-SUBPART-LETTER)', in this case, GRUB searches for the +first PC partition containing a BSD disklabel, then finds the +subpartition BSD-SUBPART-LETTER. Here is an example: + + (hd0,a) + + The syntax `(hd0)' represents using the entire disk (or the MBR when +installing GRUB), while the syntax `(hd0,1)' represents using the first +partition of the disk (or the boot sector of the partition when +installing GRUB). + + If you enabled the network support, the special drive, `(nd)', is +also available. Before using the network drive, you must initialize the +network. *Note Network::, for more information. + + If you boot GRUB from a CD-ROM, `(cd)' is available. *Note Making a +GRUB bootable CD-ROM::, for details. + + +File: grub.info, Node: File name syntax, Next: Block list syntax, Prev: Device syntax, Up: Filesystem + +8.2 How to specify files +======================== + +There are two ways to specify files, by "absolute file name" and by +"block list". + + An absolute file name resembles a Unix absolute file name, using `/' +for the directory separator (not `\' as in DOS). One example is +`(hd0,1)/boot/grub/grub.cfg'. This means the file `/boot/grub/grub.cfg' +in the first partition of the first hard disk. If you omit the device +name in an absolute file name, GRUB uses GRUB's "root device" +implicitly. So if you set the root device to, say, `(hd1,1)' by the +command `root' (*note root::), then `/boot/kernel' is the same as +`(hd1,1)/boot/kernel'. + + +File: grub.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem + +8.3 How to specify block lists +============================== + +A block list is used for specifying a file that doesn't appear in the +filesystem, like a chainloader. The syntax is +`[OFFSET]+LENGTH[,[OFFSET]+LENGTH]...'. Here is an example: + + `0+100,200+1,300+300' + + This represents that GRUB should read blocks 0 through 99, block 200, +and blocks 300 through 599. If you omit an offset, then GRUB assumes +the offset is zero. + + Like the file name syntax (*note File name syntax::), if a blocklist +does not contain a device name, then GRUB uses GRUB's "root device". So +`(hd0,2)+1' is the same as `+1' when the root device is `(hd0,2)'. + + +File: grub.info, Node: Interface, Next: Commands, Prev: Filesystem, Up: Top + +9 GRUB's user interface +*********************** + +GRUB has both a simple menu interface for choosing preset entries from a +configuration file, and a highly flexible command-line for performing +any desired combination of boot commands. + + GRUB looks for its configuration file as soon as it is loaded. If one +is found, then the full menu interface is activated using whatever +entries were found in the file. If you choose the "command-line" menu +option, or if the configuration file was not found, then GRUB drops to +the command-line interface. + +* Menu: + +* Command-line interface:: The flexible command-line interface +* Menu interface:: The simple menu interface +* Menu entry editor:: Editing a menu entry + + +File: grub.info, Node: Command-line interface, Next: Menu interface, Up: Interface + +9.1 The flexible command-line interface +======================================= + +The command-line interface provides a prompt and after it an editable +text area much like a command-line in Unix or DOS. Each command is +immediately executed after it is entered(1) (*note Command-line +interface-Footnote-1::). The commands (*note Command-line and menu +entry commands::) are a subset of those available in the configuration +file, used with exactly the same syntax. + + Cursor movement and editing of the text on the line can be done via a +subset of the functions available in the Bash shell: + + + + Move forward one character. + + + + Move back one character. + + + + Move to the start of the line. + + + + Move the the end of the line. + + + + Delete the character underneath the cursor. + + + + Delete the character to the left of the cursor. + + + Kill the text from the current cursor position to the end of the + line. + + + Kill backward from the cursor to the beginning of the line. + + + Yank the killed text back into the buffer at the cursor. + + + + Move up through the history list. + + + + Move down through the history list. + + When typing commands interactively, if the cursor is within or before +the first word in the command-line, pressing the key (or ) +will display a listing of the available commands, and if the cursor is +after the first word, the `' will provide a completion listing of +disks, partitions, and file names depending on the context. Note that +to obtain a list of drives, one must open a parenthesis, as `root ('. + + Note that you cannot use the completion functionality in the TFTP +filesystem. This is because TFTP doesn't support file name listing for +the security. + + +File: grub.info, Node: Command-line interface-Footnotes, Up: Command-line interface + + (1) However, this behavior will be changed in the future version, in +a user-invisible way. + + +File: grub.info, Node: Menu interface, Next: Menu entry editor, Prev: Command-line interface, Up: Interface + +9.2 The simple menu interface +============================= + +The menu interface is quite easy to use. Its commands are both +reasonably intuitive and described on screen. + + Basically, the menu interface provides a list of "boot entries" to +the user to choose from. Use the arrow keys to select the entry of +choice, then press to run it. An optional timeout is available +to boot the default entry (the first one if not set), which is aborted +by pressing any key. + + Commands are available to enter a bare command-line by pressing +(which operates exactly like the non-config-file version of GRUB, but +allows one to return to the menu if desired by pressing ) or to +edit any of the "boot entries" by pressing . + + If you protect the menu interface with a password (*note Security::), +all you can do is choose an entry by pressing , or press

to +enter the password. + + +File: grub.info, Node: Menu entry editor, Prev: Menu interface, Up: Interface + +9.3 Editing a menu entry +======================== + +The menu entry editor looks much like the main menu interface, but the +lines in the menu are individual commands in the selected entry instead +of entry names. + + If an is pressed in the editor, it aborts all the changes made +to the configuration entry and returns to the main menu interface. + + When a particular line is selected, the editor places the user in a +special version of the GRUB command-line to edit that line. When the +user hits , GRUB replaces the line in question in the boot entry +with the changes (unless it was aborted via , in which case the +changes are thrown away). + + If you want to add a new line to the menu entry, press if adding +a line after the current line or press if before the current line. + + To delete a line, hit the key . Although GRUB unfortunately does +not support "undo", you can do almost the same thing by just returning +to the main menu. + + +File: grub.info, Node: Commands, Next: Troubleshooting, Prev: Interface, Up: Top + +10 The list of available commands +********************************* + +In this chapter, we list all commands that are available in GRUB. + + Commands belong to different groups. A few can only be used in the +global section of the configuration file (or "menu"); most of them can +be entered on the command-line and can be used either anywhere in the +menu or specifically in the menu entries. + +* Menu: + +* Menu-specific commands:: +* General commands:: +* Command-line and menu entry commands:: + + +File: grub.info, Node: Menu-specific commands, Next: General commands, Up: Commands + +10.1 The list of commands for the menu only +=========================================== + +The semantics used in parsing the configuration file are the following: + + * The menu-specific commands have to be used before any others. + + * The files _must_ be in plain-text format. + + * `#' at the beginning of a line in a configuration file means it is + only a comment. + + * Options are separated by spaces. + + * All numbers can be either decimal or hexadecimal. A hexadecimal + number must be preceded by `0x', and is case-insensitive. + + * Extra options or text at the end of the line are ignored unless + otherwise specified. + + * Unrecognized commands are added to the current entry, except + before entries start, where they are ignored. + + These commands can only be used in the menu: + +* Menu: + +* menuentry:: Start a menu entry + + +File: grub.info, Node: menuentry, Up: Menu-specific commands + +10.1.1 menuentry +---------------- + + -- Command: title name ... + Start a new boot entry, and set its name to the contents of the + rest of the line, starting with the first non-space character. + + +File: grub.info, Node: General commands, Next: Command-line and menu entry commands, Prev: Menu-specific commands, Up: Commands + +10.2 The list of general commands +================================= + +Commands usable anywhere in the menu and in the command-line. + +* Menu: + +* serial:: Set up a serial device +* terminfo:: Define terminal type + + +File: grub.info, Node: serial, Next: terminfo, Up: General commands + +10.2.1 serial +------------- + + -- Command: serial [`--unit=unit'] [`--port=port'] [`--speed=speed'] + [`--word=word'] [`--parity=parity'] [`--stop=stop'] + Initialize a serial device. UNIT is a number in the range 0-3 + specifying which serial port to use; default is 0, which + corresponds to the port often called COM1. PORT is the I/O port + where the UART is to be found; if specified it takes precedence + over UNIT. SPEED is the transmission speed; default is 9600. WORD + and STOP are the number of data bits and stop bits. Data bits must + be in the range 5-8 and stop bits must be 1 or 2. Default is 8 data + bits and one stop bit. PARITY is one of `no', `odd', `even' and + defaults to `no'. + + The serial port is not used as a communication channel unless the + `terminal' command is used (*note terminal::). + + This command is only available if GRUB is compiled with serial + support. See also *note Serial terminal::. + + +File: grub.info, Node: terminfo, Prev: serial, Up: General commands + +10.2.2 terminfo +--------------- + + -- Command: terminfo [term] + Define the capabilities of your terminal by giving the name of an + entry in the terminfo database, which should correspond roughly to + a `TERM' environment variable in Unix. + + At the moment, only `vt100' is supported in GRUB 2. If you need + other terminal types, please contact us to discuss the best way to + include support for these in GRUB. + + If no option is specified, the current terminal type is printed. + + +File: grub.info, Node: Command-line and menu entry commands, Prev: General commands, Up: Commands + +10.3 The list of command-line and menu entry commands +===================================================== + +These commands are usable in the command-line and in menu entries. If +you forget a command, you can run the command `help' (*note help::). + +* Menu: + +* acpi:: Load ACPI tables +* blocklist:: Print a block list +* boot:: Start up your operating system +* cat:: Show the contents of a file +* chainloader:: Chain-load another boot loader +* cmp:: Compare two files +* configfile:: Load a configuration file +* crc:: Calculate CRC32 checksums +* date:: Display or set current date and time +* drivemap:: Map a drive to another +* echo:: Display a line of text +* export:: Export an environment variable +* gettext:: Translate a string +* gptsync:: Fill an MBR based on GPT entries +* halt:: Shut down your computer +* help:: Show help messages +* insmod:: Insert a module +* keystatus:: Check key modifier status +* ls:: List devices or files +* parttool:: Modify partition table entries +* play:: Play a tune +* reboot:: Reboot your computer +* set:: Set an environment variable +* unset:: Unset an environment variable + + +File: grub.info, Node: acpi, Next: blocklist, Up: Command-line and menu entry commands + +10.3.1 acpi +----------- + + -- Command: acpi [`-1'|`-2'] + [`--exclude=table1,...'|`--load-only=table1,...'] + [`--oemid=id'] [`--oemtable=table'] [`--oemtablerev=rev'] + [`--oemtablecreator=creator'] [`--oemtablecreatorrev=rev'] + [`--no-ebda'] filename ... + Modern BIOS systems normally implement the Advanced Configuration + and Power Interface (ACPI), and define various tables that + describe the interface between an ACPI-compliant operating system + and the firmware. In some cases, the tables provided by default + only work well with certain operating systems, and it may be + necessary to replace some of them. + + Normally, this command will replace the Root System Description + Pointer (RSDP) in the Extended BIOS Data Area to point to the new + tables. If the `--no-ebda' option is used, the new tables will be + known only to GRUB, but may be used by GRUB's EFI emulation. + + +File: grub.info, Node: blocklist, Next: boot, Prev: acpi, Up: Command-line and menu entry commands + +10.3.2 blocklist +---------------- + + -- Command: blocklist file + Print a block list (*note Block list syntax::) for FILE. + + +File: grub.info, Node: boot, Next: cat, Prev: blocklist, Up: Command-line and menu entry commands + +10.3.3 boot +----------- + + -- Command: boot + Boot the OS or chain-loader which has been loaded. Only necessary + if running the fully interactive command-line (it is implicit at + the end of a menu entry). + + +File: grub.info, Node: cat, Next: chainloader, Prev: boot, Up: Command-line and menu entry commands + +10.3.4 cat +---------- + + -- Command: cat file + Display the contents of the file FILE. This command may be useful + to remind you of your OS's root partition: + + grub> cat /etc/fstab + + +File: grub.info, Node: chainloader, Next: cmp, Prev: cat, Up: Command-line and menu entry commands + +10.3.5 chainloader +------------------ + + -- Command: chainloader [`--force'] file + Load FILE as a chain-loader. Like any other file loaded by the + filesystem code, it can use the blocklist notation (*note Block + list syntax::) to grab the first sector of the current partition + with `+1'. If you specify the option `--force', then load FILE + forcibly, whether it has a correct signature or not. This is + required when you want to load a defective boot loader, such as + SCO UnixWare 7.1 (*note SCO UnixWare::). + + +File: grub.info, Node: cmp, Next: configfile, Prev: chainloader, Up: Command-line and menu entry commands + +10.3.6 cmp +---------- + + -- Command: cmp file1 file2 + Compare the file FILE1 with the file FILE2. If they differ in + size, print the sizes like this: + + Differ in size: 0x1234 [foo], 0x4321 [bar] + + If the sizes are equal but the bytes at an offset differ, then + print the bytes like this: + + Differ at the offset 777: 0xbe [foo], 0xef [bar] + + If they are completely identical, nothing will be printed. + + +File: grub.info, Node: configfile, Next: crc, Prev: cmp, Up: Command-line and menu entry commands + +10.3.7 configfile +----------------- + + -- Command: configfile file + Load FILE as a configuration file. + + +File: grub.info, Node: crc, Next: date, Prev: configfile, Up: Command-line and menu entry commands + +10.3.8 crc +---------- + + -- Command: crc file + Display the CRC32 checksum of FILE. + + +File: grub.info, Node: date, Next: drivemap, Prev: crc, Up: Command-line and menu entry commands + +10.3.9 date +----------- + + -- Command: date [[year-]month-day] [hour:minute[:second]] + With no arguments, print the current date and time. + + Otherwise, take the current date and time, change any elements + specified as arguments, and set the result as the new date and + time. For example, `date 01-01' will set the current month and + day to January 1, but leave the year, hour, minute, and second + unchanged. + + +File: grub.info, Node: drivemap, Next: echo, Prev: date, Up: Command-line and menu entry commands + +10.3.10 drivemap +---------------- + + -- Command: drivemap `-l'|`-r'|[`-s'] from_drive to_drive + Without options, map the drive FROM_DRIVE to the drive TO_DRIVE. + This is necessary when you chain-load some operating systems, such + as DOS, if such an OS resides at a non-first drive. For + convenience, any partition suffix on the drive is ignored, so you + can safely use ${root} as a drive specification. + + With the `-s' option, perform the reverse mapping as well, swapping + the two drives. + + With the `-l' option, list the current mappings. + + With the `-r' option, reset all mappings to the default values. + + For example: + + drivemap -s (hd0) (hd1) + + +File: grub.info, Node: echo, Next: export, Prev: drivemap, Up: Command-line and menu entry commands + +10.3.11 echo +------------ + + -- Command: echo [`-n'] [`-e'] string ... + Display the requested text and, unless the `-n' option is used, a + trailing new line. If there is more than one string, they are + separated by spaces in the output. As usual in GRUB commands, + variables may be substituted using `${var}'. + + The `-e' option enables interpretation of backslash escapes. The + following sequences are recognised: + + `\\' + backslash + + `\a' + alert (BEL) + + `\c' + suppress trailing new line + + `\f' + form feed + + `\n' + new line + + `\r' + carriage return + + `\t' + horizontal tab + + `\v' + vertical tab + + When interpreting backslash escapes, backslash followed by any + other character will print that character. + + +File: grub.info, Node: export, Next: gettext, Prev: echo, Up: Command-line and menu entry commands + +10.3.12 export +-------------- + + -- Command: export envvar + Export the environment variable ENVVAR. Exported variables are + visible to subsidiary configuration files loaded using + `configfile'. + + +File: grub.info, Node: gettext, Next: gptsync, Prev: export, Up: Command-line and menu entry commands + +10.3.13 gettext +--------------- + + -- Command: gettext string + Translate STRING into the current language. + + The current language code is stored in the `lang' variable in + GRUB's environment. Translation files in MO format are read from + `locale_dir', usually `/boot/grub/locale'. + + +File: grub.info, Node: gptsync, Next: halt, Prev: gettext, Up: Command-line and menu entry commands + +10.3.14 gptsync +--------------- + + -- Command: gptsync device [partition[+/-[type]]] ... + Disks using the GUID Partition Table (GPT) also have a legacy + Master Boot Record (MBR) partition table for compatibility with + the BIOS and with older operating systems. The legacy MBR can + only represent a limited subset of GPT partition entries. + + This command populates the legacy MBR with the specified PARTITION + entries on DEVICE. Up to three partitions may be used. + + TYPE is an MBR partition type code; prefix with `0x' if you want + to enter this in hexadecimal. The separator between PARTITION and + TYPE may be `+' to make the partition active, or `-' to make it + inactive; only one partition may be active. If both the separator + and type are omitted, then the partition will be inactive. + + +File: grub.info, Node: halt, Next: help, Prev: gptsync, Up: Command-line and menu entry commands + +10.3.15 halt +------------ + + -- Command: halt `--no-apm' + The command halts the computer. If the `--no-apm' option is + specified, no APM BIOS call is performed. Otherwise, the computer + is shut down using APM. + + +File: grub.info, Node: help, Next: insmod, Prev: halt, Up: Command-line and menu entry commands + +10.3.16 help +------------ + + -- Command: help `--all' [pattern ...] + Display helpful information about builtin commands. If you do not + specify PATTERN, this command shows short descriptions of most of + available commands. If you specify the option `--all' to this + command, short descriptions of rarely used commands (such as *note + testload::) are displayed as well. + + If you specify any PATTERNS, it displays longer information about + each of the commands which match those PATTERNS. + + +File: grub.info, Node: insmod, Next: keystatus, Prev: help, Up: Command-line and menu entry commands + +10.3.17 insmod +-------------- + + -- Command: insmod module + Insert the dynamic GRUB module called MODULE. + + +File: grub.info, Node: keystatus, Next: ls, Prev: insmod, Up: Command-line and menu entry commands + +10.3.18 keystatus +----------------- + + -- Command: keystatus [`--shift'] [`--ctrl'] [`--alt'] + Return true if the Shift, Control, or Alt modifier keys are held + down, as requested by options. This is useful in scripting, to + allow some user control over behaviour without having to wait for + a keypress. + + Checking key modifier status is only supported on some platforms. + If invoked without any options, the `keystatus' command returns + true if and only if checking key modifier status is supported. + + +File: grub.info, Node: ls, Next: parttool, Prev: keystatus, Up: Command-line and menu entry commands + +10.3.19 ls +---------- + + -- Command: ls [arg] + List devices or files. + + With no arguments, print all devices known to GRUB. + + If the argument is a device name enclosed in parentheses (*note + Device syntax::), then list all files at the root directory of + that device. + + If the argument is a directory given as an absolute file name + (*note File name syntax::), then list the contents of that + directory. + + +File: grub.info, Node: parttool, Next: play, Prev: ls, Up: Command-line and menu entry commands + +10.3.20 parttool +---------------- + + -- Command: parttool partition commands + Make various modifications to partition table entries. + + Each COMMAND is either a boolean option, in which case it must be + followed with `+' or `-' (with no intervening space) to enable or + disable that option, or else it takes a value in the form + `COMMAND=VALUE'. + + Currently, `parttool' is only useful on DOS partition tables (also + known as Master Boot Record, or MBR). On these partition tables, + the following commands are available: + + `boot' (boolean) + When enabled, this makes the selected partition be the active + (bootable) partition on its disk, clearing the active flag on + all other partitions. This command is limited to _primary_ + partitions. + + `type' (value) + Change the type of an existing partition. The value must be + a number in the range 0-0xFF (prefix with `0x' to enter it in + hexadecimal). + + `hidden' (boolean) + When enabled, this hides the selected partition by setting + the "hidden" bit in its partition type code; when disabled, + unhides the selected partition by clearing this bit. This is + useful only when booting DOS or Wwindows and multiple primary + FAT partitions exist in one disk. See also *note + DOS/Windows::. + + +File: grub.info, Node: play, Next: reboot, Prev: parttool, Up: Command-line and menu entry commands + +10.3.21 play +------------ + + -- Command: play file | tempo [pitch1 duration1] [pitch2 duration2] ... + Plays a tune + + If the argument is a file name (*note File name syntax::), play + the tune recorded in it. The file format is first the tempo as an + unsigned 32bit little-endian number, then pairs of unsigned 16bit + little-endian numbers for pitch and duration pairs. + + If the arguments are a series of numbers, play the inline tune. + + The tempo is the base for all note durations. 60 gives a 1-second + base, 120 gives a half-second base, etc. Pitches are Hz. Set + pitch to 0 to produce a rest. + + +File: grub.info, Node: reboot, Next: set, Prev: play, Up: Command-line and menu entry commands + +10.3.22 reboot +-------------- + + -- Command: reboot + Reboot the computer. + + +File: grub.info, Node: set, Next: unset, Prev: reboot, Up: Command-line and menu entry commands + +10.3.23 set +----------- + + -- Command: set [envvar=value] + Set the environment variable ENVVAR to VALUE. If invoked with no + arguments, print all environment variables with their values. + + +File: grub.info, Node: unset, Prev: set, Up: Command-line and menu entry commands + +10.3.24 unset +------------- + + -- Command: unset envvar + Unset the environment variable ENVVAR. + + +File: grub.info, Node: Invoking grub-install, Next: Invoking grub-mkconfig, Prev: Troubleshooting, Up: Top + +11 Invoking grub-install +************************ + +The program `grub-install' installs GRUB on your drive using +`grub-mkimage' and (on some platforms) `grub-setup'. You must specify +the device name on which you want to install GRUB, like this: + + grub-install INSTALL_DEVICE + + The device name INSTALL_DEVICE is an OS device name or a GRUB device +name. + + `grub-install' accepts the following options: + +`--help' + Print a summary of the command-line options and exit. + +`--version' + Print the version number of GRUB and exit. + +`--root-directory=DIR' + Install GRUB images under the directory DIR instead of the root + directory. This option is useful when you want to install GRUB + into a separate partition or a removable disk. Here is an example + in which you have a separate "boot" partition which is mounted on + `/boot': + + grub-install --root-directory=/boot hd0 + +`--recheck' + Recheck the device map, even if `/boot/grub/device.map' already + exists. You should use this option whenever you add/remove a disk + into/from your computer. + + +File: grub.info, Node: Invoking grub-mkconfig, Next: Obtaining and Building GRUB, Prev: Invoking grub-install, Up: Top + +12 Invoking grub-mkconfig +************************* + +The program `grub-mkconfig' generates a configuration file for GRUB +(*note Simple configuration::). + + grub-mkconfig -o /boot/grub/grub.cfg + + `grub-mkconfig' accepts the following options: + +`--help' + Print a summary of the command-line options and exit. + +`--version' + Print the version number of GRUB and exit. + +`-o FILE' +`--output=FILE' + Send the generated configuration file to FILE. The default is to + send it to standard output. + + +File: grub.info, Node: Obtaining and Building GRUB, Next: Reporting bugs, Prev: Invoking grub-mkconfig, Up: Top + +Appendix A How to obtain and build GRUB +*************************************** + + *Caution:* GRUB requires binutils-2.9.1.0.23 or later because the + GNU assembler has been changed so that it can produce real 16bits + machine code between 2.9.1 and 2.9.1.0.x. See + `http://sources.redhat.com/binutils/', to obtain information on + how to get the latest version. + + GRUB is available from the GNU alpha archive site +`ftp://alpha.gnu.org/gnu/grub' or any of its mirrors. The file will be +named grub-version.tar.gz. The current version is 1.98, so the file you +should grab is: + + `ftp://alpha.gnu.org/gnu/grub/grub-1.98.tar.gz' + + To unbundle GRUB use the instruction: + + zcat grub-1.98.tar.gz | tar xvf - + + which will create a directory called `grub-1.98' with all the +sources. You can look at the file `INSTALL' for detailed instructions +on how to build and install GRUB, but you should be able to just do: + + cd grub-1.98 + ./configure + make install + + Also, the latest version is available from the SVN. See +`http://savannah.gnu.org/svn/?group=grub' for more information. + + +File: grub.info, Node: Reporting bugs, Next: Future, Prev: Obtaining and Building GRUB, Up: Top + +Appendix B Reporting bugs +************************* + +These are the guideline for how to report bugs. Take a look at this +list below before you submit bugs: + + 1. Before getting unsettled, read this manual through and through. + Also, see the GNU GRUB FAQ + (http://www.gnu.org/software/grub/grub-faq.html). + + 2. Always mention the information on your GRUB. The version number + and the configuration are quite important. If you build it + yourself, write the options specified to the configure script and + your operating system, including the versions of gcc and binutils. + + 3. If you have trouble with the installation, inform us of how you + installed GRUB. Don't omit error messages, if any. Just `GRUB hangs + up when it boots' is not enough. + + The information on your hardware is also essential. These are + especially important: the geometries and the partition tables of + your hard disk drives and your BIOS. + + 4. If GRUB cannot boot your operating system, write down _everything_ + you see on the screen. Don't paraphrase them, like `The foo OS + crashes with GRUB, even though it can boot with the bar boot + loader just fine'. Mention the commands you executed, the messages + printed by them, and information on your operating system + including the version number. + + 5. Explain what you wanted to do. It is very useful to know your + purpose and your wish, and how GRUB didn't satisfy you. + + 6. If you can investigate the problem yourself, please do. That will + give you and us much more information on the problem. Attaching a + patch is even better. + + When you attach a patch, make the patch in unified diff format, and + write ChangeLog entries. But, even when you make a patch, don't + forget to explain the problem, so that we can understand what your + patch is for. + + 7. Write down anything that you think might be related. Please + understand that we often need to reproduce the same problem you + encounterred in our environment. So your information should be + sufficient for us to do the same thing--Don't forget that we + cannot see your computer directly. If you are not sure whether to + state a fact or leave it out, state it! Reporting too many things + is much better than omitting something important. + + If you follow the guideline above, submit a report to the Bug +Tracking System (http://savannah.gnu.org/bugs/?group=grub). +Alternatively, you can submit a report via electronic mail to +, but we strongly recommend that you use the Bug +Tracking System, because e-mail can be passed over easily. + + Once we get your report, we will try to fix the bugs. + + +File: grub.info, Node: Future, Next: Internals, Prev: Reporting bugs, Up: Top + +Appendix C Where GRUB will go +***************************** + +We started the next generation of GRUB, GRUB 2. GRUB 2 includes +internationalization, dynamic module loading, real memory management, +multiple architecture support, a scripting language, and many other +nice feature. If you are interested in the development of GRUB 2, take +a look at the homepage (http://www.gnu.org/software/grub/grub.html). + + +File: grub.info, Node: Copying This Manual, Next: Index, Prev: Internals, Up: Top + +Appendix D Copying This Manual +****************************** + +* Menu: + +* GNU Free Documentation License:: License for copying this manual. + + +File: grub.info, Node: GNU Free Documentation License, Up: Copying This Manual + +D.1 GNU Free Documentation License +================================== + + Version 1.2, November 2002 + + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document "free" in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the + author and publisher a way to get credit for their work, while not + being considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. + We recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it + can be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You + accept the license if you copy, modify or distribute the work in a + way requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in + the notice that says that the Document is released under this + License. If a section does not fit the above definition of + Secondary then it is not allowed to be designated as Invariant. + The Document may contain zero Invariant Sections. If the Document + does not identify any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images + composed of pixels) generic paint programs or (for drawings) some + widely available drawing editor, and that is suitable for input to + text formatters or for automatic translation to a variety of + formats suitable for input to text formatters. A copy made in an + otherwise Transparent file format whose markup, or absence of + markup, has been arranged to thwart or discourage subsequent + modification by readers is not Transparent. An image format is + not Transparent if used for any substantial amount of text. A + copy that is not "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and + standard-conforming simple HTML, PostScript or PDF designed for + human modification. Examples of transparent image formats include + PNG, XCF and JPG. Opaque formats include proprietary formats that + can be read and edited only by proprietary word processors, SGML or + XML for which the DTD and/or processing tools are not generally + available, and the machine-generated HTML, PostScript or PDF + produced by some word processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow + the conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the + title equally prominent and visible. You may add other material + on the covers in addition. Copying with changes limited to the + covers, as long as they preserve the title of the Document and + satisfy these conditions, can be treated as verbatim copying in + other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a + machine-readable Transparent copy along with each Opaque copy, or + state in or with each Opaque copy a computer-network location from + which the general network-using public has access to download + using public-standard network protocols a complete Transparent + copy of the Document, free of added material. If you use the + latter option, you must take reasonably prudent steps, when you + begin distribution of Opaque copies in quantity, to ensure that + this Transparent copy will remain thus accessible at the stated + location until at least one year after the last time you + distribute an Opaque copy (directly or through your agents or + retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of + copies, to give them a chance to provide you with an updated + version of the Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with + the Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version to + whoever possesses a copy of it. In addition, you must do these + things in the Modified Version: + + A. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of + previous versions (which should, if there were any, be listed + in the History section of the Document). You may use the + same title as a previous version if the original publisher of + that version gives permission. + + B. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in + the Modified Version, together with at least five of the + principal authors of the Document (all of its principal + authors, if it has fewer than five), unless they release you + from this requirement. + + C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + D. Preserve all the copyright notices of the Document. + + E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + F. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified + Version under the terms of this License, in the form shown in + the Addendum below. + + G. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + H. Include an unaltered copy of this License. + + I. Preserve the section Entitled "History", Preserve its Title, + and add to it an item stating at least the title, year, new + authors, and publisher of the Modified Version as given on + the Title Page. If there is no section Entitled "History" in + the Document, create one stating the title, year, authors, + and publisher of the Document as given on its Title Page, + then add an item describing the Modified Version as stated in + the previous sentence. + + J. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in + the "History" section. You may omit a network location for a + work that was published at least four years before the + Document itself, or if the original publisher of the version + it refers to gives permission. + + K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the + section all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section + titles. + + M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. + + N. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + O. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option + designate some or all of these sections as invariant. To do this, + add their titles to the list of Invariant Sections in the Modified + Version's license notice. These titles must be distinct from any + other section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end + of the list of Cover Texts in the Modified Version. Only one + passage of Front-Cover Text and one of Back-Cover Text may be + added by (or through arrangements made by) any one entity. If the + Document already includes a cover text for the same cover, + previously added by you or by arrangement made by the same entity + you are acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination + all of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow + this License in all other respects regarding verbatim copying of + that document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of + a storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warranty Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided for under this License. Any other + attempt to copy, modify, sublicense or distribute the Document is + void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + `http://www.gnu.org/copyleft/'. + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. + +D.1.1 ADDENDUM: How to use this License for your documents +---------------------------------------------------------- + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and license +notices just after the title page: + + Copyright (C) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + Texts. A copy of the license is included in the section entitled ``GNU + Free Documentation License''. + + If you have Invariant Sections, Front-Cover Texts and Back-Cover +Texts, replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with + the Front-Cover Texts being LIST, and with the Back-Cover Texts + being LIST. + + If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + + If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. + + +File: grub.info, Node: Index, Prev: Copying This Manual, Up: Top + +Index +***** + +[index] +* Menu: + +* acpi: acpi. (line 11) +* blocklist: blocklist. (line 7) +* boot: boot. (line 7) +* cat: cat. (line 7) +* chainloader: chainloader. (line 7) +* cmp: cmp. (line 7) +* configfile: configfile. (line 7) +* crc: crc. (line 7) +* date: date. (line 7) +* drivemap: drivemap. (line 7) +* echo: echo. (line 7) +* export: export. (line 7) +* FDL, GNU Free Documentation License: GNU Free Documentation License. + (line 6) +* gettext: gettext. (line 7) +* gptsync: gptsync. (line 7) +* halt: halt. (line 7) +* help: help. (line 7) +* insmod: insmod. (line 7) +* keystatus: keystatus. (line 7) +* ls: ls. (line 7) +* parttool: parttool. (line 7) +* play: play. (line 7) +* reboot: reboot. (line 7) +* serial: serial. (line 8) +* set: set. (line 7) +* terminfo: terminfo. (line 7) +* title: menuentry. (line 7) +* unset: unset. (line 7) + + + +Tag Table: +Node: Top759 +Node: Introduction2800 +Node: Overview3177 +Node: Overview-Footnotes5161 +Ref: Overview-Footnote-15222 +Node: History5383 +Node: Features6504 +Node: Features-Footnotes12272 +Ref: Features-Footnote-112333 +Node: Role of a boot loader12478 +Node: Role of a boot loader-Footnotes13816 +Ref: Role of a boot loader-Footnote-113903 +Node: Naming convention13982 +Node: Installation16935 +Node: Installing GRUB using grub-install18335 +Node: Making a GRUB bootable CD-ROM21233 +Node: Making a GRUB bootable CD-ROM-Footnotes23278 +Ref: Making a GRUB bootable CD-ROM-Footnote-123381 +Node: Booting23456 +Node: General boot methods23848 +Node: Loading an operating system directly24589 +Node: Chain-loading25320 +Node: OS-specific notes26291 +Node: GNU/Hurd26598 +Node: GNU/Linux26964 +Node: DOS/Windows27674 +Node: SCO UnixWare29465 +Node: QNX29867 +Node: Configuration30095 +Node: Simple configuration30554 +Node: Shell-like scripting38108 +Node: Serial terminal38298 +Node: Vendor power-on keys40540 +Node: Filesystem41337 +Node: Device syntax42018 +Node: File name syntax43509 +Node: Block list syntax44250 +Node: Interface44981 +Node: Command-line interface45798 +Node: Command-line interface-Footnotes47737 +Ref: Command-line interface-Footnote-147826 +Node: Menu interface47921 +Node: Menu entry editor48929 +Node: Commands49976 +Node: Menu-specific commands50553 +Node: menuentry51511 +Node: General commands51778 +Node: serial52163 +Node: terminfo53216 +Node: Command-line and menu entry commands53794 +Node: acpi55517 +Node: blocklist56559 +Node: boot56791 +Node: cat57112 +Node: chainloader57416 +Node: cmp58061 +Node: configfile58612 +Node: crc58824 +Node: date59017 +Node: drivemap59554 +Node: echo60357 +Node: export61294 +Node: gettext61606 +Node: gptsync62013 +Node: halt62958 +Node: help63284 +Node: insmod63902 +Node: keystatus64120 +Node: ls64755 +Node: parttool65299 +Node: play66791 +Node: reboot67532 +Node: set67712 +Node: unset68010 +Node: Invoking grub-install68198 +Node: Invoking grub-mkconfig69402 +Node: Obtaining and Building GRUB70037 +Node: Reporting bugs71266 +Node: Future74070 +Node: Copying This Manual74559 +Node: GNU Free Documentation License74790 +Node: Index97198 + +End Tag Table diff --git a/system/grub2/grub.info b/system/grub2/grub.info deleted file mode 100644 index 643b302fd2..0000000000 --- a/system/grub2/grub.info +++ /dev/null @@ -1,2557 +0,0 @@ -This is docs/grub.info, produced by makeinfo version 4.13 from -docs/grub.texi. - -This manual is for GNU GRUB (version 1.98, 2 June 2010). - - Copyright (C) 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free -Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.2 or any later version published by the Free Software - Foundation; with no Invariant Sections. - -INFO-DIR-SECTION Kernel -START-INFO-DIR-ENTRY -* GRUB: (grub). The GRand Unified Bootloader -* grub-install: (grub)Invoking grub-install. Install GRUB on your drive -* grub-mkconfig: (grub)Invoking grub-mkconfig. Generate GRUB configuration -END-INFO-DIR-ENTRY - - -File: grub.info, Node: Top, Next: Introduction, Up: (dir) - -GNU GRUB manual -*************** - -This is the documentation of GNU GRUB, the GRand Unified Bootloader, a -flexible and powerful boot loader program for a wide range of -architectures. - - This edition documents version 1.98. - - This manual is for GNU GRUB (version 1.98, 2 June 2010). - - Copyright (C) 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free -Software Foundation, Inc. - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.2 or any later version published by the Free Software - Foundation; with no Invariant Sections. - -* Menu: - -* Introduction:: Capturing the spirit of GRUB -* Naming convention:: Names of your drives in GRUB -* Installation:: Installing GRUB on your drive -* Booting:: How to boot different operating systems -* Configuration:: Writing your own configuration file -* Network:: Downloading OS images from a network -* Serial terminal:: Using GRUB via a serial line -* Vendor power-on keys:: Changing GRUB behaviour on vendor power-on keys -* Preset Menu:: Embedding a configuration file into GRUB -* Images:: GRUB image files -* Filesystem:: Filesystem syntax and semantics -* Interface:: The menu and the command-line -* Commands:: The list of available builtin commands -* Troubleshooting:: Error messages produced by GRUB -* Invoking grub-install:: How to use the GRUB installer -* Invoking grub-mkconfig:: Generate a GRUB configuration file -* Obtaining and Building GRUB:: How to obtain and build GRUB -* Reporting bugs:: Where you should send a bug report -* Future:: Some future plans on GRUB -* Internals:: Hacking GRUB -* Copying This Manual:: Copying This Manual -* Index:: - - -File: grub.info, Node: Introduction, Next: Naming convention, Prev: Top, Up: Top - -1 Introduction to GRUB -********************** - -* Menu: - -* Overview:: What exactly GRUB is and how to use it -* History:: From maggot to house fly -* Features:: GRUB features -* Role of a boot loader:: The role of a boot loader - - -File: grub.info, Node: Overview, Next: History, Up: Introduction - -1.1 Overview -============ - -Briefly, a "boot loader" is the first software program that runs when a -computer starts. It is responsible for loading and transferring -control to an operating system "kernel" software (such as Linux or GNU -Mach). The kernel, in turn, initializes the rest of the operating -system (e.g. a GNU system). - - GNU GRUB is a very powerful boot loader, which can load a wide -variety of free operating systems, as well as proprietary operating -systems with chain-loading(1) (*note Overview-Footnote-1::). GRUB is -designed to address the complexity of booting a personal computer; both -the program and this manual are tightly bound to that computer platform, -although porting to other platforms may be addressed in the future. - - One of the important features in GRUB is flexibility; GRUB -understands filesystems and kernel executable formats, so you can load -an arbitrary operating system the way you like, without recording the -physical position of your kernel on the disk. Thus you can load the -kernel just by specifying its file name and the drive and partition -where the kernel resides. - - When booting with GRUB, you can use either a command-line interface -(*note Command-line interface::), or a menu interface (*note Menu -interface::). Using the command-line interface, you type the drive -specification and file name of the kernel manually. In the menu -interface, you just select an OS using the arrow keys. The menu is -based on a configuration file which you prepare beforehand (*note -Configuration::). While in the menu, you can switch to the command-line -mode, and vice-versa. You can even edit menu entries before using them. - - In the following chapters, you will learn how to specify a drive, a -partition, and a file name (*note Naming convention::) to GRUB, how to -install GRUB on your drive (*note Installation::), and how to boot your -OSes (*note Booting::), step by step. - - -File: grub.info, Node: Overview-Footnotes, Up: Overview - - (1) "chain-load" is the mechanism for loading unsupported operating -systems by loading another boot loader. It is typically used for -loading DOS or Windows. - - -File: grub.info, Node: History, Next: Features, Prev: Overview, Up: Introduction - -1.2 History of GRUB -=================== - -GRUB originated in 1995 when Erich Boleyn was trying to boot the GNU -Hurd with the University of Utah's Mach 4 microkernel (now known as GNU -Mach). Erich and Brian Ford designed the Multiboot Specification -(*note Multiboot Specification: (multiboot)Top.), because they were -determined not to add to the large number of mutually-incompatible PC -boot methods. - - Erich then began modifying the FreeBSD boot loader so that it would -understand Multiboot. He soon realized that it would be a lot easier to -write his own boot loader from scratch than to keep working on the -FreeBSD boot loader, and so GRUB was born. - - Erich added many features to GRUB, but other priorities prevented him -from keeping up with the demands of its quickly-expanding user base. In -1999, Gordon Matzigkeit and Yoshinori K. Okuji adopted GRUB as an -official GNU package, and opened its development by making the latest -sources available via anonymous CVS. *Note Obtaining and Building -GRUB::, for more information. - - -File: grub.info, Node: Features, Next: Role of a boot loader, Prev: History, Up: Introduction - -1.3 GRUB features -================= - -The primary requirement for GRUB is that it be compliant with the -"Multiboot Specification", which is described in *note Multiboot -Specification: (multiboot)Top. - - The other goals, listed in approximate order of importance, are: - - * Basic functions must be straightforward for end-users. - - * Rich functionality to support kernel experts and designers. - - * Backward compatibility for booting FreeBSD, NetBSD, OpenBSD, and - Linux. Proprietary kernels (such as DOS, Windows NT, and OS/2) are - supported via a chain-loading function. - - Except for specific compatibility modes (chain-loading and the Linux -"piggyback" format), all kernels will be started in much the same state -as in the Multiboot Specification. Only kernels loaded at 1 megabyte or -above are presently supported. Any attempt to load below that boundary -will simply result in immediate failure and an error message reporting -the problem. - - In addition to the requirements above, GRUB has the following -features (note that the Multiboot Specification doesn't require all the -features that GRUB supports): - -Recognize multiple executable formats - Support many of the "a.out" variants plus "ELF". Symbol tables are - also loaded. - -Support non-Multiboot kernels - Support many of the various free 32-bit kernels that lack Multiboot - compliance (primarily FreeBSD, NetBSD, OpenBSD, and Linux). - Chain-loading of other boot loaders is also supported. - -Load multiples modules - Fully support the Multiboot feature of loading multiple modules. - -Load a configuration file - Support a human-readable text configuration file with preset boot - commands. You can also load another configuration file dynamically - and embed a preset configuration file in a GRUB image file. The - list of commands (*note Commands::) are a superset of those - supported on the command-line. An example configuration file is - provided in *note Configuration::. - -Provide a menu interface - A menu interface listing preset boot commands, with a programmable - timeout, is available. There is no fixed limit on the number of - boot entries, and the current implementation has space for several - hundred. - -Have a flexible command-line interface - A fairly flexible command-line interface, accessible from the menu, - is available to edit any preset commands, or write a new boot - command set from scratch. If no configuration file is present, - GRUB drops to the command-line. - - The list of commands (*note Commands::) are a subset of those - supported for configuration files. Editing commands closely - resembles the Bash command-line (*note Bash: (features)Command - Line Editing.), with -completion of commands, devices, - partitions, and files in a directory depending on context. - -Support multiple filesystem types - Support multiple filesystem types transparently, plus a useful - explicit blocklist notation. The currently supported filesystem - types are "BSD FFS", "DOS FAT16 and FAT32", "Minix fs", "Linux - ext2fs", "ReiserFS", "JFS", "XFS", and "VSTa fs". *Note - Filesystem::, for more information. - -Support automatic decompression - Can decompress files which were compressed by `gzip'. This - function is both automatic and transparent to the user (i.e. all - functions operate upon the uncompressed contents of the specified - files). This greatly reduces a file size and loading time, a - particularly great benefit for floppies.(1) (*note - Features-Footnote-1::) - - It is conceivable that some kernel modules should be loaded in a - compressed state, so a different module-loading command can be - specified to avoid uncompressing the modules. - -Access data on any installed device - Support reading data from any or all floppies or hard disk(s) - recognized by the BIOS, independent of the setting of the root - device. - -Be independent of drive geometry translations - Unlike many other boot loaders, GRUB makes the particular drive - translation irrelevant. A drive installed and running with one - translation may be converted to another translation without any - adverse effects or changes in GRUB's configuration. - -Detect all installed RAM - GRUB can generally find all the installed RAM on a PC-compatible - machine. It uses an advanced BIOS query technique for finding all - memory regions. As described on the Multiboot Specification (*note - Multiboot Specification: (multiboot)Top.), not all kernels make - use of this information, but GRUB provides it for those who do. - -Support Logical Block Address mode - In traditional disk calls (called "CHS mode"), there is a geometry - translation problem, that is, the BIOS cannot access over 1024 - cylinders, so the accessible space is limited to at least 508 MB - and to at most 8GB. GRUB can't universally solve this problem, as - there is no standard interface used in all machines. However, - several newer machines have the new interface, Logical Block - Address ("LBA") mode. GRUB automatically detects if LBA mode is - available and uses it if available. In LBA mode, GRUB can access - the entire disk. - -Support network booting - GRUB is basically a disk-based boot loader but also has network - support. You can load OS images from a network by using the "TFTP" - protocol. - -Support remote terminals - To support computers with no console, GRUB provides remote terminal - support, so that you can control GRUB from a remote host. Only - serial terminal support is implemented at the moment. - - -File: grub.info, Node: Features-Footnotes, Up: Features - - (1) There are a few pathological cases where loading a very badly -organized ELF kernel might take longer, but in practice this never -happen. - - -File: grub.info, Node: Role of a boot loader, Prev: Features, Up: Introduction - -1.4 The role of a boot loader -============================= - -The following is a quotation from Gordon Matzigkeit, a GRUB fanatic: - - Some people like to acknowledge both the operating system and - kernel when they talk about their computers, so they might say - they use "GNU/Linux" or "GNU/Hurd". Other people seem to think - that the kernel is the most important part of the system, so they - like to call their GNU operating systems "Linux systems." - - I, personally, believe that this is a grave injustice, because the - _boot loader_ is the most important software of all. I used to - refer to the above systems as either "LILO"(1) (*note Role of a - boot loader-Footnote-1::) or "GRUB" systems. - - Unfortunately, nobody ever understood what I was talking about; - now I just use the word "GNU" as a pseudonym for GRUB. - - So, if you ever hear people talking about their alleged "GNU" - systems, remember that they are actually paying homage to the best - boot loader around... GRUB! - - We, the GRUB maintainers, do not (usually) encourage Gordon's level -of fanaticism, but it helps to remember that boot loaders deserve -recognition. We hope that you enjoy using GNU GRUB as much as we did -writing it. - - -File: grub.info, Node: Role of a boot loader-Footnotes, Up: Role of a boot loader - - (1) The LInux LOader, a boot loader that everybody uses, but nobody -likes. - - -File: grub.info, Node: Naming convention, Next: Installation, Prev: Introduction, Up: Top - -2 Naming convention -******************* - -The device syntax used in GRUB is a wee bit different from what you may -have seen before in your operating system(s), and you need to know it so -that you can specify a drive/partition. - - Look at the following examples and explanations: - - (fd0) - - First of all, GRUB requires that the device name be enclosed with -`(' and `)'. The `fd' part means that it is a floppy disk. The number -`0' is the drive number, which is counted from _zero_. This expression -means that GRUB will use the whole floppy disk. - - (hd0,2) - - Here, `hd' means it is a hard disk drive. The first integer `0' -indicates the drive number, that is, the first hard disk, while the -second integer, `1', indicates the partition number (or the PC slice -number in the BSD terminology). The partition numbers are counted from -_one_, not from zero (as was the case in previous versions of GRUB). -This expression means the second partition of the first hard disk -drive. In this case, GRUB uses one partition of the disk, instead of -the whole disk. - - (hd0,5) - - This specifies the first "extended partition" of the first hard disk -drive. Note that the partition numbers for extended partitions are -counted from `5', regardless of the actual number of primary partitions -on your hard disk. - - (hd1,a) - - This means the BSD `a' partition of the second hard disk. If you -need to specify which PC slice number should be used, use something -like this: `(hd1,1,a)'. If the PC slice number is omitted, GRUB -searches for the first PC slice which has a BSD `a' partition. - - Of course, to actually access the disks or partitions with GRUB, you -need to use the device specification in a command, like `root (fd0)' or -`unhide (hd0,3)'. To help you find out which number specifies a -partition you want, the GRUB command-line (*note Command-line -interface::) options have argument completion. This means that, for -example, you only need to type - - root ( - - followed by a , and GRUB will display the list of drives, -partitions, or file names. So it should be quite easy to determine the -name of your target partition, even with minimal knowledge of the -syntax. - - Note that GRUB does _not_ distinguish IDE from SCSI - it simply -counts the drive numbers from zero, regardless of their type. Normally, -any IDE drive number is less than any SCSI drive number, although that -is not true if you change the boot sequence by swapping IDE and SCSI -drives in your BIOS. - - Now the question is, how to specify a file? Again, consider an -example: - - (hd0,1)/vmlinuz - - This specifies the file named `vmlinuz', found on the first -partition of the first hard disk drive. Note that the argument -completion works with file names, too. - - That was easy, admit it. Now read the next chapter, to find out how -to actually install GRUB on your drive. - - -File: grub.info, Node: Installation, Next: Booting, Prev: Naming convention, Up: Top - -3 Installation -************** - -In order to install GRUB as your boot loader, you need to first install -the GRUB system and utilities under your UNIX-like operating system -(*note Obtaining and Building GRUB::). You can do this either from the -source tarball, or as a package for your OS. - - After you have done that, you need to install the boot loader on a -drive (floppy or hard disk). There are two ways of doing that - either -using the utility `grub-install' (*note Invoking grub-install::) on a -UNIX-like OS, or by running GRUB itself from a floppy. These are quite -similar, however the utility might probe a wrong BIOS drive, so you -should be careful. - - Also, if you install GRUB on a UNIX-like OS, please make sure that -you have an emergency boot disk ready, so that you can rescue your -computer if, by any chance, your hard drive becomes unusable -(unbootable). - - GRUB comes with boot images, which are normally put in the directory -`/usr/lib/grub/i386-pc'. Hereafter, the directory where GRUB images are -initially placed (normally `/usr/lib/grub/i386-pc') will be called the -"image directory", and the directory where the boot loader needs to -find them (usually `/boot/grub') will be called the "boot directory". - -* Menu: - -* Installing GRUB using grub-install:: -* Making a GRUB bootable CD-ROM:: - - -File: grub.info, Node: Installing GRUB using grub-install, Next: Making a GRUB bootable CD-ROM, Up: Installation - -3.1 Installing GRUB using grub-install -====================================== - -*Caution:* This procedure is definitely less safe, because there are -several ways in which your computer can become unbootable. For example, -most operating systems don't tell GRUB how to map BIOS drives to OS -devices correctly--GRUB merely "guesses" the mapping. This will succeed -in most cases, but not always. Therefore, GRUB provides you with a map -file called the "device map", which you must fix if it is wrong. *Note -Device map::, for more details. - - If you still do want to install GRUB under a UNIX-like OS (such as -GNU), invoke the program `grub-install' (*note Invoking grub-install::) -as the superuser ("root"). - - The usage is basically very simple. You only need to specify one -argument to the program, namely, where to install the boot loader. The -argument can be either a device file (like `/dev/hda') or a partition -specified in GRUB's notation. For example, under Linux the following -will install GRUB into the MBR of the first IDE disk: - - # grub-install /dev/hda - - Likewise, under GNU/Hurd, this has the same effect: - - # grub-install /dev/hd0 - - If it is the first BIOS drive, this is the same as well: - - # grub-install '(hd0)' - - Or you can omit the parentheses: - - # grub-install hd0 - - But all the above examples assume that GRUB should use images under -the root directory. If you want GRUB to use images under a directory -other than the root directory, you need to specify the option -`--root-directory'. The typical usage is that you create a GRUB boot -floppy with a filesystem. Here is an example: - - # mke2fs /dev/fd0 - # mount -t ext2 /dev/fd0 /mnt - # grub-install --root-directory=/mnt fd0 - # umount /mnt - - Another example is when you have a separate boot partition which is -mounted at `/boot'. Since GRUB is a boot loader, it doesn't know -anything about mountpoints at all. Thus, you need to run `grub-install' -like this: - - # grub-install --root-directory=/boot /dev/hda - - By the way, as noted above, it is quite difficult to guess BIOS -drives correctly under a UNIX-like OS. Thus, `grub-install' will prompt -you to check if it could really guess the correct mappings, after the -installation. The format is defined in *note Device map::. Please be -quite careful. If the output is wrong, it is unlikely that your -computer will be able to boot with no problem. - - Note that `grub-install' is actually just a shell script and the -real task is done by `grub-mkimage' and `grub-setup'. Therefore, you -may run those commands directly to install GRUB, without using -`grub-install'. Don't do that, however, unless you are very familiar -with the internals of GRUB. Installing a boot loader on a running OS -may be extremely dangerous. - - -File: grub.info, Node: Making a GRUB bootable CD-ROM, Prev: Installing GRUB using grub-install, Up: Installation - -3.2 Making a GRUB bootable CD-ROM -================================= - -GRUB supports the "no emulation mode" in the El Torito specification(1) -(*note Making a GRUB bootable CD-ROM-Footnote-1::). This means that you -can use the whole CD-ROM from GRUB and you don't have to make a floppy -or hard disk image file, which can cause compatibility problems. - - For booting from a CD-ROM, GRUB uses a special Stage 2 called -`stage2_eltorito'. The only GRUB files you need to have in your -bootable CD-ROM are this `stage2_eltorito' and optionally a config file -`grub.cfg'. You don't need to use `stage1' or `stage2', because El -Torito is quite different from the standard boot process. - - Here is an example of procedures to make a bootable CD-ROM image. -First, make a top directory for the bootable image, say, `iso': - - $ mkdir iso - - Make a directory for GRUB: - - $ mkdir -p iso/boot/grub - - Copy the file `stage2_eltorito': - - $ cp /usr/lib/grub/i386-pc/stage2_eltorito iso/boot/grub - - If desired, make the config file `grub.cfg' under `iso/boot/grub' -(*note Configuration::), and copy any files and directories for the -disc to the directory `iso/'. - - Finally, make a ISO9660 image file like this: - - $ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \ - -boot-load-size 4 -boot-info-table -o grub.iso iso - - This produces a file named `grub.iso', which then can be burned into -a CD (or a DVD). `mkisofs' has already set up the disc to boot from -the `boot/grub/stage2_eltorito' file, so there is no need to setup GRUB -on the disc. (Note that the `-boot-load-size 4' bit is required for -compatibility with the BIOS on many older machines.) - - You can use the device `(cd)' to access a CD-ROM in your config -file. This is not required; GRUB automatically sets the root device to -`(cd)' when booted from a CD-ROM. It is only necessary to refer to -`(cd)' if you want to access other drives as well. - - -File: grub.info, Node: Making a GRUB bootable CD-ROM-Footnotes, Up: Making a GRUB bootable CD-ROM - - (1) El Torito is a specification for bootable CD using BIOS -functions. - - -File: grub.info, Node: Booting, Next: Configuration, Prev: Installation, Up: Top - -4 Booting -********* - -GRUB can load Multiboot-compliant kernels in a consistent way, but for -some free operating systems you need to use some OS-specific magic. - -* Menu: - -* General boot methods:: How to boot OSes with GRUB generally -* OS-specific notes:: Notes on some operating systems - - -File: grub.info, Node: General boot methods, Next: OS-specific notes, Up: Booting - -4.1 How to boot operating systems -================================= - -GRUB has two distinct boot methods. One of the two is to load an -operating system directly, and the other is to chain-load another boot -loader which then will load an operating system actually. Generally -speaking, the former is more desirable, because you don't need to -install or maintain other boot loaders and GRUB is flexible enough to -load an operating system from an arbitrary disk/partition. However, the -latter is sometimes required, since GRUB doesn't support all the -existing operating systems natively. - -* Menu: - -* Loading an operating system directly:: -* Chain-loading:: - - -File: grub.info, Node: Loading an operating system directly, Next: Chain-loading, Up: General boot methods - -4.1.1 How to boot an OS directly with GRUB ------------------------------------------- - -Multiboot (*note Multiboot Specification: (multiboot)Top.) is the -native format supported by GRUB. For the sake of convenience, there is -also support for Linux, FreeBSD, NetBSD and OpenBSD. If you want to -boot other operating systems, you will have to chain-load them (*note -Chain-loading::). - - FIXME: this section is incomplete. - - 1. Run the command `boot' (*note boot::). - - However, DOS and Windows have some deficiencies, so you might have to -use more complicated instructions. *Note DOS/Windows::, for more -information. - - -File: grub.info, Node: Chain-loading, Prev: Loading an operating system directly, Up: General boot methods - -4.1.2 Chain-loading an OS -------------------------- - -Operating systems that do not support Multiboot and do not have specific -support in GRUB (specific support is available for Linux, FreeBSD, -NetBSD and OpenBSD) must be chain-loaded, which involves loading -another boot loader and jumping to it in real mode. - - The `chainloader' command (*note chainloader::) is used to set this -up. It is normally also necessary to load some GRUB modules and set the -appropriate root device. Putting this together, we get something like -this, for a Windows system on the first partition of the first hard -disk: - -menuentry "Windows" { - insmod chain - insmod ntfs - set root=(hd0,1) - chainloader +1 -} - - On systems with multiple hard disks, an additional workaround may be -required. *Note DOS/Windows::. - - Chain-loading is only supported on PC BIOS and EFI platforms. - - -File: grub.info, Node: OS-specific notes, Prev: General boot methods, Up: Booting - -4.2 Some caveats on OS-specific issues -====================================== - -Here, we describe some caveats on several operating systems. - -* Menu: - -* GNU/Hurd:: -* GNU/Linux:: -* DOS/Windows:: -* SCO UnixWare:: -* QNX:: - - -File: grub.info, Node: GNU/Hurd, Next: GNU/Linux, Up: OS-specific notes - -4.2.1 GNU/Hurd --------------- - -Since GNU/Hurd is Multiboot-compliant, it is easy to boot it; there is -nothing special about it. But do not forget that you have to specify a -root partition to the kernel. - - FIXME: this section is incomplete. - - 1. Run the command `boot' (*note boot::). - - -File: grub.info, Node: GNU/Linux, Next: DOS/Windows, Prev: GNU/Hurd, Up: OS-specific notes - -4.2.2 GNU/Linux ---------------- - -It is relatively easy to boot GNU/Linux from GRUB, because it somewhat -resembles to boot a Multiboot-compliant OS. - - FIXME: this section is incomplete. - - 1. Set GRUB's root device to the same drive as GNU/Linux's. - - 2. Finally, run the command `boot' (*note boot::). - - *Caution:* If you use an initrd and specify the `mem=' option to the -kernel to let it use less than actual memory size, you will also have -to specify the same memory size to GRUB. To let GRUB know the size, run -the command `uppermem' _before_ loading the kernel. *Note uppermem::, -for more information. - - -File: grub.info, Node: DOS/Windows, Next: SCO UnixWare, Prev: GNU/Linux, Up: OS-specific notes - -4.2.3 DOS/Windows ------------------ - -GRUB cannot boot DOS or Windows directly, so you must chain-load them -(*note Chain-loading::). However, their boot loaders have some critical -deficiencies, so it may not work to just chain-load them. To overcome -the problems, GRUB provides you with a helper function. - - If you have installed DOS (or Windows) on a non-first hard disk, you -have to use the disk swapping technique, because that OS cannot boot -from any disks but the first one. The workaround used in GRUB is the -command `drivemap' (*note drivemap::), like this: - - drivemap -s (hd0) (hd1) - - This performs a "virtual" swap between your first and second hard -drive. - - *Caution:* This is effective only if DOS (or Windows) uses BIOS to -access the swapped disks. If that OS uses a special driver for the -disks, this probably won't work. - - Another problem arises if you installed more than one set of -DOS/Windows onto one disk, because they could be confused if there are -more than one primary partitions for DOS/Windows. Certainly you should -avoid doing this, but there is a solution if you do want to do so. Use -the partition hiding/unhiding technique. - - If GRUB "hides" a DOS (or Windows) partition (*note parttool::), DOS -(or Windows) will ignore the partition. If GRUB "unhides" a DOS (or -Windows) partition, DOS (or Windows) will detect the partition. Thus, -if you have installed DOS (or Windows) on the first and the second -partition of the first hard disk, and you want to boot the copy on the -first partition, do the following: - - parttool (hd0,1) hidden- - parttool (hd0,2) hidden+ - set root=(hd0,1) - chainloader +1 - parttool ${root} boot+ - boot - - -File: grub.info, Node: SCO UnixWare, Next: QNX, Prev: DOS/Windows, Up: OS-specific notes - -4.2.4 SCO UnixWare ------------------- - -It is known that the signature in the boot loader for SCO UnixWare is -wrong, so you will have to specify the option `--force' to -`chainloader' (*note chainloader::), like this: - - set root=(hd1,1) - chainloader --force +1 - parttool ${root} boot+ - boot - - -File: grub.info, Node: QNX, Prev: SCO UnixWare, Up: OS-specific notes - -4.2.5 QNX ---------- - -QNX seems to use a bigger boot loader, so you need to boot it up, like -this: - - set root=(hd1,2) - chainloader +4 - boot - - -File: grub.info, Node: Configuration, Next: Network, Prev: Booting, Up: Top - -5 Writing your own configuration file -************************************* - -GRUB is configured using `grub.cfg', usually located under -`/boot/grub'. This file is quite flexible, but most users will not -need to write the whole thing by hand. - -* Menu: - -* Simple configuration:: Recommended for most users -* Shell-like scripting:: For power users and developers - - -File: grub.info, Node: Simple configuration, Next: Shell-like scripting, Up: Configuration - -5.1 Simple configuration handling -================================= - -The program `grub-mkconfig' (*note Invoking grub-mkconfig::) generates -`grub.cfg' files suitable for most cases. It is suitable for use when -upgrading a distribution, and will discover available kernels and -attempt to generate menu entries for them. - - The file `/etc/default/grub' controls the operation of -`grub-mkconfig'. It is sourced by a shell script, and so must be valid -POSIX shell input; normally, it will just be a sequence of `KEY=value' -lines, but if the value contains spaces or other special characters -then it must be quoted. For example: - - GRUB_TERMINAL_INPUT="console serial" - - Valid keys in `/etc/default/grub' are as follows: - -`GRUB_DEFAULT' - The default menu entry. This may be a number, in which case it - identifies the Nth entry in the generated menu counted from zero, - or the full name of a menu entry, or the special string `saved'. - Using the full name may be useful if you want to set a menu entry - as the default even though there may be a variable number of - entries before it. - - If you set this to `saved', then the default menu entry will be - that saved by `GRUB_SAVEDEFAULT', `grub-set-default', or - `grub-reboot'. - - The default is `0'. - -`GRUB_SAVEDEFAULT' - If this option is set to `true', then, when an entry is selected, - save it as a new default entry for use by future runs of GRUB. - This is only useful if `GRUB_DEFAULT=saved'; it is a separate - option because `GRUB_DEFAULT=saved' is useful without this option, - in conjunction with `grub-set-default' or `grub-reboot'. Unset by - default. - -`GRUB_TIMEOUT' - Boot the default entry this many seconds after the menu is - displayed, unless a key is pressed. The default is `5'. Set to - `0' to boot immediately without displaying the menu, or to `-1' to - wait indefinitely. - -`GRUB_HIDDEN_TIMEOUT' - Wait this many seconds for a key to be pressed before displaying - the menu. If no key is pressed during that time, boot - immediately. Unset by default. - -`GRUB_HIDDEN_TIMEOUT_QUIET' - In conjunction with `GRUB_HIDDEN_TIMEOUT', set this to `true' to - suppress the verbose countdown while waiting for a key to be - pressed before displaying the menu. Unset by default. - -`GRUB_DEFAULT_BUTTON' -`GRUB_TIMEOUT_BUTTON' -`GRUB_HIDDEN_TIMEOUT_BUTTON' -`GRUB_BUTTON_CMOS_ADDRESS' - Variants of the corresponding variables without the `_BUTTON' - suffix, used to support vendor-specific power buttons. *Note - Vendor power-on keys::. - -`GRUB_DISTRIBUTOR' - Set by distributors of GRUB to their identifying name. This is - used to generate more informative menu entry titles. - -`GRUB_TERMINAL_INPUT' - Select the terminal input device. You may select multiple devices - here, separated by spaces. - - Valid terminal input names depend on the platform, but may include - `console' (PC BIOS and EFI consoles), `serial' (serial terminal), - `ofconsole' (Open Firmware console), `at_keyboard' (PC AT - keyboard, mainly useful with Coreboot), or `usb_keyboard' (USB - keyboard using the HID Boot Protocol, for cases where the firmware - does not handle this). - - The default is to use the platform's native terminal input. - -`GRUB_TERMINAL_OUTPUT' - Select the terminal output device. You may select multiple - devices here, separated by spaces. - - Valid terminal output names depend on the platform, but may include - `console' (PC BIOS and EFI consoles), `serial' (serial terminal), - `gfxterm' (graphics-mode output), `ofconsole' (Open Firmware - console), or `vga_text' (VGA text output, mainly useful with - Coreboot). - - The default is to use the platform's native terminal input. - -`GRUB_TERMINAL' - If this option is set, it overrides both `GRUB_TERMINAL_INPUT' and - `GRUB_TERMINAL_OUTPUT' to the same value. - -`GRUB_SERIAL_COMMAND' - A command to configure the serial port when using the serial - console. *Note serial::. Defaults to `serial'. - -`GRUB_CMDLINE_LINUX' - Command-line arguments to add to menu entries for the Linux kernel. - -`GRUB_CMDLINE_LINUX_DEFAULT' - Unless `GRUB_DISABLE_LINUX_RECOVERY' is set, two menu entries will - be generated for each Linux kernel: one default entry and one - entry for recovery mode. This option lists command-line arguments - to add only to the default menu entry, after those listed in - `GRUB_CMDLINE_LINUX'. - -`GRUB_CMDLINE_NETBSD' -`GRUB_CMDLINE_NETBSD_DEFAULT' - As `GRUB_CMDLINE_LINUX' and `GRUB_CMDLINE_LINUX_DEFAULT', but for - NetBSD. - -`GRUB_DISABLE_LINUX_UUID' - Normally, `grub-mkconfig' will generate menu entries that use - universally-unique identifiers (UUIDs) to identify the root - filesystem to the Linux kernel, using a `root=UUID=...' kernel - parameter. This is usually more reliable, but in some cases it - may not be appropriate. To disable the use of UUIDs, set this - option to `true'. - -`GRUB_DISABLE_LINUX_RECOVERY' - Disable the generation of recovery mode menu entries for Linux. - -`GRUB_DISABLE_NETBSD_RECOVERY' - Disable the generation of recovery mode menu entries for NetBSD. - -`GRUB_GFXMODE' - Set the resolution used on the `gfxterm' graphical terminal. Note - that you can only use modes which your graphics card supports via - VESA BIOS Extensions (VBE), so for example native LCD panel - resolutions may not be available. The default is `640x480'. - -`GRUB_BACKGROUND' - Set a background image for use with the `gfxterm' graphical - terminal. The value of this option must be a file readable by - GRUB at boot time, and it must end with `.png', `.tga', `.jpg', or - `.jpeg'. The image will be scaled if necessary to fit the screen. - -`GRUB_THEME' - Set a theme for use with the `gfxterm' graphical terminal. *Note - Themes::. - -`GRUB_GFXPAYLOAD_LINUX' - Set to `text' to force the Linux kernel to boot in normal text - mode, `keep' to preserve the graphics mode set using - `GRUB_GFXMODE', `WIDTHxHEIGHT'[`xDEPTH'] to set a particular - graphics mode, or a sequence of these separated by commas or - semicolons to try several modes in sequence. - - Depending on your kernel, your distribution, your graphics card, - and the phase of the moon, note that using this option may cause - GNU/Linux to suffer from various display problems, particularly - during the early part of the boot sequence. If you have problems, - simply unset this option and GRUB will tell Linux to boot in - normal text mode. - -`GRUB_DISABLE_OS_PROBER' - Normally, `grub-mkconfig' will try to use the external `os-prober' - program, if installed, to discover other operating systems - installed on the same system and generate appropriate menu entries - for them. Set this option to `true' to disable this. - -`GRUB_INIT_TUNE' - Play a tune on the speaker when GRUB starts. This is particularly - useful for users unable to see the screen. The value of this - option is passed directly to *note play::. - - For more detailed customisation of `grub-mkconfig''s output, you may -edit the scripts in `/etc/grub.d' directly. `/etc/grub.d/40_custom' is -particularly useful for adding entire custom menu entries; simply type -the menu entries you want to add at the end of that file, making sure -to leave at least the first two lines intact. - - -File: grub.info, Node: Shell-like scripting, Prev: Simple configuration, Up: Configuration - -5.2 Writing full configuration files directly -============================================= - - -File: grub.info, Node: Serial terminal, Next: Vendor power-on keys, Prev: Network, Up: Top - -6 Using GRUB via a serial line -****************************** - -This chapter describes how to use the serial terminal support in GRUB. - - If you have many computers or computers with no display/keyboard, it -could be very useful to control the computers through serial -communications. To connect one computer with another via a serial line, -you need to prepare a null-modem (cross) serial cable, and you may need -to have multiport serial boards, if your computer doesn't have extra -serial ports. In addition, a terminal emulator is also required, such as -minicom. Refer to a manual of your operating system, for more -information. - - As for GRUB, the instruction to set up a serial terminal is quite -simple. First of all, make sure that you haven't specified the option -`--disable-serial' to the configure script when you built your GRUB -images. If you get them in binary form, probably they have serial -terminal support already. - - Then, initialize your serial terminal after GRUB starts up. Here is -an example: - - grub> serial --unit=0 --speed=9600 - grub> terminal serial - - The command `serial' initializes the serial unit 0 with the speed -9600bps. The serial unit 0 is usually called `COM1', so, if you want to -use COM2, you must specify `--unit=1' instead. This command accepts -many other options, so please refer to *note serial::, for more details. - - The command `terminal' (*note terminal::) chooses which type of -terminal you want to use. In the case above, the terminal will be a -serial terminal, but you can also pass `console' to the command, as -`terminal serial console'. In this case, a terminal in which you press -any key will be selected as a GRUB terminal. - - However, note that GRUB assumes that your terminal emulator is -compatible with VT100 by default. This is true for most terminal -emulators nowadays, but you should pass the option `--dumb' to the -command if your terminal emulator is not VT100-compatible or implements -few VT100 escape sequences. If you specify this option then GRUB -provides you with an alternative menu interface, because the normal -menu requires several fancy features of your terminal. - - -File: grub.info, Node: Vendor power-on keys, Next: Preset Menu, Prev: Serial terminal, Up: Top - -7 Using GRUB with vendor power-on keys -************************************** - -Some laptop vendor provide an additional power-on button which boots -another OS. GRUB supports such buttons with GRUB_TIMEOUT_BUTTON, -GRUB_DEFAULT_BUTTON, GRUB_HIDDEN_TIMEOUT_BUTTON and -GRUB_BUTTON_CMOS_ADDRESS variables in default/grub. -GRUB_TIMEOUT_BUTTON, GRUB_DEFAULT_BUTTON and GRUB_HIDDEN_TIMEOUT_BUTTON -are used instead of corresponding variables without _BUTTON suffix when -powered using special button. GRUB_BUTTON_CMOS_ADDRESS is vendor -specific and partially model-specific. Values known to GRUB team are: - - - 85:3 - - To take full advantage of this function install GRUB into MBR. - - -File: grub.info, Node: Filesystem, Next: Interface, Prev: Images, Up: Top - -8 Filesystem syntax and semantics -********************************* - -GRUB uses a special syntax for specifying disk drives which can be -accessed by BIOS. Because of BIOS limitations, GRUB cannot distinguish -between IDE, ESDI, SCSI, or others. You must know yourself which BIOS -device is equivalent to which OS device. Normally, that will be clear if -you see the files in a device or use the command `find' (*note find::). - -* Menu: - -* Device syntax:: How to specify devices -* File name syntax:: How to specify files -* Block list syntax:: How to specify block lists - - -File: grub.info, Node: Device syntax, Next: File name syntax, Up: Filesystem - -8.1 How to specify devices -========================== - -The device syntax is like this: - - `(DEVICE[,PART-NUM][,BSD-SUBPART-LETTER])' - - `[]' means the parameter is optional. DEVICE should be either `fd' -or `hd' followed by a digit, like `fd0'. But you can also set DEVICE -to a hexadecimal or a decimal number which is a BIOS drive number, so -the following are equivalent: - - (hd0) - (0x80) - (128) - - PART-NUM represents the partition number of DEVICE, starting from -one for primary partitions and from five for extended partitions, and -BSD-SUBPART-LETTER represents the BSD disklabel subpartition, such as -`a' or `e'. - - A shortcut for specifying BSD subpartitions is -`(DEVICE,BSD-SUBPART-LETTER)', in this case, GRUB searches for the -first PC partition containing a BSD disklabel, then finds the -subpartition BSD-SUBPART-LETTER. Here is an example: - - (hd0,a) - - The syntax `(hd0)' represents using the entire disk (or the MBR when -installing GRUB), while the syntax `(hd0,1)' represents using the first -partition of the disk (or the boot sector of the partition when -installing GRUB). - - If you enabled the network support, the special drive, `(nd)', is -also available. Before using the network drive, you must initialize the -network. *Note Network::, for more information. - - If you boot GRUB from a CD-ROM, `(cd)' is available. *Note Making a -GRUB bootable CD-ROM::, for details. - - -File: grub.info, Node: File name syntax, Next: Block list syntax, Prev: Device syntax, Up: Filesystem - -8.2 How to specify files -======================== - -There are two ways to specify files, by "absolute file name" and by -"block list". - - An absolute file name resembles a Unix absolute file name, using `/' -for the directory separator (not `\' as in DOS). One example is -`(hd0,1)/boot/grub/grub.cfg'. This means the file `/boot/grub/grub.cfg' -in the first partition of the first hard disk. If you omit the device -name in an absolute file name, GRUB uses GRUB's "root device" -implicitly. So if you set the root device to, say, `(hd1,1)' by the -command `root' (*note root::), then `/boot/kernel' is the same as -`(hd1,1)/boot/kernel'. - - -File: grub.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem - -8.3 How to specify block lists -============================== - -A block list is used for specifying a file that doesn't appear in the -filesystem, like a chainloader. The syntax is -`[OFFSET]+LENGTH[,[OFFSET]+LENGTH]...'. Here is an example: - - `0+100,200+1,300+300' - - This represents that GRUB should read blocks 0 through 99, block 200, -and blocks 300 through 599. If you omit an offset, then GRUB assumes -the offset is zero. - - Like the file name syntax (*note File name syntax::), if a blocklist -does not contain a device name, then GRUB uses GRUB's "root device". So -`(hd0,2)+1' is the same as `+1' when the root device is `(hd0,2)'. - - -File: grub.info, Node: Interface, Next: Commands, Prev: Filesystem, Up: Top - -9 GRUB's user interface -*********************** - -GRUB has both a simple menu interface for choosing preset entries from a -configuration file, and a highly flexible command-line for performing -any desired combination of boot commands. - - GRUB looks for its configuration file as soon as it is loaded. If one -is found, then the full menu interface is activated using whatever -entries were found in the file. If you choose the "command-line" menu -option, or if the configuration file was not found, then GRUB drops to -the command-line interface. - -* Menu: - -* Command-line interface:: The flexible command-line interface -* Menu interface:: The simple menu interface -* Menu entry editor:: Editing a menu entry - - -File: grub.info, Node: Command-line interface, Next: Menu interface, Up: Interface - -9.1 The flexible command-line interface -======================================= - -The command-line interface provides a prompt and after it an editable -text area much like a command-line in Unix or DOS. Each command is -immediately executed after it is entered(1) (*note Command-line -interface-Footnote-1::). The commands (*note Command-line and menu -entry commands::) are a subset of those available in the configuration -file, used with exactly the same syntax. - - Cursor movement and editing of the text on the line can be done via a -subset of the functions available in the Bash shell: - - - - Move forward one character. - - - - Move back one character. - - - - Move to the start of the line. - - - - Move the the end of the line. - - - - Delete the character underneath the cursor. - - - - Delete the character to the left of the cursor. - - - Kill the text from the current cursor position to the end of the - line. - - - Kill backward from the cursor to the beginning of the line. - - - Yank the killed text back into the buffer at the cursor. - - - - Move up through the history list. - - - - Move down through the history list. - - When typing commands interactively, if the cursor is within or before -the first word in the command-line, pressing the key (or ) -will display a listing of the available commands, and if the cursor is -after the first word, the `' will provide a completion listing of -disks, partitions, and file names depending on the context. Note that -to obtain a list of drives, one must open a parenthesis, as `root ('. - - Note that you cannot use the completion functionality in the TFTP -filesystem. This is because TFTP doesn't support file name listing for -the security. - - -File: grub.info, Node: Command-line interface-Footnotes, Up: Command-line interface - - (1) However, this behavior will be changed in the future version, in -a user-invisible way. - - -File: grub.info, Node: Menu interface, Next: Menu entry editor, Prev: Command-line interface, Up: Interface - -9.2 The simple menu interface -============================= - -The menu interface is quite easy to use. Its commands are both -reasonably intuitive and described on screen. - - Basically, the menu interface provides a list of "boot entries" to -the user to choose from. Use the arrow keys to select the entry of -choice, then press to run it. An optional timeout is available -to boot the default entry (the first one if not set), which is aborted -by pressing any key. - - Commands are available to enter a bare command-line by pressing -(which operates exactly like the non-config-file version of GRUB, but -allows one to return to the menu if desired by pressing ) or to -edit any of the "boot entries" by pressing . - - If you protect the menu interface with a password (*note Security::), -all you can do is choose an entry by pressing , or press

to -enter the password. - - -File: grub.info, Node: Menu entry editor, Prev: Menu interface, Up: Interface - -9.3 Editing a menu entry -======================== - -The menu entry editor looks much like the main menu interface, but the -lines in the menu are individual commands in the selected entry instead -of entry names. - - If an is pressed in the editor, it aborts all the changes made -to the configuration entry and returns to the main menu interface. - - When a particular line is selected, the editor places the user in a -special version of the GRUB command-line to edit that line. When the -user hits , GRUB replaces the line in question in the boot entry -with the changes (unless it was aborted via , in which case the -changes are thrown away). - - If you want to add a new line to the menu entry, press if adding -a line after the current line or press if before the current line. - - To delete a line, hit the key . Although GRUB unfortunately does -not support "undo", you can do almost the same thing by just returning -to the main menu. - - -File: grub.info, Node: Commands, Next: Troubleshooting, Prev: Interface, Up: Top - -10 The list of available commands -********************************* - -In this chapter, we list all commands that are available in GRUB. - - Commands belong to different groups. A few can only be used in the -global section of the configuration file (or "menu"); most of them can -be entered on the command-line and can be used either anywhere in the -menu or specifically in the menu entries. - -* Menu: - -* Menu-specific commands:: -* General commands:: -* Command-line and menu entry commands:: - - -File: grub.info, Node: Menu-specific commands, Next: General commands, Up: Commands - -10.1 The list of commands for the menu only -=========================================== - -The semantics used in parsing the configuration file are the following: - - * The menu-specific commands have to be used before any others. - - * The files _must_ be in plain-text format. - - * `#' at the beginning of a line in a configuration file means it is - only a comment. - - * Options are separated by spaces. - - * All numbers can be either decimal or hexadecimal. A hexadecimal - number must be preceded by `0x', and is case-insensitive. - - * Extra options or text at the end of the line are ignored unless - otherwise specified. - - * Unrecognized commands are added to the current entry, except - before entries start, where they are ignored. - - These commands can only be used in the menu: - -* Menu: - -* menuentry:: Start a menu entry - - -File: grub.info, Node: menuentry, Up: Menu-specific commands - -10.1.1 menuentry ----------------- - - -- Command: title name ... - Start a new boot entry, and set its name to the contents of the - rest of the line, starting with the first non-space character. - - -File: grub.info, Node: General commands, Next: Command-line and menu entry commands, Prev: Menu-specific commands, Up: Commands - -10.2 The list of general commands -================================= - -Commands usable anywhere in the menu and in the command-line. - -* Menu: - -* serial:: Set up a serial device -* terminfo:: Define terminal type - - -File: grub.info, Node: serial, Next: terminfo, Up: General commands - -10.2.1 serial -------------- - - -- Command: serial [`--unit=unit'] [`--port=port'] [`--speed=speed'] - [`--word=word'] [`--parity=parity'] [`--stop=stop'] - Initialize a serial device. UNIT is a number in the range 0-3 - specifying which serial port to use; default is 0, which - corresponds to the port often called COM1. PORT is the I/O port - where the UART is to be found; if specified it takes precedence - over UNIT. SPEED is the transmission speed; default is 9600. WORD - and STOP are the number of data bits and stop bits. Data bits must - be in the range 5-8 and stop bits must be 1 or 2. Default is 8 data - bits and one stop bit. PARITY is one of `no', `odd', `even' and - defaults to `no'. - - The serial port is not used as a communication channel unless the - `terminal' command is used (*note terminal::). - - This command is only available if GRUB is compiled with serial - support. See also *note Serial terminal::. - - -File: grub.info, Node: terminfo, Prev: serial, Up: General commands - -10.2.2 terminfo ---------------- - - -- Command: terminfo [term] - Define the capabilities of your terminal by giving the name of an - entry in the terminfo database, which should correspond roughly to - a `TERM' environment variable in Unix. - - At the moment, only `vt100' is supported in GRUB 2. If you need - other terminal types, please contact us to discuss the best way to - include support for these in GRUB. - - If no option is specified, the current terminal type is printed. - - -File: grub.info, Node: Command-line and menu entry commands, Prev: General commands, Up: Commands - -10.3 The list of command-line and menu entry commands -===================================================== - -These commands are usable in the command-line and in menu entries. If -you forget a command, you can run the command `help' (*note help::). - -* Menu: - -* acpi:: Load ACPI tables -* blocklist:: Print a block list -* boot:: Start up your operating system -* cat:: Show the contents of a file -* chainloader:: Chain-load another boot loader -* cmp:: Compare two files -* configfile:: Load a configuration file -* crc:: Calculate CRC32 checksums -* date:: Display or set current date and time -* drivemap:: Map a drive to another -* echo:: Display a line of text -* export:: Export an environment variable -* gettext:: Translate a string -* gptsync:: Fill an MBR based on GPT entries -* halt:: Shut down your computer -* help:: Show help messages -* insmod:: Insert a module -* keystatus:: Check key modifier status -* ls:: List devices or files -* parttool:: Modify partition table entries -* play:: Play a tune -* reboot:: Reboot your computer -* set:: Set an environment variable -* unset:: Unset an environment variable - - -File: grub.info, Node: acpi, Next: blocklist, Up: Command-line and menu entry commands - -10.3.1 acpi ------------ - - -- Command: acpi [`-1'|`-2'] - [`--exclude=table1,...'|`--load-only=table1,...'] - [`--oemid=id'] [`--oemtable=table'] [`--oemtablerev=rev'] - [`--oemtablecreator=creator'] [`--oemtablecreatorrev=rev'] - [`--no-ebda'] filename ... - Modern BIOS systems normally implement the Advanced Configuration - and Power Interface (ACPI), and define various tables that - describe the interface between an ACPI-compliant operating system - and the firmware. In some cases, the tables provided by default - only work well with certain operating systems, and it may be - necessary to replace some of them. - - Normally, this command will replace the Root System Description - Pointer (RSDP) in the Extended BIOS Data Area to point to the new - tables. If the `--no-ebda' option is used, the new tables will be - known only to GRUB, but may be used by GRUB's EFI emulation. - - -File: grub.info, Node: blocklist, Next: boot, Prev: acpi, Up: Command-line and menu entry commands - -10.3.2 blocklist ----------------- - - -- Command: blocklist file - Print a block list (*note Block list syntax::) for FILE. - - -File: grub.info, Node: boot, Next: cat, Prev: blocklist, Up: Command-line and menu entry commands - -10.3.3 boot ------------ - - -- Command: boot - Boot the OS or chain-loader which has been loaded. Only necessary - if running the fully interactive command-line (it is implicit at - the end of a menu entry). - - -File: grub.info, Node: cat, Next: chainloader, Prev: boot, Up: Command-line and menu entry commands - -10.3.4 cat ----------- - - -- Command: cat file - Display the contents of the file FILE. This command may be useful - to remind you of your OS's root partition: - - grub> cat /etc/fstab - - -File: grub.info, Node: chainloader, Next: cmp, Prev: cat, Up: Command-line and menu entry commands - -10.3.5 chainloader ------------------- - - -- Command: chainloader [`--force'] file - Load FILE as a chain-loader. Like any other file loaded by the - filesystem code, it can use the blocklist notation (*note Block - list syntax::) to grab the first sector of the current partition - with `+1'. If you specify the option `--force', then load FILE - forcibly, whether it has a correct signature or not. This is - required when you want to load a defective boot loader, such as - SCO UnixWare 7.1 (*note SCO UnixWare::). - - -File: grub.info, Node: cmp, Next: configfile, Prev: chainloader, Up: Command-line and menu entry commands - -10.3.6 cmp ----------- - - -- Command: cmp file1 file2 - Compare the file FILE1 with the file FILE2. If they differ in - size, print the sizes like this: - - Differ in size: 0x1234 [foo], 0x4321 [bar] - - If the sizes are equal but the bytes at an offset differ, then - print the bytes like this: - - Differ at the offset 777: 0xbe [foo], 0xef [bar] - - If they are completely identical, nothing will be printed. - - -File: grub.info, Node: configfile, Next: crc, Prev: cmp, Up: Command-line and menu entry commands - -10.3.7 configfile ------------------ - - -- Command: configfile file - Load FILE as a configuration file. - - -File: grub.info, Node: crc, Next: date, Prev: configfile, Up: Command-line and menu entry commands - -10.3.8 crc ----------- - - -- Command: crc file - Display the CRC32 checksum of FILE. - - -File: grub.info, Node: date, Next: drivemap, Prev: crc, Up: Command-line and menu entry commands - -10.3.9 date ------------ - - -- Command: date [[year-]month-day] [hour:minute[:second]] - With no arguments, print the current date and time. - - Otherwise, take the current date and time, change any elements - specified as arguments, and set the result as the new date and - time. For example, `date 01-01' will set the current month and - day to January 1, but leave the year, hour, minute, and second - unchanged. - - -File: grub.info, Node: drivemap, Next: echo, Prev: date, Up: Command-line and menu entry commands - -10.3.10 drivemap ----------------- - - -- Command: drivemap `-l'|`-r'|[`-s'] from_drive to_drive - Without options, map the drive FROM_DRIVE to the drive TO_DRIVE. - This is necessary when you chain-load some operating systems, such - as DOS, if such an OS resides at a non-first drive. For - convenience, any partition suffix on the drive is ignored, so you - can safely use ${root} as a drive specification. - - With the `-s' option, perform the reverse mapping as well, swapping - the two drives. - - With the `-l' option, list the current mappings. - - With the `-r' option, reset all mappings to the default values. - - For example: - - drivemap -s (hd0) (hd1) - - -File: grub.info, Node: echo, Next: export, Prev: drivemap, Up: Command-line and menu entry commands - -10.3.11 echo ------------- - - -- Command: echo [`-n'] [`-e'] string ... - Display the requested text and, unless the `-n' option is used, a - trailing new line. If there is more than one string, they are - separated by spaces in the output. As usual in GRUB commands, - variables may be substituted using `${var}'. - - The `-e' option enables interpretation of backslash escapes. The - following sequences are recognised: - - `\\' - backslash - - `\a' - alert (BEL) - - `\c' - suppress trailing new line - - `\f' - form feed - - `\n' - new line - - `\r' - carriage return - - `\t' - horizontal tab - - `\v' - vertical tab - - When interpreting backslash escapes, backslash followed by any - other character will print that character. - - -File: grub.info, Node: export, Next: gettext, Prev: echo, Up: Command-line and menu entry commands - -10.3.12 export --------------- - - -- Command: export envvar - Export the environment variable ENVVAR. Exported variables are - visible to subsidiary configuration files loaded using - `configfile'. - - -File: grub.info, Node: gettext, Next: gptsync, Prev: export, Up: Command-line and menu entry commands - -10.3.13 gettext ---------------- - - -- Command: gettext string - Translate STRING into the current language. - - The current language code is stored in the `lang' variable in - GRUB's environment. Translation files in MO format are read from - `locale_dir', usually `/boot/grub/locale'. - - -File: grub.info, Node: gptsync, Next: halt, Prev: gettext, Up: Command-line and menu entry commands - -10.3.14 gptsync ---------------- - - -- Command: gptsync device [partition[+/-[type]]] ... - Disks using the GUID Partition Table (GPT) also have a legacy - Master Boot Record (MBR) partition table for compatibility with - the BIOS and with older operating systems. The legacy MBR can - only represent a limited subset of GPT partition entries. - - This command populates the legacy MBR with the specified PARTITION - entries on DEVICE. Up to three partitions may be used. - - TYPE is an MBR partition type code; prefix with `0x' if you want - to enter this in hexadecimal. The separator between PARTITION and - TYPE may be `+' to make the partition active, or `-' to make it - inactive; only one partition may be active. If both the separator - and type are omitted, then the partition will be inactive. - - -File: grub.info, Node: halt, Next: help, Prev: gptsync, Up: Command-line and menu entry commands - -10.3.15 halt ------------- - - -- Command: halt `--no-apm' - The command halts the computer. If the `--no-apm' option is - specified, no APM BIOS call is performed. Otherwise, the computer - is shut down using APM. - - -File: grub.info, Node: help, Next: insmod, Prev: halt, Up: Command-line and menu entry commands - -10.3.16 help ------------- - - -- Command: help `--all' [pattern ...] - Display helpful information about builtin commands. If you do not - specify PATTERN, this command shows short descriptions of most of - available commands. If you specify the option `--all' to this - command, short descriptions of rarely used commands (such as *note - testload::) are displayed as well. - - If you specify any PATTERNS, it displays longer information about - each of the commands which match those PATTERNS. - - -File: grub.info, Node: insmod, Next: keystatus, Prev: help, Up: Command-line and menu entry commands - -10.3.17 insmod --------------- - - -- Command: insmod module - Insert the dynamic GRUB module called MODULE. - - -File: grub.info, Node: keystatus, Next: ls, Prev: insmod, Up: Command-line and menu entry commands - -10.3.18 keystatus ------------------ - - -- Command: keystatus [`--shift'] [`--ctrl'] [`--alt'] - Return true if the Shift, Control, or Alt modifier keys are held - down, as requested by options. This is useful in scripting, to - allow some user control over behaviour without having to wait for - a keypress. - - Checking key modifier status is only supported on some platforms. - If invoked without any options, the `keystatus' command returns - true if and only if checking key modifier status is supported. - - -File: grub.info, Node: ls, Next: parttool, Prev: keystatus, Up: Command-line and menu entry commands - -10.3.19 ls ----------- - - -- Command: ls [arg] - List devices or files. - - With no arguments, print all devices known to GRUB. - - If the argument is a device name enclosed in parentheses (*note - Device syntax::), then list all files at the root directory of - that device. - - If the argument is a directory given as an absolute file name - (*note File name syntax::), then list the contents of that - directory. - - -File: grub.info, Node: parttool, Next: play, Prev: ls, Up: Command-line and menu entry commands - -10.3.20 parttool ----------------- - - -- Command: parttool partition commands - Make various modifications to partition table entries. - - Each COMMAND is either a boolean option, in which case it must be - followed with `+' or `-' (with no intervening space) to enable or - disable that option, or else it takes a value in the form - `COMMAND=VALUE'. - - Currently, `parttool' is only useful on DOS partition tables (also - known as Master Boot Record, or MBR). On these partition tables, - the following commands are available: - - `boot' (boolean) - When enabled, this makes the selected partition be the active - (bootable) partition on its disk, clearing the active flag on - all other partitions. This command is limited to _primary_ - partitions. - - `type' (value) - Change the type of an existing partition. The value must be - a number in the range 0-0xFF (prefix with `0x' to enter it in - hexadecimal). - - `hidden' (boolean) - When enabled, this hides the selected partition by setting - the "hidden" bit in its partition type code; when disabled, - unhides the selected partition by clearing this bit. This is - useful only when booting DOS or Wwindows and multiple primary - FAT partitions exist in one disk. See also *note - DOS/Windows::. - - -File: grub.info, Node: play, Next: reboot, Prev: parttool, Up: Command-line and menu entry commands - -10.3.21 play ------------- - - -- Command: play file | tempo [pitch1 duration1] [pitch2 duration2] ... - Plays a tune - - If the argument is a file name (*note File name syntax::), play - the tune recorded in it. The file format is first the tempo as an - unsigned 32bit little-endian number, then pairs of unsigned 16bit - little-endian numbers for pitch and duration pairs. - - If the arguments are a series of numbers, play the inline tune. - - The tempo is the base for all note durations. 60 gives a 1-second - base, 120 gives a half-second base, etc. Pitches are Hz. Set - pitch to 0 to produce a rest. - - -File: grub.info, Node: reboot, Next: set, Prev: play, Up: Command-line and menu entry commands - -10.3.22 reboot --------------- - - -- Command: reboot - Reboot the computer. - - -File: grub.info, Node: set, Next: unset, Prev: reboot, Up: Command-line and menu entry commands - -10.3.23 set ------------ - - -- Command: set [envvar=value] - Set the environment variable ENVVAR to VALUE. If invoked with no - arguments, print all environment variables with their values. - - -File: grub.info, Node: unset, Prev: set, Up: Command-line and menu entry commands - -10.3.24 unset -------------- - - -- Command: unset envvar - Unset the environment variable ENVVAR. - - -File: grub.info, Node: Invoking grub-install, Next: Invoking grub-mkconfig, Prev: Troubleshooting, Up: Top - -11 Invoking grub-install -************************ - -The program `grub-install' installs GRUB on your drive using -`grub-mkimage' and (on some platforms) `grub-setup'. You must specify -the device name on which you want to install GRUB, like this: - - grub-install INSTALL_DEVICE - - The device name INSTALL_DEVICE is an OS device name or a GRUB device -name. - - `grub-install' accepts the following options: - -`--help' - Print a summary of the command-line options and exit. - -`--version' - Print the version number of GRUB and exit. - -`--root-directory=DIR' - Install GRUB images under the directory DIR instead of the root - directory. This option is useful when you want to install GRUB - into a separate partition or a removable disk. Here is an example - in which you have a separate "boot" partition which is mounted on - `/boot': - - grub-install --root-directory=/boot hd0 - -`--recheck' - Recheck the device map, even if `/boot/grub/device.map' already - exists. You should use this option whenever you add/remove a disk - into/from your computer. - - -File: grub.info, Node: Invoking grub-mkconfig, Next: Obtaining and Building GRUB, Prev: Invoking grub-install, Up: Top - -12 Invoking grub-mkconfig -************************* - -The program `grub-mkconfig' generates a configuration file for GRUB -(*note Simple configuration::). - - grub-mkconfig -o /boot/grub/grub.cfg - - `grub-mkconfig' accepts the following options: - -`--help' - Print a summary of the command-line options and exit. - -`--version' - Print the version number of GRUB and exit. - -`-o FILE' -`--output=FILE' - Send the generated configuration file to FILE. The default is to - send it to standard output. - - -File: grub.info, Node: Obtaining and Building GRUB, Next: Reporting bugs, Prev: Invoking grub-mkconfig, Up: Top - -Appendix A How to obtain and build GRUB -*************************************** - - *Caution:* GRUB requires binutils-2.9.1.0.23 or later because the - GNU assembler has been changed so that it can produce real 16bits - machine code between 2.9.1 and 2.9.1.0.x. See - `http://sources.redhat.com/binutils/', to obtain information on - how to get the latest version. - - GRUB is available from the GNU alpha archive site -`ftp://alpha.gnu.org/gnu/grub' or any of its mirrors. The file will be -named grub-version.tar.gz. The current version is 1.98, so the file you -should grab is: - - `ftp://alpha.gnu.org/gnu/grub/grub-1.98.tar.gz' - - To unbundle GRUB use the instruction: - - zcat grub-1.98.tar.gz | tar xvf - - - which will create a directory called `grub-1.98' with all the -sources. You can look at the file `INSTALL' for detailed instructions -on how to build and install GRUB, but you should be able to just do: - - cd grub-1.98 - ./configure - make install - - Also, the latest version is available from the SVN. See -`http://savannah.gnu.org/svn/?group=grub' for more information. - - -File: grub.info, Node: Reporting bugs, Next: Future, Prev: Obtaining and Building GRUB, Up: Top - -Appendix B Reporting bugs -************************* - -These are the guideline for how to report bugs. Take a look at this -list below before you submit bugs: - - 1. Before getting unsettled, read this manual through and through. - Also, see the GNU GRUB FAQ - (http://www.gnu.org/software/grub/grub-faq.html). - - 2. Always mention the information on your GRUB. The version number - and the configuration are quite important. If you build it - yourself, write the options specified to the configure script and - your operating system, including the versions of gcc and binutils. - - 3. If you have trouble with the installation, inform us of how you - installed GRUB. Don't omit error messages, if any. Just `GRUB hangs - up when it boots' is not enough. - - The information on your hardware is also essential. These are - especially important: the geometries and the partition tables of - your hard disk drives and your BIOS. - - 4. If GRUB cannot boot your operating system, write down _everything_ - you see on the screen. Don't paraphrase them, like `The foo OS - crashes with GRUB, even though it can boot with the bar boot - loader just fine'. Mention the commands you executed, the messages - printed by them, and information on your operating system - including the version number. - - 5. Explain what you wanted to do. It is very useful to know your - purpose and your wish, and how GRUB didn't satisfy you. - - 6. If you can investigate the problem yourself, please do. That will - give you and us much more information on the problem. Attaching a - patch is even better. - - When you attach a patch, make the patch in unified diff format, and - write ChangeLog entries. But, even when you make a patch, don't - forget to explain the problem, so that we can understand what your - patch is for. - - 7. Write down anything that you think might be related. Please - understand that we often need to reproduce the same problem you - encounterred in our environment. So your information should be - sufficient for us to do the same thing--Don't forget that we - cannot see your computer directly. If you are not sure whether to - state a fact or leave it out, state it! Reporting too many things - is much better than omitting something important. - - If you follow the guideline above, submit a report to the Bug -Tracking System (http://savannah.gnu.org/bugs/?group=grub). -Alternatively, you can submit a report via electronic mail to -, but we strongly recommend that you use the Bug -Tracking System, because e-mail can be passed over easily. - - Once we get your report, we will try to fix the bugs. - - -File: grub.info, Node: Future, Next: Internals, Prev: Reporting bugs, Up: Top - -Appendix C Where GRUB will go -***************************** - -We started the next generation of GRUB, GRUB 2. GRUB 2 includes -internationalization, dynamic module loading, real memory management, -multiple architecture support, a scripting language, and many other -nice feature. If you are interested in the development of GRUB 2, take -a look at the homepage (http://www.gnu.org/software/grub/grub.html). - - -File: grub.info, Node: Copying This Manual, Next: Index, Prev: Internals, Up: Top - -Appendix D Copying This Manual -****************************** - -* Menu: - -* GNU Free Documentation License:: License for copying this manual. - - -File: grub.info, Node: GNU Free Documentation License, Up: Copying This Manual - -D.1 GNU Free Documentation License -================================== - - Version 1.2, November 2002 - - Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it - can be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You - accept the license if you copy, modify or distribute the work in a - way requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. If a section does not fit the above definition of - Secondary then it is not allowed to be designated as Invariant. - The Document may contain zero Invariant Sections. If the Document - does not identify any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup, or absence of - markup, has been arranged to thwart or discourage subsequent - modification by readers is not Transparent. An image format is - not Transparent if used for any substantial amount of text. A - copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML, PostScript or PDF designed for - human modification. Examples of transparent image formats include - PNG, XCF and JPG. Opaque formats include proprietary formats that - can be read and edited only by proprietary word processors, SGML or - XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML, PostScript or PDF - produced by some word processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a computer-network location from - which the general network-using public has access to download - using public-standard network protocols a complete Transparent - copy of the Document, free of added material. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section Entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the - section all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided for under this License. Any other - attempt to copy, modify, sublicense or distribute the Document is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. - -D.1.1 ADDENDUM: How to use this License for your documents ----------------------------------------------------------- - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.2 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. - - -File: grub.info, Node: Index, Prev: Copying This Manual, Up: Top - -Index -***** - -[index] -* Menu: - -* acpi: acpi. (line 11) -* blocklist: blocklist. (line 7) -* boot: boot. (line 7) -* cat: cat. (line 7) -* chainloader: chainloader. (line 7) -* cmp: cmp. (line 7) -* configfile: configfile. (line 7) -* crc: crc. (line 7) -* date: date. (line 7) -* drivemap: drivemap. (line 7) -* echo: echo. (line 7) -* export: export. (line 7) -* FDL, GNU Free Documentation License: GNU Free Documentation License. - (line 6) -* gettext: gettext. (line 7) -* gptsync: gptsync. (line 7) -* halt: halt. (line 7) -* help: help. (line 7) -* insmod: insmod. (line 7) -* keystatus: keystatus. (line 7) -* ls: ls. (line 7) -* parttool: parttool. (line 7) -* play: play. (line 7) -* reboot: reboot. (line 7) -* serial: serial. (line 8) -* set: set. (line 7) -* terminfo: terminfo. (line 7) -* title: menuentry. (line 7) -* unset: unset. (line 7) - - - -Tag Table: -Node: Top759 -Node: Introduction2800 -Node: Overview3177 -Node: Overview-Footnotes5161 -Ref: Overview-Footnote-15222 -Node: History5383 -Node: Features6504 -Node: Features-Footnotes12272 -Ref: Features-Footnote-112333 -Node: Role of a boot loader12478 -Node: Role of a boot loader-Footnotes13816 -Ref: Role of a boot loader-Footnote-113903 -Node: Naming convention13982 -Node: Installation16935 -Node: Installing GRUB using grub-install18335 -Node: Making a GRUB bootable CD-ROM21233 -Node: Making a GRUB bootable CD-ROM-Footnotes23278 -Ref: Making a GRUB bootable CD-ROM-Footnote-123381 -Node: Booting23456 -Node: General boot methods23848 -Node: Loading an operating system directly24589 -Node: Chain-loading25320 -Node: OS-specific notes26291 -Node: GNU/Hurd26598 -Node: GNU/Linux26964 -Node: DOS/Windows27674 -Node: SCO UnixWare29465 -Node: QNX29867 -Node: Configuration30095 -Node: Simple configuration30554 -Node: Shell-like scripting38108 -Node: Serial terminal38298 -Node: Vendor power-on keys40540 -Node: Filesystem41337 -Node: Device syntax42018 -Node: File name syntax43509 -Node: Block list syntax44250 -Node: Interface44981 -Node: Command-line interface45798 -Node: Command-line interface-Footnotes47737 -Ref: Command-line interface-Footnote-147826 -Node: Menu interface47921 -Node: Menu entry editor48929 -Node: Commands49976 -Node: Menu-specific commands50553 -Node: menuentry51511 -Node: General commands51778 -Node: serial52163 -Node: terminfo53216 -Node: Command-line and menu entry commands53794 -Node: acpi55517 -Node: blocklist56559 -Node: boot56791 -Node: cat57112 -Node: chainloader57416 -Node: cmp58061 -Node: configfile58612 -Node: crc58824 -Node: date59017 -Node: drivemap59554 -Node: echo60357 -Node: export61294 -Node: gettext61606 -Node: gptsync62013 -Node: halt62958 -Node: help63284 -Node: insmod63902 -Node: keystatus64120 -Node: ls64755 -Node: parttool65299 -Node: play66791 -Node: reboot67532 -Node: set67712 -Node: unset68010 -Node: Invoking grub-install68198 -Node: Invoking grub-mkconfig69402 -Node: Obtaining and Building GRUB70037 -Node: Reporting bugs71266 -Node: Future74070 -Node: Copying This Manual74559 -Node: GNU Free Documentation License74790 -Node: Index97198 - -End Tag Table diff --git a/system/grub2/grub2.SlackBuild b/system/grub2/grub2.SlackBuild index c1ab43344e..8291739afb 100644 --- a/system/grub2/grub2.SlackBuild +++ b/system/grub2/grub2.SlackBuild @@ -1,14 +1,13 @@ #!/bin/sh -# Slackware build script for grub +# Slackware build script for grub2 # Written by crocket (crockabiscuit@yahoo.com) -# Modified by the SlackBuilds.org project. PRGNAM=grub2 -SRCNAM=grub +ARCNAM=grub VERSION=${VERSION:-1.98} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} # Automatically determine the architecture we're building on: @@ -26,6 +25,8 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} +FONT_SIZE=${FONT_SIZE:-16} + if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" @@ -45,9 +46,9 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.gz -cd $SRCNAM-$VERSION +rm -rf $ARCNAM-$VERSION +tar xvf $CWD/$ARCNAM-$VERSION.tar.gz +cd $ARCNAM-$VERSION chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -74,41 +75,40 @@ cat $CWD/etc.default.grub > $PKG/etc/default/grub sed "s#/usr/lib#/usr/lib${LIBDIRSUFFIX}#" \ $CWD/05_debian_theme > $PKG/etc/grub.d/05_debian_theme -# Don't strip the files it breaks module loading. +# Don't strip the files because it breaks module loading. #find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ # | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true +# convert gnu-unifont to a font useable by grub2 gfxterm. +$PKG/usr/bin/grub-mkfont -o $PKG/usr/share/grub/unifont.pf2 -abv \ + -s $FONT_SIZE /usr/share/fonts/TTF/unifont.ttf + # Copy a snapshot version of grub2 info since the current version's is deficient. -cat $CWD/grub.info > $PKG/usr/info/grub.info +cat $CWD/grub.INFO > $PKG/usr/info/grub.info gzip -9 $PKG/usr/info/*.info* rm -f $PKG/usr/info/dir find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $(find $PKG/usr/man -type l); do ln -s $(readlink $i).gz $i.gz; rm $i; done +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO docs/grub.cfg \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh -# Add .new extension to all configuration files. +# Add .new extension to all configuration files +# and add them to doinst.sh for file in $(find $PKG/etc -type f) do mv $file $file.new + chmod -x $file.new # leaving execution permission is dangerous + echo config ${file#$PKG/}.new >> $PKG/install/doinst.sh done -# Add *.new files into doinst.sh -for file in $(find $PKG/etc -type f -name "*.new") -do - echo config $(echo $file | sed "s:$PKG/::") >> $PKG/install/doinst.sh -done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO docs/grub.cfg \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/grub2/slack-desc b/system/grub2/slack-desc index 5547a58ad5..ed61e9fd38 100644 --- a/system/grub2/slack-desc +++ b/system/grub2/slack-desc @@ -9,11 +9,11 @@ grub2: GRUB (the GRand Unified Bootloader) grub2: grub2: GNU GRUB is a multiboot boot loader. -grub2: +grub2: grub2: os-prober is needed to detect OSes on other partitions. -grub2: -grub2: unifont is required when you want to use a background image on the -grub2: grub screen.(gfxterm(graphical terminal) uses unifont) +grub2: +grub2: unifont is required since graphical terminal uses unifont. +grub2: Graphical terminal displays background images on grub. grub2: grub2: The website of grub is http://www.gnu.org/software/grub/ grub2: -- cgit v1.2.3