bootsect 有32字节的minix header,build.c先读取这32字节的header,然后作出一些有效性的判断,注意,通过build.c可以改变root_dev,这是在bootsect.s里定义的常量,位于偏移508处。我想这个应该对后面的引导过程有用。
setup一共占用了4个扇区,也就是2048字节,可实际上setup本身的代码很小,不到一个扇区,因此build.c将其用0填满至2048字节。
system是内核代码,因为是现代linux操作系统下编译的,使用了ELF格式,通过objcopy处理后变成binary文件,这样就可以直接加入到最后的输出里面就好。
默认下build会将最终的代码输出到stdout,而将一些有用的信息,如setup大小,system大小等输出到stderr,因此使用重定向到Image文件。
阅读(849) | 评论(0) | 转发(0) |