开始学习内核

    技术2024-10-28  25

    看内核已经很久时间了,不过以前都是在看点零碎的东西,这次决定开始好好看看内核是如何实现的了。

     

    今天是bootsect

     

    2.6中bootsect.S 被分成了好几个部分,让人很是弄不明白,所以决定从以前版本-2.4的内核入手看看内核是如何引导的。

     

    完成bios加载后,bios程序会自动读取引导扇区中的内荣,引导扇区的容量为512byte,根据Makefile中的描述,bootsect是这样被编译的

     

    gcc -E -cpp $@ -o $<   #先对bootsect.S进行预编译

     

    as $@ -O $<   #进行常规的编译

    ld -Ttext 0x0 --oformat binary -s $@ -o $<  #进行链接,连接中的几个具体的参数有待明了,但具体就是如此了。

     

     

    然后是对head.S 和video.S 进行编译

    对他们的编译和对bootsect的编译有所不同,首先将head和video合并为一个大的汇编文件

    然后再利用和上面的一样的makefile代码进行编译就可得到一个可以使用的所谓的loader了。

    最新回复(0)