内核:内核是一个基本结构,不是一个完整的系统。
特性:
免费开源
可移植,支持硬件广泛
高可拓展性(可裁剪、可扩展)
高可靠性、稳定性
超强的网络功能
真正的多任务、多用户系统
模块化设计
linux内核子系统:
进程管理
内存管理
文件系统
网络协议
设备管理
下载内核:
linux内核下载地址编译内核: make uImage
编译设备树:make dtbs
linux内核启动分析:
自解压内核 decompess
运行内核汇编部分head.s 入口stext
检测合法性(CPU类型,机器类型)
运行内核C部分 start_kernel
CPU,机器参数的安装 setup_arch
中断、定时、终端、内存等最基本的初始化
创建核心进程kernel_init运行,启动多任务调度
挂载rootfs
运行第一个应用程序init(一般是linuxrcrc)
linux内核调试方法:
点灯法:通过在开始的两个汇编文件中,编写一个点灯程序,测试是否运行。
printk打印输出信息:
puts (内核解压前)
printascii (console初始化前)
printk (内核解压后,信息输出显示是在console初始化之后)
oop内核异常信息:
加载内核时会显示相关信息,可以通过PC寄存器找到错误位置
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/758/viewspace-3144977/ ,如需转载,请注明出处,否则将追究法律责任。