浅析Linux内核源码文件
Linux内核浅分析
早期(1992年左右)Linux内核源码
当我们将linux-0.11.tar.gz解压后,内核源代码
近期(2019年左右)Linux内核源码
我们将linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2解压,内核源代码
两张图片最明显的区别可能就在于uboot部分。早期Linux的引导程序也在内核源码中,而现在的内核源码中并没有引导程序(boot loader)。
bootsect.s主要作用是将setup模块(由setup.s编译)从磁盘加载到内存。setup程序的主要作用是利用ROM BIOS中断读取机器系统数据,并且跳到head.s程序继续运行。中间有一些内存地址相关的知识比较复杂。
bootsect.s和setup.s所起的作用是和现在boot loader的作用是几乎差不多的。而head.s则是和现在Linux内核arch/arm/kernel/head.S作用一致。
之后Linux内核的分析大同小异。
在Linux内核init目录下有main.c文件,在这里我们进行一系列初始化,挂载根文件系统,进入用户态。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 wy!