- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux启动过程综述78094
章来源:http :///thread-2-1-3.html
在 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 部分结束。
Bootloader 中使用的所有 srm_”函数在 arch/alpha/lib/”中定义。
以上这种 Boot 方式是一种最简单的方式,即不需其他工具就能引导
Kernel,前提是按照 Makefile 的指导,生成bootimage 件,内含以
来源 (欢迎查看):http :///thread-2-1-3.html
章来源:http :///thread-2-1-3.html
上提到的bootloader 以及vmlinux ,然后将 bootimage 写入自磁盘引
导扇区始的位置中。
当采用 MILO 这样的引导程序来引导 Linux 时,不需要上面所说的
Bootloader,而只需要 vmlinux 或 vmlinux.gz,引导程序会主动解压
加载内核到0x1000 (小内核)或0x 100000 (大内核),并直接进入内
核引导部分,即本文的第二节。
对于I386 平台
i386 系统中一 都有BIOS 做最初的引导工作,那就是将四个主分区
表中的第一个可引导分区的第一个扇区加载到实模式地址 0x7c00
上,然后将控制转交给它。
在 arch/i386/boot” 目录下,bootsect.S 是生成引导扇区的汇编源码,它
先将自己拷贝到0x90000 上,然后将紧接其后的setup 部分(第二
扇区)拷贝到0x90200 ,将真正的内核代码拷贝到0x 100000 。以上这
些拷贝动作都是以bootsect.S、setup.S 以及vmlinux 在磁盘上连续存
放为前提的,也就是说,我们的bzImage 文件或者zImage 件是按
照bootsect,setup , vmlinux 这样的顺序组织,并存放于始于引导分
区的首扇区的连续磁盘扇区之中。
bootsect.S 完成加载动作后,就直接跳转到0x90200 ,这里正是setup.S
的程序入口。 setup.S 的主要功能就是将系统参数 (包括内存、磁盘
等,由BIOS 返回)拷贝到 0x90000-0x901FF 内存中,这个地方正是
bootsect.S 存放的地方,这时它将被系统参数覆盖。以后这些参数将
由保护模式下的代码来读取。
来
您可能关注的文档
最近下载
- xsb-1显示仪表说明书.docx VIP
- 乡村振兴乡村旅游-浙江省乡村旅游设计方案.pdf VIP
- DELTA台达VFD-ME300精巧简易型向量控制变频器使用手册调试说明.pdf
- 眼附属器的解剖ppt参考课件.ppt
- 土壤及地下水采样实施实施方案gp.docx
- 小学科学新教科版三年级上册全册思维导图(共三个单元)(2025秋).doc VIP
- 1415地面流水地质作用.pptx VIP
- Unit1GrowingUpUnderstandingideasTheageofmajority课件高中英语选择性.pptx VIP
- 写文章的软件4篇.docx VIP
- GB 50026-2020 工程测量标准.docx
原创力文档


文档评论(0)