Linux 内核 和 Linux 系统不是同一个概念
linux内核只是操作系统的一部分, 它把核心的东西剥离出来了, 主要包括文件系统的控制, 多任务,驱动,网络等 .
完整的操作系统像 ubuntu 有完整的界面, 有第三方的软件工具等等, 是一个完整的操作系统 .
最难的就是内核调度, 和中断处理
Linux 不是一个真正的实时系统(用时间片来做的),
VxWork是一个真正的实时系统(马上请求马上反应,美国军方的)
应用层
|
linux 内核层
|
硬件层
为了安全性考虑, 所以要分层, 层与层直接不能直接访问,
应用层要访问内核,必须通过系统调用的东西 完成地址切换
内核访问硬件要通过映射 机制(也是地址空间转换),
内核分为两层, 偏上和偏下
编译内核 : make uImage
编译设备树 : make dtbs
linux-3.14.tar.xz
拿到内核之后进行解压 tar -vxf linux-3.14.tar.xz
进去Makefile 里面 改一个交叉编译工具链, 改成你自己本机的
编译过程中如果报这个错误, 我因为交叉编译工具太老了,
/tmp/ccY3TAm3.s:672: Error: garbage following instruction – `dsb ishst’
编译过程中如果报这个错误, 我因为交叉编译工具太老了,
如果以上修改版本后还是不行, 注意看你修改了环境变量是否进行 #source .bashrc 保存和重启终端窗口
.编译内核时候
CC arch/arm