Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1362284
  • 博文数量: 343
  • 博客积分: 13098
  • 博客等级: 上将
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-06 00:35
文章存档

2012年(131)

2011年(31)

2010年(53)

2009年(23)

2008年(62)

2007年(2)

2006年(36)

2005年(5)

分类: LINUX

2012-09-10 01:39:19

EXTLINUX is a new Syslinux derivative, which boots from a Linux

ext2/ext3 filesystem.

 

It works the same way as SYSLINUX (see doc/syslinux.txt), with a few

slight modifications.

 

1. The installer is run on a *mounted* filesystem.  Run the extlinux

   installer on the directory in which you want extlinux installed:

 

        extlinux --install /boot

 

   Specify --install (-i) to install for the first time, or

   --update (-U) to upgrade a previous installation.

 

   NOTE: this doesn't have to be the root directory of a filesystem.

   If /boot is a filesystem, you can do:

 

        mkdir -p /boot/extlinux

        extlinux --install /boot/extlinux

 

   ... to create a subdirectory and install extlinux in it.

   /boot/extlinux is the recommended location for extlinux.

 

 

2. The configuration file is called "extlinux.conf", and is expected

   to be found in the same directory as extlinux is installed in.

 

 

3. Pathnames can be absolute or relative; if absolute (with a leading

   slash), they are relative to the root of the filesystem on which

   extlinux is installed (/boot in the example above), if relative,

   they are relative to the extlinux directory.

 

   extlinux supports subdirectories, but the total path length is

   limited to 511 characters.

 

 

4. EXTLINUX now supports symbolic links.  However, extremely long

   symbolic links might hit the pathname limit.  Also, please note

   that absolute symbolic links are interpreted from the root *of the

   filesystem*, which might be different from how the running system

   would interpret it (e.g. in the case of a separate /boot

   partition.)  Therefore, use relative symbolic links if at all

   possible.

 

 

5. EXTLINUX now has "boot-once" support.  The boot-once information is

   stored in an on-disk datastructure, part of extlinux.sys, called

   the "Auxillary Data Vector".  The Auxilliary Data Vector is also

   available to COMBOOT/COM32 modules that want to store small amounts

   of information.

 

   To set the boot-once information, do:

 

        extlinux --once 'command' /boot/extlinux

 

   where 'command' is any command you could enter at the Syslinux

   command line.  It will be executed on the next boot and then

   erased.

 

   To clear the boot-once information, do:

 

        extlinux --clear-once /boot/extlinux

 

   If EXTLINUX is used on a RAID-1, this is recommended, since under

   certain circumstances a RAID-1 rebuild can "resurrect" the

   boot-once information otherwise.

 

   To clear the entire Auxillary Data Vector, do:

 

        extlinux --reset-adv /boot/extlinux

 

   This will erase all data stored in the ADV, including boot-once.

 

   The --once, --clear-once, and --reset-adv commands can be combined

   with --install or --update, if desired.  The ADV is preserved

   across updates, unless --reset-adv is specified.

 

 

Note that EXTLINUX installs in the filesystem partition like a

well-behaved bootloader :)  Thus, it needs a master boot record in the

partition table; the mbr.bin shipped with Syslinux should work well.

To install it just do:

 

        cat mbr.bin > /dev/XXX

 

... where /dev/XXX is the appropriate master device, e.g. /dev/hda,

and make sure the correct partition in set active.

 

 

If you have multiple disks in a software RAID configuration, the

preferred way to boot is:

 

- Create a separate RAID-1 partition for /boot.  Note that the Linux

  RAID-1 driver can span as many disks as you wish.

 

- Install the MBR on *each disk*, and mark the RAID-1 partition

  active.

 

- Run "extlinux -i /boot" to install extlinux.  This will install it on

  all the drives in the RAID-1 set, which means you can boot any

  combination of drives in any order.

 

 

 

It is not required to re-run the extlinux installer after installing

new kernels.  If you are using ext3 journalling, however, it might be

desirable to do so, since running the extlinux installer will flush

the log.  Otherwise a dirty shutdown could cause some of the new

kernel image to still be in the log.  This is a general problem for

boot loaders on journalling filesystems; it is not specific to

extlinux.  The "sync" command does not flush the log on the ext3

filesystem.

 

 

The Syslinux Project boot loaders support chain loading other

operating systems via a separate module, chain.c32 (located in

com32/modules/chain.c32).  To use it, specify a LABEL in the

configuration file with KERNEL chain.c32 and APPEND [hd|fd]

[]

 

For example:

 

# Windows CE/ME/NT, a very dense operating system.

# Second partition (2) on the first hard disk (hd0);

# Linux would *typically* call this /dev/hda2 or /dev/sda2.

LABEL cement

        KERNEL chain.c32

        APPEND hd0 2

 

See also doc/menu.txt.

 

阅读(1488) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~