基于pstore 和 ramoops实现在非易失性内存中保存panic日志

基于pstore和 ramoops实现在非易失性内存中保存panic日志

具体步骤如下

0.确定地址范围

需求提前知道用来保存panic日志的非易失性内存的起始地址和长度。比如笔者用到的那部分内存的起始地址是0x11ff000000,长度是16M。

2.修改内核

保证内核配置选项中选上了ramoops驱动支持:

生成驱动加载过程中,如果发现对独立的非易失性存储加载驱动失败,检查是否需要修改内核驱动,特别是fs/pstore/ram_core.c中的request_mem_region()函数,然后确定到底是选用persistent_ram_vmap()还是persistent_ram_iomap()来映射物理地址到内核线性地址空间。

3.在命令行中指定相关启动参数

对于ramoops模块buildin的内核,直接在内核命令行加上上面的启动参数:

ramoops.mem_address=0x11ff000000
ramoops.mem_size=0x1000000 pstore.backend=ramoops

对于ramoops模块buildout的内核,内核命令行上需要加下面的参数:

pstore.backend=ramoops

并且在内核启动之后,还需要参考下面的命令加载ramoops驱动:

modprobe
ramoops.ko ramoops.mem_address=0x11ff000000
ramoops.mem_size=0x1000000

注意ramoops.ko依赖于模块reed_solomon.ko,需要提前安装好,reed_solomon.ko可以参考下面命令生成:

cd
lib/reed_solomon  && make -C /lib/modules/`uname -r`/build
modules

&&
modprobe reed_solomon

再加载ramoops驱动,通过dmesg可以看到它成功了:

[
301.921706] console [pstore-1] enabled

[
301.921841] pstore: Registered ramoops as persistent store backend

[
301.921862] ramoops: attached [email protected], ecc: 0/0

4.运行测试

reboot机器,重新起来之后可以看到oops
message details:

[[email protected]
pstore]# pwd

/sys/fs/pstore

[[email protected]
pstore]# ls -alrt

total
0

drwxr-xr-x.
5 root root    0 Nov  7 01:04 ..

drwxr-xr-x.
2 root root    0 Nov  7 01:04 .

-r--r--r--.
1 root root 4084 Nov  7 01:17 dmesg-ramoops-0

-r--r--r--.
1 root root 4084 Nov  7 01:17 console-ramoops

5.参考文档:

[[email protected]
lsd-linux-kernel]# ls Documentation/ramoops.txt

Documentation/ramoops.txt

[[email protected]
lsd-linux-kernel]# ls Documentation/ABI/testing/pstore

Documentation/ABI/testing/pstore

时间: 2024-10-22 06:15:21

基于pstore 和 ramoops实现在非易失性内存中保存panic日志的相关文章

“非易失性内存”嫁接“内存计算”——高速安全的大数据时代来临

“非易失性内存”嫁接“内存计算” ——高速安全的大数据时代来临 题记 数据库奠基人Jim Gray:“磁带已经死了,磁盘已经落伍,闪存成为存储,内存才是王道”.“不管磁盘是否消融,闪存都是将来的一个趋势.” 石油一直直接影响着世累经济的发展速度和发展水平,现在,信息将发挥同样的作用.<经济学人>表示:“数据和信息日益成为商业的新能源,是一种与资本.劳动力并列的新经济元素”. 数据保护 大数据时代的机遇和挑战 大数据“风华正茂” 大数据时代,每两天的数据量就达到2ZB,相当于20世纪前人类文明所

展望由非易失性设备构成的未来存储

 展望由非易失性设备构成的未来存储 Edward Sharp "愿你生活的时代充满趣味".不知您是否注意到,而今的IT世界已然如此,充斥着诸如云.移动.大数据.内存数据库.NoSQL.远程直接内存访问(RDMA).叠瓦式磁记录(SMR)硬盘.非易失性存储(NVM)以及其他不胜列数的新技术.正是由于这些新科技与技术让使用者能以更精简的资源来实现更为强大的功能,我们面临的世界正经历着天翻地覆的变化.这样的变革对现有的行业既是一种威胁,但另一方面,对于敏捷.专注而果敢的公司而言,恰恰

EVERSPIN非易失性MRAM具吸引力的嵌入式技术

