当前位置:  技术问答>linux和unix

如何写一个boot loader?

    来源: 互联网  发布时间:2015-08-03

    本文导语:  想写一个boot loader,能引导Linux和Windows就可以了。 lilo和grub的代码太多太多,看起来没有头绪。 又很多问题没有解决,。 1、对loader的位置有些模糊    loader的代码位置应该在0磁道,0磁头,1扇区,但在安装loader之...

想写一个boot loader,能引导Linux和Windows就可以了。
lilo和grub的代码太多太多,看起来没有头绪。
又很多问题没有解决,。

1、对loader的位置有些模糊
   loader的代码位置应该在0磁道,0磁头,1扇区,但在安装loader之前,这里存放的是内核的代码,对于Linux系统是bootsect.S。安装loader之后,这里是loader的代码,那么loader把bootsect.S的代码转移到哪里去了呢?
   在loader中选中linux系统后,是否还是按照linux正常的启动顺序呢?(bootsect.S-->setup.S-->head.S)

2、loader需要加载并识别内核的能力。
   这是否意味着loader需要从FAT32和ext2文件系统中读取内核代码。个人觉得一个简单的loader是不需要的,只要把指令从磁盘上读到内存的指定位置就可以了,而不用关心文件系统,这种想法正确吗?

谢谢大家,欢迎讨论

|
你说的问题,我前几天和一个朋友探论过。要说明白可能有点难。

第一,你说的bootsect.S,你可以放到硬盘的CHS 00*里。因为对于操作系统来说,能看到的是CHS 101
你可以自己写完boot如果确认后,再从CHS00* 读入老的bootsect.S再来执行。你可以读bootsect.S来执行也可不用,看你自己要求。
第二:如果内核是通过文件系统存放的,那一定要通过文件系统来读,而不能只接用INT来读。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 安装Redhat7.1在分/boot区时,划了16M为/boot区却总是报错:Boot pattiton > 1024 Cylinders
  • 求救:SCO UNIX5.05 启动时提示Boot not found Cannot Open Stage/boot failure: error loading hd(40)/boot
  • 编译u-boot时出现???libgcc.a uses hardware FP, whereas u-boot uses software FP
  • 要实现多启动,安装时Master Boot Record和First Sector of Boot Partition,到底应该选哪个?
  • UBOOT编译完后生成的u-boot.img(注意不是u-boot.bin)是什么文件?如何解析它?
  • 救命啊::我Redhat7.3重编内核得一个bzImage文件,我把它COPY到了/boot/下,并修改了/etc/lilo.conf文件image=/boot/bzImage,后lilo -v !怎
  • 关于/boot 分区的作用(grub)
  • 100分请教u-boot.lds链接脚本的问题
  • /boot分区作什么用?
  • u-boot 关于makefile的疑问
  • the mode of kernel booting
  • 关于U-boot的调试、、???
  • SCOUNIX启动时如何默认登录(不用在BOOT提示符下回车)
  • grub 安在/boot分区 无法双启动的问题
  • 怎样利用u-boot烧写??
  • 如何设置u-boot变量ip地址?
  • BOOT分区的问题
  • 移植u-boot的问题
  • Spring Boot
  • 请教,刚下载了一个U_boot 1.2.0源码,能直接编译?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3