linux ext,extlinux

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值