当前位置:首页 » 专业资讯
开发技术指南» 文章正文
    引言: 本文以Redhat 6.0 Linux 2.2.19 for Alpha/AXP为平台,描述了从开机到登录的 Linux 启动全过程。
 

 

 ·[freebsd下的路由zebra]    »显示摘要«
    摘要:zebra下的路由软件仿照cisco的操作界面,你可以象操作cisco一样操作它,功能比较多, * rip:: * ripng:: * ospfv2:: * ospfv3:: * bgp:: * vty shell:: * filtering:: * route map:: * ipv6 support:: * kernel interface:: * snmp support:: * zebra protocol:: * packet binary du......
 ·“红帽”red hat表现出众    »显示摘要«
    摘要: 本周四,开源软件linux操作系统的首要发行商red hat(“红帽”)公司公布了2005年第一季度的收入报告,其中销售收入和去年相比增长了46%之多,这一结果出乎分析人士所料。原文链接:“红帽”red hat表现出众 总部位于罗利(美国北卡罗莱那州的首府)的red hat称,第一季度净赚利润为1240万美元(每股上涨了7美分),而去年的这一数字为1180万美元(每股上涨了6美分)。相比之下,销售收入增加的幅度则比较大,从去年同期的4180万美元增加到现......


Linux启动过程综述 zt
本文以redhat 6.0 linux 2.2.19 for alpha/axp为平台,描述了从开机到登录的 linux 启动全过程。该文对i386平台同样适用。

【相关文章:Windows下sniffer简单实现

【扩展阅读:UNIX System V 文件系统S5

  【扩展信息:ZFS即Zettabyte File S

一. bootloader

在alpha/axp平台上引导linux通常有两种方法,一种是由milo及其他类似的引导程序引导,另一种是由firmware直接引导。milo功能与i386平台的lilo相近,但内置有基本的磁盘驱动程序(如ide、scsi等),以及常见的文件系统驱动程序(如ext2,iso9660等), firmware有arc、srm两种形式,arc具有类bios界面,甚至还有多重引导的设置;而srm则具有功能强大的命令行界面,用户可以在控制台上使用boot等命令引导系统。arc有分区(partition)的概念,因此可以访问到分区的首扇区;而srm只能将控制转给磁盘的首扇区。两种firmware都可以通过引导milo来引导linux,也可以直接引导linux的引导代码。

“arch/alpha/boot”下就是制作linux bootloader的文件。“head.s”文件提供了对 osf pal/1的调用入口,它将被编译后置于引导扇区(arc的分区首扇区或srm的磁盘0扇区),得到控制后初始化一些数据结构,再将控制转给“main.c”中的start_kernel(), start_kernel()向控制台输出一些提示,调用pal_init()初始化pal代码,调用openboot() 打开引导设备(通过读取firmware环境),调用load()将核心代码加载到start_addr(见 “include/asm-alpha/system.h”),再将firmware中的核心引导参数加载到zero_page(0) 中,最后调用runkernel()将控制转给0x100000的kernel,bootloader部分结束。

“arch/alpha/boot/bootp.c”以“main.c”为基础,可代替“main.c”与“head.s” 生成用于bootp协议网络引导的bootloader。

bootloader中使用的所有“srm_”函数在“arch/alpha/lib/”中定义。

以上这种boot方式是一种最简单的方式,即不需其他工具就能引导kernel,前提是按照 makefile的指导,生成bootimage文件,内含以上提到的bootloader以及vmlinux,然后将 bootimage写入自磁盘引导扇区始的位置中。

当采用milo这样的引导程序来引导linux时,不需要上面所说的bootloader,而只需要 vmlinux或vmlinux.gz,引导程序会主动解压加载内核到0x1000(小内核)或0x100000(大内核),并直接进入内核引导部分,即本文的第二节。

对于i386平台

i386系统中一般都有bios做最初的引导工作,那就是将四个主分区表中的第一个可引导分区的第一个扇区加载到实模式地址0x7c00上,然后将控制转交给它。

在“arch/i386/boot”目录下,bootsect.s是生成引导扇区的汇编源码,它首先将自己拷贝到0x90000上,然后将紧接其后的setup部分(第二扇区)拷贝到0x90200,将真正的内核代码拷贝到0x100000。以上这些拷贝动作都是以bootsect.s、setup.s以及vmlinux在磁盘上连续存放为前提的,也就是说,我们的bzimage文件或者zimage文件是按照bootsect,setup, vmlinux这样的顺序组织,并存放于始于引导分区的首扇区的连续磁盘扇区之中。

bootsect.s完成加载动作后,就直接跳转到0x90200,这里正是setup.s的程序入口。
...   下一页
 ·廉价的winxp入门版    »显示摘要«
    摘要: 财大气粗的微软一直为“好邻居”南美洲猖獗的盗版行为所困惑,本周二微软终于按耐不住,引入了一款低价的精简版windows xp操作系统,以帮助那些或许会选择使用盗版软件的低收入初级电脑用户用上合法的操作系统。原文链接:http://www.softhouse.com.cn/html/200506/2005062915062800008810.html 这种“特制”的版本被微软称作是“xp入门版”(xp starter edition),该操作系统将会帮助用......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE