Added GRUB docs, Added netboot.xyz
This commit is contained in:
parent
637d9037dc
commit
8f9ccbfa39
35 changed files with 6482 additions and 28 deletions
113
boot/grub/persistent/docs/11_grub_image_files
Normal file
113
boot/grub/persistent/docs/11_grub_image_files
Normal file
|
@ -0,0 +1,113 @@
|
|||
11 GRUB image files
|
||||
*******************
|
||||
|
||||
GRUB consists of several images: a variety of bootstrap images for
|
||||
starting GRUB in various ways, a kernel image, and a set of modules
|
||||
which are combined with the kernel image to form a core image. Here is
|
||||
a short overview of them.
|
||||
|
||||
'boot.img'
|
||||
On PC BIOS systems, this image is the first part of GRUB to start.
|
||||
It is written to a master boot record (MBR) or to the boot sector
|
||||
of a partition. Because a PC boot sector is 512 bytes, the size of
|
||||
this image is exactly 512 bytes.
|
||||
|
||||
The sole function of 'boot.img' is to read the first sector of the
|
||||
core image from a local disk and jump to it. Because of the size
|
||||
restriction, 'boot.img' cannot understand any file system
|
||||
structure, so 'grub-install' hardcodes the location of the first
|
||||
sector of the core image into 'boot.img' when installing GRUB.
|
||||
|
||||
'diskboot.img'
|
||||
This image is used as the first sector of the core image when
|
||||
booting from a hard disk. It reads the rest of the core image into
|
||||
memory and starts the kernel. Since file system handling is not
|
||||
yet available, it encodes the location of the core image using a
|
||||
block list format.
|
||||
|
||||
'cdboot.img'
|
||||
This image is used as the first sector of the core image when
|
||||
booting from a CD-ROM drive. It performs a similar function to
|
||||
'diskboot.img'.
|
||||
|
||||
'pxeboot.img'
|
||||
This image is used as the start of the core image when booting from
|
||||
the network using PXE. *Note Network::.
|
||||
|
||||
'lnxboot.img'
|
||||
This image may be placed at the start of the core image in order to
|
||||
make GRUB look enough like a Linux kernel that it can be booted by
|
||||
LILO using an 'image=' section.
|
||||
|
||||
'kernel.img'
|
||||
This image contains GRUB's basic run-time facilities: frameworks
|
||||
for device and file handling, environment variables, the rescue
|
||||
mode command-line parser, and so on. It is rarely used directly,
|
||||
but is built into all core images.
|
||||
|
||||
'core.img'
|
||||
This is the core image of GRUB. It is built dynamically from the
|
||||
kernel image and an arbitrary list of modules by the 'grub-mkimage'
|
||||
program. Usually, it contains enough modules to access
|
||||
'/boot/grub', and loads everything else (including menu handling,
|
||||
the ability to load target operating systems, and so on) from the
|
||||
file system at run-time. The modular design allows the core image
|
||||
to be kept small, since the areas of disk where it must be
|
||||
installed are often as small as 32KB.
|
||||
|
||||
*Note BIOS installation::, for details on where the core image can
|
||||
be installed on PC systems.
|
||||
|
||||
'*.mod'
|
||||
Everything else in GRUB resides in dynamically loadable modules.
|
||||
These are often loaded automatically, or built into the core image
|
||||
if they are essential, but may also be loaded manually using the
|
||||
'insmod' command (*note insmod::).
|
||||
|
||||
For GRUB Legacy users
|
||||
=====================
|
||||
|
||||
GRUB 2 has a different design from GRUB Legacy, and so correspondences
|
||||
with the images it used cannot be exact. Nevertheless, GRUB Legacy
|
||||
users often ask questions in the terms they are familiar with, and so
|
||||
here is a brief guide to how GRUB 2's images relate to that.
|
||||
|
||||
'stage1'
|
||||
Stage 1 from GRUB Legacy was very similar to 'boot.img' in GRUB 2,
|
||||
and they serve the same function.
|
||||
|
||||
'*_stage1_5'
|
||||
In GRUB Legacy, Stage 1.5's function was to include enough
|
||||
filesystem code to allow the much larger Stage 2 to be read from an
|
||||
ordinary filesystem. In this respect, its function was similar to
|
||||
'core.img' in GRUB 2. However, 'core.img' is much more capable
|
||||
than Stage 1.5 was; since it offers a rescue shell, it is sometimes
|
||||
possible to recover manually in the event that it is unable to load
|
||||
any other modules, for example if partition numbers have changed.
|
||||
'core.img' is built in a more flexible way, allowing GRUB 2 to
|
||||
support reading modules from advanced disk types such as LVM and
|
||||
RAID.
|
||||
|
||||
GRUB Legacy could run with only Stage 1 and Stage 2 in some limited
|
||||
configurations, while GRUB 2 requires 'core.img' and cannot work
|
||||
without it.
|
||||
|
||||
'stage2'
|
||||
GRUB 2 has no single Stage 2 image. Instead, it loads modules from
|
||||
'/boot/grub' at run-time.
|
||||
|
||||
'stage2_eltorito'
|
||||
In GRUB 2, images for booting from CD-ROM drives are now
|
||||
constructed using 'cdboot.img' and 'core.img', making sure that the
|
||||
core image contains the 'iso9660' module. It is usually best to
|
||||
use the 'grub-mkrescue' program for this.
|
||||
|
||||
'nbgrub'
|
||||
There is as yet no equivalent for 'nbgrub' in GRUB 2; it was used
|
||||
by Etherboot and some other network boot loaders.
|
||||
|
||||
'pxegrub'
|
||||
In GRUB 2, images for PXE network booting are now constructed using
|
||||
'pxeboot.img' and 'core.img', making sure that the core image
|
||||
contains the 'pxe' and 'pxecmd' modules. *Note Network::.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue