X86的bootloader(一):选择GRUB

  Briefly, boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).

  我想为我的嵌入式操作系统选择bootloader,并能成功地boot起我最基本的linux系统。 根据现在正在看的O'Reilly的书,我开始选择了U-boot,但是在实际操作的过程中,我发现I don’t check out  the board to fixed my target. And this is the first step. 我的MID应该是x86板块的结构,由于Uboot不仅和CPU的architecture 有关,也和系统的板块结构相关,因此我开始考虑使用GRUB,正如绝大多数的x86机器那样。GRUB maybe a better choice.

  说实在,自己run起一个系统还真的不那么容易……。但是我发现网上的资料,大多是关于GRUB的配置,不是我的目标需求。我现在kernel,由文件系统,如何通过bootloader启动?

  Grub的当前版本为1.96,我上repo.moblin.org上面查看,他的版本是0.97,我查了一下,他也是使用GNU的Grub,增加了一些补丁,有可能是intel进行fastboot的处理。我可以对两个都分别进行尝试。他们不仅仅是版本高低的区别,GRUB 1.96是属于GRUB 2,而0.97是传统的GRUB的最后一个版本。GRUB2将整合PUPA。具体的区别不很清楚。GRUB可以通过本地disk或者网路来进行启动。GRUB的资料可在http://www.gnu.org/software/grub/ 中查看。

  想了想,还是先从0.97开始入手。资料:http://www.gnu.org/software/grub/manual/html_node/ 。

  GURB理解文件系统和kernel的格式,所以你可以安装任意的OS而不无需考虑kernel在disk上的物理位置。我想这一点和uboot有区别。也就是说你可以通过支持kernel的文件名字,the drive和kernel所在的分区,就可以加载内核。

你可能感兴趣的:(嵌入式Linux,Linux)