Linux内核版本变迁及其获得
unix->freebsd->minix->linux
freebsd->ios(苹果的操作系统)
Linux内核源代码目录结构
研究内核的起点是总这里开始
arch/arm/kernel/head.S 是内核的第一阶段启动代码,bootloader的第二阶段结束以后就会跳到这个地方来执行(未压缩的)
arch和driver比较常用
Linux内核启动引导过程
vmlinux-> Image-> compress/vmlinux-> zImage
v->I 是二进制化:只保留0101等这些东西,把符号表等所有的东西都去掉了
linux内核启动的第二阶段是 main.c
vivi 是仿照linux内核来做的,所以也是两个阶段
head.S mics.S 这两个是解压的代码,执行完bootloader后,会去来这执行解压缩kernel这个程序
完成了以后,生成的zimage被拷贝到内存中,在解压,这时候内存就交给内核去管理了,由内核去分配mmu,以及根文件系统的所存地址
Linux2.6.34内核移植
Linux内核的配置与编译
当设备不存在的时候怎么去添加
模块,只编译不连接,*,即编译又连接
在arm下,在arch/arm,下有个kconfig,就相当于vivi中的config.h
内核中把autoconfig的作用和.config合到了一起
(在bootloader启动的时候做友好界面怎么去做?)
kconfig 的配置语言
Linux2.6.34内核驱动程序移植
阅读(1015) | 评论(0) | 转发(0) |