相关研究指出,如果以嵌入式MRAM取代微控制器中的eFlash和SRAM,可节省高达90%的功耗:如果采用单一晶体管MRAM取代六个晶体管SRAM,则可实现更高的位元密度和更小的芯片尺寸,这些功率与面积成本优势将使MRAM成为边缘侧设备的有力竞争者.而相较于传统的NAND闪存,PCRAM或ReRAM存储级存储器更可提供超过10倍以上的存取速度,更适合在云端对资料进行存储. MRAM是一种非易失性存储技术,该技术具备接近静态随机存储器的高速读取写入能力,快闪存储器的非易失性.容量密度和与DRAM几

航空航天专用Everspin非易失性MRAM存储器

TAMU是由瑞典乌普萨拉的?ngstr?m航空航天公司(?AC)开发的高级磁力计子系统.TAMU的目的是提供地球磁场的磁力计数据,以便与子画面观测相关.实验性TAMU由使用领先技术制造的四种类型的设备组成:3轴地磁传感器,通过3D封装系统技术制造的MPU芯片,制造的4Mbit MRAM(磁性随机存取存储器)芯片由Everspin Technologies和IMU(惯性测量单元)芯片组成. ?ACMicrotec在其Tohoku-?ACMEMS单元(TAMU)(磁力计子系统)中使用了Everspi

非易失性MRAM诞生过程

MRAM技术是以可沉积在标准逻辑制程上的磁性隧道结 (MTJ)储存单元为基础,MTJ中包含了一个维持单一极性方向的固定层,和一个通过隧道结与其隔离的自由层.当自由层被施予和固定层相同方向的极化时,MTJ的隧道结便会显现出低电阻特性.而当自由层被施予反方向的极化时,MTJ便会有高电阻.此一磁阻效应可使MRAM不需改变内存状态,便能快速读取数据.在MRAM存储器中有一个富含创造性的设计,这也是EVERSPIN的专利. 在MRAM的诞生过程中,设计的难点和关键节点,在于一个小电流通过"自由层"

非易失内存技术NVDIMM

从技术的角度来看,NAND Flash闪存介质虽然存在擦写次数寿命的问题,但是,配合软件算法.系统级的数据保护技术,NAND Flash的寿命问题变得不再是一个棘手的问题,而NAND Flash更多的优势成为该项技术向前推进的重要动力.采用NAND Flash构建的SSD正快速的替代传统磁盘,已经大面积的在互联网领域得到应用,并且不断向对数据可靠性有要求的企业级市场渗透. SSD和传统磁盘相比有几个非常独特的特性.第一个特点就是SSD的具有非常好的读写性能,特别在随机读写性能方面远远超过传统磁盘

Netty:一种非易失堵塞client/server相框

Netty:一种非易失堵塞client/server相框 作者:chszs.转载需注明.博客主页:http://blog.csdn.net/chszs Netty是一个异步事件驱动的网络应用框架,为Java网络应用的开发带来了一些新活力.Netty由协议server和client所组成.可用于高速开发可维护的高性能软件.Netty应用框架及其工具简化了网络编程,并且由Netty社区进行维护. Netty还被归类为NIOclient/server框架.用它能够高速.简易地开发网络应用.使得TCP和

基于FFmpeg的教学资源库的非MP4视频转换为MP4流程

基于FFmpeg的教学资源库的非MP4视频转换为MP4流程 运行环境: Win2003(或者Win2008  64bit,优先此步).SQL Server 2005(或者SQL Server2008) 执行方式: 批处理方式执行,已转换视频列表.写入数据库:错误日志写入本机的执行程序下面. 1.转换步骤描述 1.非MP4视频列表 连接教学资源库数据库,查找本机的非MP4视频资源,得到非MP4视频列表. 2.生成原视频的MD5码 将所有的原视频生成MD5码. 3.判断该视频是否已经转换 比对新旧两

针对易测试性的系统设计

来自于西门子公司的Peter Zimmerer说,在系统中,易测试性必须被明确地设计.测试架构师应该推动易测试性,并和架构师.设计人员和测试人员去共同使用好的设计和工程实践. 在QA&Test 2014大会上,Peter贡献了一个关于针对嵌入式软件系统的易测试性的设计教程. Peter对易测试性给出的定义是“系统可以被有效及高效测试的程度”.效率与积增的深度和测试的质量有关,在此是指有效地降低成本.工作量和测试时间.易测试性是轻松地确认,即软件可以被高效测试的程度.它在软件的初期开发阶段和维护阶