亲爱的朋友们,
大家好!在这里,我有一个既激动又有些感伤的消息要与大家分享。经过一段时间的筹备和努力,我的博客已经成功迁移至新站点:[云栖梦泽]。未来,所有的更新和新文章都将在这个新平台发布,因此,我将不再在这个老站点继续更新内容。
回首过去,这些年在老站点发布的博文,伴随着大家的关注和支持,我收获了很多宝贵的经验和回忆。每一篇文章,每一次互动,都是我创作旅程中的一部分,是你们的热情与反馈激励我不断前行。正是因为有了你们的陪伴,我的创作才有了意义,我的思考才得以延续。
这次迁移到新站点,意味着我将为大家提供更优质的内容、更好的用户体验和更多样化的互动方式。新站点拥有更现代化的界面和强大的功能,这让我能够更自由地表达我的想法,且能通过更多渠道与大家互动。我相信,这将为我们之间的交流带来新的高度和更加丰富的可能性。
虽然老站点将不再更新,但我始终珍惜与大家之间的每一次交流,感恩每一位关注和支持我的朋友们。你们的每一条评论,每一份支持,都是我不断创作的动力。在此,我由衷地感谢大家对我博客内容的认可和喜爱,这一路的成长,离不开你们的鼓励和帮助。
请大家继续关注我的新站点,未来我将带来更多优质的 ...
大多数人在 30 岁左右,会遇到一个人生大坎。站在 30 岁的十字路口,回首过往,青春的肆意与懵懂仿佛还在昨日;展望未来,却只见迷雾重重,压力如山。
事业上,曾经的雄心壮志在现实的礁石上屡屡碰壁。看着同龄人升职加薪,自己却仍在原地徘徊,对未来的职业发展充满迷茫与焦虑。当初怀揣的梦想渐渐被消磨,不知是该坚守初心,还是随波逐流,重新规划人生方向。
家庭里,父母日渐年迈,健康问题频出,需要更多的关心与照顾。而组建了家庭的人,家庭责任如同一副沉重的担子,压得人喘不过气来。经济上的压力也接踵而至,房贷、车贷、育儿费用等,每一项都如紧箍咒般束缚着生活。 人际关系中,曾经纯粹的友情在忙碌的生活中渐行渐远。儿时的玩伴已难得相聚,同学间的联系也日益稀疏。新结识的朋友又似乎总隔着一层看不见的膜,难以交心。
在社交场合中,时常感到孤独与格格不入,渴望真诚的情感交流,却又总是事与愿违。 然而,30 岁的坎,也是成长的契机。它如同一把烈火,能淬炼出更加坚韧的灵魂;又似一阵狂风,吹走生活的轻浮与浅薄。在困境中,有人选择沉沦,让岁月在叹息中蹉跎;但也有人勇敢奋起,以无畏的勇气和坚定的信念去破局。他们重新审视自己的 ...
Linux内存管理
未读
前言:还是习惯性的以前言开篇,“深入骨髓”的程序猿思想,干啥事都想从main 开始~~
本系列分析的源码都遵循如下的约定:
芯片架构:ARM64
内存架构:UMA
内核版本:如无特别说明,本系列源码基于Kernel 5.15
CONFIG_ARM64_VA_BITS=39
CONFIG_ARM64_PAGE_SHIFT=12
CONFIG_PGTABLE_LEVELS=3
CONFIG_ARM64_PA_BITS=48
CONFIG_SPARSEMEM=y
…
本系列的源码opengrok:iliuqi的linux-5.15
1. 内存管理的一些预备知识
[linux内存管理] 第001篇 内存与内存管理机制
[linux内存管理] 第002篇 页表查询过程简述
[linux内存管理] 第003篇 内存分布
[linux内存管理] 第004篇 内存架构和内存模型
[linux内存管理] 第012篇 zone简介
2. 物理内存初始化流程这个阶段会详细从源码剖析,这部分主要为转载到的优秀的博文(部分博文内容会根据kernel- ...
Android稳定性
未读
0. 前言还是习惯性的以前言开篇,“深入骨髓”的程序猿思想,干啥事都想从main 开始~~
1. 方法篇
[Android稳定性] 第001篇 [方法篇] 高通Android平台稳定性分析介绍
[Android稳定性] 第017篇 [方法篇] 高通watchdog分析流程
[Android稳定性] 第020篇 [方法篇] crash实战:手把手教你使用crash分析内核dump
[Android稳定性] 第024篇 [方法篇] RCU Stall问题如何进行分析?
[Android稳定性] 第026篇 [方法篇] 在windows平台安装Linux ramdump parser工具
2. 原理篇
[Android稳定性] 第002篇 [原理篇] subsystem ramdump的原理介绍
[Android稳定性] 第003篇 [原理篇] mtdoops的原理介绍
[Android稳定性] 第004篇 [原理篇] minidump的原理介绍
[Android稳定性] 第008篇 [原理篇] 动态设置kernel cmdline
[Android稳定性] 第011篇 [原理篇] m ...
Android稳定性
未读
一、问题现象死机
二、分析步骤1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950[ 189.052980][ T5068] Unable to handle kernel paging request at virtual address 00046ffca9037bf9[ 189.052991][ T5068] Mem abort info:[ 189.052997][ T5068] ESR = 0x0000000096000004[ 189.053005][ T5068] EC = 0x25: DABT (current EL), IL = 32 bits[ 189.053013][ T5068] SET = 0, FnV = 0[ 189.053020][ T5068] EA = 0, S1PTW = 0[ 189.053027][ T5068] FSC = 0x04: level 0 translation fa ...
技术分享
未读
一、文件位置在讲述模块加载顺序控制前,我们需要了解一些基础知识点,也就是模块位置。
启动模式
存储
显示
拨号键盘
电池
PMIC
触摸屏
NFC/WLAN/蓝牙
传感器
相机
恢复
Y
Y
Y
Y
Y
N
N
N
N
充电
Y
Y
Y
Y
Y
N
N
N
N
Android
Y
Y
Y
Y
Y
Y
Y
Y
Y
如果使用了内核模块,它们在文件系统中的放置位置的要求如下:
所有内核都应内置对启动和装载分区的支持。
必须从只读分区加载内核模块。
对于需要支持启动时验证的设备,应从已验证的分区加载内核模块。
内核模块不应位于 /system 中。
完整 Android 模式或充电模式所需的 SoC 供应商内核模块应位于 /vendor/lib/modules 中。
如果存在 ODM 分区,完整 Android 模式或充电模式所需的 ODM 内核模块应位于 /odm/lib/modules 中。如果不存在,这些模块应位于 /vendor/lib/modules 中。
恢复模式所需的 SoC 供应商内核模块和 ODM 内核模块应位于恢复 ...
7c971adf77762131b6b45d26c07ff4ea44929669ff3a9892c851356e759afa90ce84be70681ab443e5dbc6c6e6b9c47d082688d3752bfd6baef7de343a1a62a01960170b805f7acbfa1fb9114452c7fa016626d4c6a6d774cd85a8e26ebfd8cd784785cc4cfdf2fcbaf777fcb82ffbea3ea9c61a05253b3d51ab6c3837ae8c45e1e5e9d41d9eeae5ce95372dff63d577c3622f6bbe8ab73abbe2234f8d71aa37a3afc640082947442221667a75efd29d0d006a94914659d6721cf27add770f3ad0b53d58e3c010f5728dbd464e0e2825e3946b4220bbd0196b9edc89ed8051a252208f917dbe3c82512e3a63c4c18864a92040450bcc9bcf0 ...
一、问题背景在我司工厂老化测试中,发现了多台机器死机的情况,经过一些分析判断被我评估为是DDR的问题,本篇文章就记录一下这几个案例,以及我判定为DDR问题的依据,供稳定性人员提供参考。
2025/04/24:更新案例:2.1章节 ~ 2.6章节
2025/05/13:更新新案例:2.7章节 ~ 2.8章节
二、案例2.1 案例11234567891011121314151617181920212223242526272829303132333435363738394041[ 137.648537][ T0] Unable to handle kernel execute from non-executable memory at virtual address ffffffc00c92c7a8[ 137.649182][ T2652] Internal error: Oops - Undefined instruction: 0000000002000000 [#1] PREEMPT SMP[ 137.671119][ T0 ...
7c971adf77762131b6b45d26c07ff4ea44929669ff3a9892c851356e759afa90ce84be70681ab443e5dbc6c6e6b9c47d082688d3752bfd6baef7de343a1a62a01960170b805f7acbfa1fb9114452c7fa016626d4c6a6d774cd85a8e26ebfd8cd784785cc4cfdf2fcbaf777fcb82ffbea3ea9c61a05253b3d51ab6c3837ae8c45e1e5e9d41d9eeae5ce95372dff63d57757154100fc529583129d039bd5529842057e13abdc56c9cae7ce91b5d67b46da003c7d0f7db3c1f20aabf99a7fbe6a45229cb1bd179fad2e17680bf6546f08f58a3cd9d62cb2ca35ec87917b30ef1a88f43191dc204007a42edaf7aab674fb6c27f48962418105a31 ...
7c971adf77762131b6b45d26c07ff4ea44929669ff3a9892c851356e759afa90ce84be70681ab443e5dbc6c6e6b9c47d082688d3752bfd6baef7de343a1a62a01960170b805f7acbfa1fb9114452c7fa016626d4c6a6d774cd85a8e26ebfd8cd784785cc4cfdf2fcbaf777fcb82ffbea3ea9c61a05253b3d51ab6c3837ae8c45e1e5e9d41d9eeae5ce95372dff63d57709b07c82325c1a3b44f8606b76e162e1cd75af6a6fc87199f178a502b2fe0d083a349468a198a101c863fb68b945a0998d8815e376dc4d7a5d3b5cb14f2fd591a98a086c86ad0c355ca3fb3d4f7935436eba810f9eb77e5fe10b7391d00997e1ad7c98cb408571be6 ...