Gentoo Logo

[ << ] [ < ] [ 主页 ] [ > ] [ >> ]


10. 配置引导程序

内容:

10.a. 做出您的选择

介绍

现在,您已经配置并编译好了内核,必需的一些系统配置文件也已经就位,是时候安装一个叫做引导程序的程序来“引燃”您的内核并启动系统了。

Linux/ARM下存在数种引导程序。您必须选择其中一个受支持的引导程序,而不是全部。 这取决于机器类型,可能您根本没别的选择!

机器 受支持的引导程序
NetWinder NeTTrom
NSLU2(也称SLUG) RedBoot
Loft RedBoot

10.b. NeTTrom

升级NeTTrom

NeTTrom引导程序是为NetWinder机器专门开发的固件。由于历史原因,其它ARM板都不使用NeTTrom,它的源代码已不再提供。不过,最新版固件的镜像文件仍四处流传,所以你要做的第一件事是升级到最新的2.3.3版本。本章可作为一份快速指南,而不能取代完整的固件升级HOWTO

为了刷新固件,您需要最新的发行版、刷新工具集和适当的内核支持。NetWinder刷新驱动程序位于内核中的Character devices之下,称为NetWinder flash support

代码 2.1: 安装NeTTrom和NetWinder工具集

# emerge sys-boot/nettrom sys-block/nwutil

警告: 如果固件刷新出错,您将无法通过软件工具来修复。请确保您已做了防范电源失效的所有保护措施,并且阅读了flashwrite(8)的man手册页。

现在您拥有了最新版本的固件,安装了刷新工具集,您的内核中已支持刷新驱动,并且您已经阅读了flashwrite(8)的man手册页,让我们来刷新这小孩儿!

代码 2.2: 刷新NetWinder固件

首先备份您现有的固件
# dd if=/dev/nwflash of=/boot/nettrom.old bs=1

然后写入新的固件
# flashwrite /boot/nettrom

最后验证已正确写入(用nettrom的实际大小代替BYTESIZE)
# dd if=/dev/nwflash of=/boot/nettrom.new bs=1 count=BYTESIZE
# cmp /boot/nettrom /boot/nettrom.new

如果一切顺利,您就可以重启系统了而不应该留下一砖一瓦。因此让我们继续来实际地引导一个内核。

使用NeTTrom

NeTTrom能够以多种不同的方式启动内核,我们将介绍最常见的两种方式:嵌入在闪存中和从ext2分区载入。

通过nwlilo工具可以很容易地将内核嵌入到闪存中。您只需简单地指定嵌入内核所在的路径以及内核的命令行参数(注意“root=”的值非常重要),就好了!

代码 2.3: 将内核安装到闪存

# nwlilo /boot/zImage "root=/dev/sda2 video=cyber2000fb"

另一种方式是将vmlinux ELF文件复制到ext2启动分区下,然后配置NeTTrom去将它载入。 当您复制好内核,就请重启机器,NeTTrom只能从它自己内部来配置。要中断自动引导过程,请按两次*键,然后再按回车键。下面的例子中,我们假定您的ext2启动分区位于/dev/sda1,主分区位于/dev/sda3

代码 2.4: 配置NeTTrom

NeTTrom> load-defaults
NeTTrom> setenv kernconfig fs
NeTTrom> setenv kerndev /dev/sda1
NeTTrom> setenv rootdev /dev/sda3
NeTTrom> setenv kernfile /boot/vmlinux
NeTTrom> setenv cmdappend [自定义内核命令行设置]
NeTTrom> save-all
NeTTrom> boot

NetWinder机器中DMA硬件损坏的情况并不是很少见,因此如果您的磁盘在开启DMA时报错,只需简单地添加ide=nodma到上面例子中的cmdappend行。

请查阅NetWinder固件——HOWTO,以获取完整的NeTTrom命令指南/参考资料。

现在请继续阅读重启系统

10.c. RedBoot

升级RedBoot

由于RedBoot使用方便,使它越来越流行。固件升级的过程中太容易出错了,因此我们不会在这里介绍这个过程:)。如果您确实想升级,请访问RedBoot主页

现在请继续阅读重启系统

10.d. Das U-Boot

升级Das U-Boot

Das U-Boot的特点在于它的便捷和强大的功能。我们不会在这里介绍如何升级您的版本,因为这个过程太容易出错了:)。 如果您确实想升级,请访问U-Boot主页

现在请继续阅读重启系统

10.e. 重启系统

退出chroot的环境,卸载所有已挂载的分区。然后输入您已经等待多时的那个魔术般的命令:reboot

代码 5.1: 退出chroot,卸载所有分区并重启

">
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot

当然您别忘了取出可引导的CD盘,否则重启后引导的将是这张CD而不是您的新Gentoo系统。

当重启进入到您新装的Gentoo系统之后,请以结束Gentoo的安装来完成剩下的工作。


[ << ] [ < ] [ 主页 ] [ > ] [ >> ]


打印

查看全部

更新于2008年 5月 4日

总结: 因为使用ARM处理器的嵌入式系统太多了,我们的介绍可能没有包含您的引导程序。

Sven Vermeulen
作者

Grant Goodyear
作者

Roy Marples
作者

Daniel Robbins
作者

Chris Houser
作者

Jerry Alexandratos
作者

Seemant Kulleen
Gentoo x86开发人员

Tavis Ormandy
Gentoo Alpha开发人员

Jason Huebel
Gentoo AMD64开发人员

Guy Martin
Gentoo HPPA开发人员

Pieter Van den Abeele
Gentoo PPC开发人员

Joe Kallar
Gentoo SPARC开发人员

Mike Frysinger
Gentoo * 开发人员

John P. Davis
编辑

Pierre-Henri Jondot
编辑

Eric Stockbridge
编辑

Rajiv Manglani
编辑

Jungmin Seo
编辑

Stoyan Zhekov
编辑

Jared Hudson
编辑

Colin Morey
编辑

Jorge Paulo
编辑

Carl Anderson
编辑

Jon Portnoy
编辑

Zack Gilburd
编辑

Jack Morgan
编辑

Benny Chuang
编辑

Erwin
编辑

Joshua Kinard
编辑

Stuart Longland
编辑

Tobias Scherbaum
编辑

Xavier Neys
编辑

Gerald J. Normandin Jr.
审校

Donnie Berkholz
审校

Ken Nowack
审校

Lars Weiler
投稿

张乐
译者

叶宝泰
译者

杨珂
译者

杨小广
译者

vivian.ye
译者

余雷
译者

陈永骥
译者

王国辉
译者

娄东斌
译者

贾震
译者

余鈺炜
译者

陈代焱
译者

范华
译者

沈辰俊
译者

Donate to support our development efforts.

Support OSL
Gentoo Centric Hosting: vr.org
Tek Alchemy
SevenL.net
Global Netoptex Inc.
Bytemark
Edurium
Copyright 2001-2010 Gentoo Foundation, Inc. Questions, Comments? Contact us.