![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux内核启动
文章平均质量分 88
Linux_Drv
本人对linux内核驱动有浓厚的兴趣,欢迎大家加我qq
展开
-
linux-3.2.36内核启动1-启动参数(arm平台 启动参数的获取和处理,分析setup_arch)
最近公司要求调试一个内核,启动时有问题,所以就花了一点时间看看内核启动。 看的过程中总结了一点东西,希望可以帮助大家调试内核。 当我开始看的时候,第一件事是从网上搜集资料,不看不知道,一看吓一跳!牛人太多了,像这种内核启动的上古代码早就被人分析的彻彻底底。这注定我写的只能是烂微博了。 为了此微博有存在的必要,我会显示内核启动打印的代码位置(用绿色表示)及出现错误打印的原因(用红色表示),同时原创 2013-09-27 14:08:35 · 3012 阅读 · 2 评论 -
linux-3.2.36内核启动2-setup_arch中的内存初始化1(arm平台 分析高端内存和初始化memblock)
上一篇微博留下了这几个函数,现在我们来分析它们 sanity_check_meminfo(); arm_memblock_init(&meminfo, mdesc); paging_init(mdesc); request_standard_resources(mdesc); 在上一微博有展现根据启动参数初始化memi原创 2013-09-27 14:29:47 · 3530 阅读 · 3 评论 -
linux-3.2.36内核启动4-setup_arch中的内存初始化3(arm平台 bootmem_init源码分析)
void__init bootmem_init(void) { unsigned long min, max_low, max_high; max_low = max_high = 0; find_limits(&min, &max_low,&max_high); static void __init find_limits(u原创 2013-10-11 15:24:13 · 2367 阅读 · 0 评论 -
linux-3.2.36内核启动3-setup_arch中的内存初始化2(arm平台 分析建立页表)
再介绍pageing_init之前,我们了解几个定义 pte_t 页表项 pmd_t 页中间目录项 pud_t 页上级目录 pgd_t 页全局目录项 我的arm平台 #define PMD_SHIFT 21 #define PGDIR_SHIFT 21 下面这个函数paging_init每个平台实现不一样,我的根本就没原创 2013-10-01 22:08:10 · 2790 阅读 · 0 评论