免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 24693148 | 回复: 24693148

【译】linux-2.6.31内核文档系列 [复制链接]

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
发表于 2009-12-21 14:47 |显示全部楼层
翻译了一下kdump.txt,总算弄明白了两个kernel的关系
发出来,希望对大家有用


kdump主页:http://lse.sourceforge.net/kdump/
                  里面有让Debian支持mkinitrd的描述

crash主页:http://people.redhat.com/~anderson/

----------------
Godbach:
将openspace兄翻译的内核文档都整理到该帖子中,便于大家学习,也希望openspace 兄随后的文档也可以继续追加到本贴中。
感谢openspace兄的无私分享!


[ 本帖最后由 Godbach 于 2010-1-3 11:01 编辑 ]

【linux-2.6.31】kdump - 基于kexec的崩溃转储机制.pdf

199.5 KB, 下载次数: 1511

linux-2.6.31-探秘Linux SysRq魔法键.pdf

202.94 KB, 下载次数: 1130

linux-2.6.31-Kernel Probes.pdf

308.63 KB, 下载次数: 1359

【linux-2.6.31】内核编译指南.pdf

222.56 KB, 下载次数: 2397

【linux-2.6.31】如何报bug.pdf

117.22 KB, 下载次数: 1079

【linux-2.6.31】kbuild.pdf

553.12 KB, 下载次数: 1508

论坛徽章:
0
发表于 2009-12-21 16:39 |显示全部楼层
好,仔细看看,之前看代码coredump多是printk打印出来。或者直接写文件就行了。

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
发表于 2009-12-21 17:44 |显示全部楼层
看了kdump - A kexec based dumping mechanism (Paper) - Vievek Goyal et al, OLS 2005这篇paper
简单做个总结

1. crash capture kernel的位置是配置时硬编码指定的,相应的production kernel启动时要通过crashkernel参数将对应内存保留出来

2. crash capture kernel可以直接加载到保留内存区域,准备崩溃时派上用场

3. crash capture kernel的大小有个限制,kexec工具通过memmap=exactmap参数限制capture kernel的大小,该操作是自动进行的,
    用户不需要关心
    这样就可以根据保留区域的起始位置和内核大小判断出backup region的位置

4. crash capture kernel启动时并没有关闭设备,这表示DMA可能还在运行,为避免冲突,不使用前16MB启动crash capture内核
    但是还需要前640KB的信息,这部分信息会复制到backup region
    具体何时复制并不是太清楚,但是由于production kernel配置了kexec支持,又使用了crashkernel参数,又知道crash kernel大小的上限,
    这就可以计算出backup region的位置,可以在系统启动后就先将启动需要的系统信息等复制到backup region;但是论文中描述的backup region大小至少为16M
    (参考2.2A Brief History of Kdump Development),要是在系统启动时就复制会丢失掉系统崩溃时的该部分的信息;前1MB的物理布局不是太清楚,
    猜想虽然linux启动时覆盖一部分,但是启动需要的那部分关于系统硬件的信息没有被破坏,后来也没有被覆盖,因此可以在系统崩溃时复制。实际根据论文中3.3节
    3.3 Post Crash Processing的描述,复制到backup region应该是在系统崩溃后进行的

5. kexec使用的内存不必连续,但是/proc/vmcore使用的内存要求连续,这样kdump使用的也就是连续内存了

6. CPU寄存器信息以ELF note section format存放,每个CPU状态信息占用1KB

7. 崩溃时系统执行关闭操作
         ->保存CPU状态(每个CPU占用1KB)
                  ->purgatory代码进行完整性检测并复制前640KB信息到backup region
                         ->capture kernel执行
    这里感觉论文中描述的有些混乱,前面讲要复制16MB,后面又只提到复制前640KB(3.3 Post Crash Processing)。姑且理解为着重强调吧

8. 系统映像编码为ELF Core Header进行保存,这样既压缩了存储,又便于根据ELF格式信息进行调试

9. ELF core header包含处理器寄存器信息、RAM布局信息和backup region;RAM布局信息从/proc/iomem中获取
          类型PT_LOAD的header描述内存信息,包括物理内存布局和线性区域的信息
          PT_NOTE类型的header描述CPU状态信息
          PT_LOAD类型的header描述backup region信息
    (kdump时系统好像变忙了,估计要对内核映像和内存信息进行细致分析;具体这部分信息如何构造估计要好好看看实现代码了。
      我这里只是为了了解kdump的工作流程,哪位要是了解可以给讲讲)

10. crash capture kernel启动后获取保留的映像信息,可以通过/proc/vmcore或者/dev/oldmem访问

[ 本帖最后由 openspace 于 2009-12-21 18:24 编辑 ]
kdump.GIF
CPU.GIF

论坛徽章:
0
发表于 2009-12-29 15:16 |显示全部楼层
赞,好久不来,落伍了!

论坛徽章:
0
发表于 2009-12-30 08:59 |显示全部楼层
这个我怎么才能给他在我的个人账户中收藏呢

论坛徽章:
0
发表于 2010-01-01 21:08 |显示全部楼层
我的UBUNTU中有一个内核是31,是我更新之后的,但是开机的时侯,提示还有一个30的老一点的内核,我想能不能把它去掉呢,没有去掉,总是感觉有点占空间,请你们帮忙说明一下,谢谢了!

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-01-03 11:02 |显示全部楼层
将openspace兄翻译的内核文档,全都整理到该贴中了,欢迎大家交流。

论坛徽章:
0
发表于 2010-01-04 10:14 |显示全部楼层
哇~~,2010年大礼包啊~

觉得版上的大牛门总结得真是又好又快~,很强大

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-01-04 10:22 |显示全部楼层

回复 #8 hongmy525 的帖子

只要敢于把自己的学习总结拿上来分享,都会受到欢迎的

论坛徽章:
0
发表于 2010-01-04 13:11 |显示全部楼层
万分感谢分享~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP