Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152404
  • 博文数量: 43
  • 博客积分: 3000
  • 博客等级: 中校
  • 技术积分: 601
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-22 17:24
文章分类
文章存档

2010年(43)

我的朋友

分类: LINUX

2010-12-07 12:03:57

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内核驱动程序移植




阅读(1025) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~