范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

树莓派4B高级11oops触发panic以及crash工具分析(2)

  上篇介绍了kdump功能以及手动触发panic来生成vmcore文件,这里介绍下通过yocto编译oops内核模块触发panic,并通过crash工具进行分析。
  环境ubuntu 22.04raspiberry 4BU盘 64Gyocto 4.1.2vmware 16.2.4kernel 5.15.56kexec-tools 2.0.25crash 8.0.0编写oops内核模块新建meta-test layer,并添加到bblayer.conf中:$ bitbake-layers create-layer meta-test
  rpi-build/conf/bblayers.confBBLAYERS ?= "  	...   xxx/02.yocto/poky/meta-test    "在meta-test/ecipes-example目录下新建oops菜单和源码,目录如下:02.yocto/poky/meta-test/recipes-example$ tree -L 3 -n .   example       example_0.1.bb   oops       files           Makefile           oops_test.c       oops_1.0.bb  3 directories, 4 files
  oops_1.0.bb:SUMMARY = "Example of how to build an external Linux kernel module" DESCRIPTION = "oops test" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" inherit module  SRC_URI = "file://oops_test.c             					file://Makefile              					" S = "${WORKDIR}" RPROVIDES_${PN} += "kernel-module-oops"
  注:LIC_FILES_CHKSUM 通过命令自行查询:
  yocto/poky/meta/files/common-licenses$ md5sum MIT
  0835ade698e0bcf8506ecda2f7b4f302 MIT
  oops_test.c:(参考《奔跑吧 linux内核 入门篇》)#include  #include  #include  static void create_oops(void) {         *(int *)0 = 0; //空指针访问报错 }  static int __init my_oops_init(void) {         printk("oops module init ");         create_oops();         return 0; }  static void __exit my_oops_exit(void) {         printk("goodbye "); } MODULE_LICENSE("GPL"); module_init(my_oops_init); module_exit(my_oops_exit);
  Makefile:obj-m   :=   oops_test.o  SRC := $(shell pwd) KBUILD_CFLAGS += -g all:          $(MAKE) -C $(KERNEL_SRC) M=$(SRC) $(CFLAGS)  modules_install:         $(MAKE) -C $(KERNEL_SRC) M=$(SRC) $(CFLAGS) modules_install clean:         rm -f *.mod modules.order Module.symvers                                           在conf/local.conf中把oops模块编译进image:IMAGE_INSTALL:append = " kexec-tools makedumpfile oops" # add oops内核默认使用了xz的压缩模式,会使生成的oops模块以压缩形式存在oops.ko.xz。通过menuconfig关闭该特性:
  Module compression modeyocto 安装crash工具
  crash是一个分析kdump文件的工具,可以在github下载源码自行交叉编译,也可以通过yocto编译平台引入。默认layer不包含crash,需要借助meta-openembedded,OpenEmbedded包含了上千的软件recipe,包含有meta-filesystems、meta-initramfs meta-multimedia meta-networking、meta-oe等很多有用的layer,每个layer又包含有很多recipe。下载OpenEmbedded,这里使用的分支是langdale,该分支维护比较好。git clone https://github.com/openembedded/meta-openembedded.git -b langdalecrash工具在openembedded中meta-oe layer中,需要把该layer添加到bblayer.conf中:BBLAYERS ?= "  	...   /home/lxq/Desktop/workspace/02.yocto/poky/meta-test    /home/lxq/Desktop/workspace/02.yocto/poky/meta-openembedded/meta-oe    "
  查看是否正确:02.yocto/poky/rpi-build$ bitbake -s |grep crash crash                                               :8.0.0-r0                                                    conf/local.conf中添加crash工具:IMAGE_INSTALL:append = "  kexec-tools makedumpfile crash oops" # add crash
  crash地址:GitHub - crash-utility/crash: Linux kernel crash utility环境准备
  上面步骤完成后可以重新编译镜像:$bitbake core-image-base-rpi -c cleansstate $bitbake core-image-base-rpi
  刷机后确认环境是否ok:确认oops.ko是否存在,路径: /lib/modules/xxx/extra/root@raspberrypi4:~# ls /lib/modules/5.15.56-v7l/extra/ oops_test.ko确认crash工具是否存在。crash工具依赖vmlinux,需要把编译后的vmlinux复制到U盘中,如cp tmp/work/raspberrypi4-poky-linux-gnueabi/linux-raspberrypi/1_5.15.56+gitAUTOINC+3b1dc2f1fc_a90998a3e5-r0/linux-raspberrypi4-standard-build/vmlinux /media/lxq/root/home/当kernel发生oops默认不会触发panic,需要设置panic_on_oops,为0时不会触发panic,为1时能够触发。# 查看 root@raspberrypi4:~# sysctl -a |grep panic_on_oops kernel.panic_on_oops = 0 # 设置 root@raspberrypi4:~# sysctl kernel.panic_on_oops=1 kernel.panic_on_oops = 1现在可以通过insmod oops.ko触发panic:root@raspberrypi4:/lib/modules/5.15.56-v7l/extra# insmod oops_test.ko
  通过串口确认是否成功:  ... 477.870240] 1fc0: 00000000 00000000 018c6190 0000017b be82dbd8 004724a0 00000002 0048fdfc [  477.878539] 1fe0: be82dba0 be82db90 0046d7c9 b6e89cd2 [  477.883665]  r6:018c6190 r5:00000000 r4:00000000 [  477.888352] Code: e3040054 e34b0f18 eb7255ec e3a00000 (e5800000)  [  477.894561] Loading crashdump kernel... [  477.898451] Bye! [    0.000000] Bootingcrash工具分析
  crash工具需要的文件都已经完成,可以进行分析:root@raspberrypi4:~# crash /home/vmlinux  /var/crash/2018-03-09/vmcore-12:35:38  crash 8.0.0 ... strings: standard output: Broken pipe       KERNEL: /home/vmlinux  [TAINTED]     DUMPFILE: /var/crash/2018-03-09/vmcore-12:35:38         CPUS: 1         DATE: Fri Mar  9 12:42:44 UTC 2018       UPTIME: 00:07:57 LOAD AVERAGE: 0.09, 0.07, 0.02        TASKS: 113     NODENAME: raspberrypi4      RELEASE: 5.15.56-v7l      VERSION: #1 Fri Jul 22 13:23:23 UTC 2022      MACHINE: armv7l  (unknown Mhz)       MEMORY: 3.9 GB        PANIC: "Unable to handle kernel NULL pointer dereference at virtual address 00000000"          PID: 539      COMMAND: "insmod"         TASK: c2c2adc0  [THREAD_INFO: c1ad0000]          CPU: 0        STATE: TASK_RUNNING (PANIC)  crash> bt|more PID: 539    TASK: c2c2adc0  CPU: 0   COMMAND: "insmod"  #0 [] (_MODULE_INIT_START_oops_test [oops_test]) from []  #1 [] (do_one_initcall) from []  #2 [] (do_init_module) from []  #3 [] (load_module) from []
  注:crash工具在arm中显示有些问题,命令后面需要追加more进行显示,否则会提示:/usr/bin/less: invalid option -- "P"

爱上火的人用它就对了,仅一味草药改善你的体质植物名实图考中说夏枯草不与众卉俱生,不与众卉俱死,夏至过后,它的生命便走到尽头。这是夏枯草不同于其它植物的独特之处,也是大自然孕育植物的奇特与力量。前段时间我们双胶采药人就在寻药途放屁多提示和肝有关吗?注意屁多或和5个原因有关屁的形成其实跟每天吃的食物有很大的关系,人的肠胃当中生存着很多微生物和细菌,这些微生物能够帮助肠胃进行消化。米饭等主食当中含有大量的淀粉成分,淀粉在消化分解时会生成二氧化碳,肉类食男人过了50岁眉毛变长,意味着什么?真的会长寿吗?原因要了解面颊照人元自赤,眉毛覆眼见来乌,出自苏轼赠黄山人。眉毛是身体的毛发之一,精致浓密的眉毛,可不仅仅有美观的作用,同时可以防止头皮屑,或者是其他细小的细屑进入你的双眼。眉毛在沟通上有着乳or霜,哪一个更适合你?保湿,是护肤品最基本的功能,它不仅成为人们的日常所需,近些年(保湿护肤品)还成为某些皮肤病的辅助治疗手段,因此保湿化妆品越来越被人们重视!可是,我用的保湿护肤品效果不是很好。相信大加拿大研究人员在一块陨石内发现了两种从未在地球上见过的矿物加拿大研究人员在一块陨石内发现了两种以前从未在地球上见过的矿物。这块重达15吨的ElAli陨石于2020年在索马里的同名小镇附近被发现。一块70克的切片被送到了阿尔伯塔大学的研究人金陵十二钗,让身体固若金汤有人曾问我,养生是否真的有效,我肯定说确实有效。但并不是每种方法都适合所有人,因为有个体差异。只要选择适合自己身体的养生方法,坚持下去必有奇效。愿在有生之年,分享更多更有价值的健康电力运维浅谈电力通信与泛在电力物联网技术的应用与发展摘要随着我国社会经济的快速发展,我国科技实力得到了巨大的提升,当前互联网通信技术在社会中得到了广泛的应用。随着电力通信技术的快速发展与更新,泛在电力物联网建设成为电力通讯发展的重要vivo这次赢麻了!又拿下一处理器的首发,并于12月2日发布近日,iQOO官方通过社交平台发文宣布,iQOONeo7SE新品将于12月2日1430发布,届时,和iQOONeo7SE一同亮相的还有iQOO11系列,目前两款手机已开启预约。据了真不是一般人,居然把字打印在钢轨上!说到机器人大家一定会想到小编曾经给大家介绍过好多种铁路上的机器人可以说机器人正成为改变人们工作和生活的一大帮手今天再给大家介绍新来的机器人它们把字打印在钢轨上背景钢轨轨腰标记显示了从云南虫谷停止侵权判项看短视频平台责任边界的合理界定图片来源云南虫谷豆瓣影页编者按近期,西安中院就腾讯诉抖音云南虫谷案作出一审判决,判决抖音构成侵权应赔偿腾讯经济损失3200万。由于赔偿额创下我国影视剧版权侵权司法判赔的最高纪录,引挚研宏微第二财季亏损200亿,阿里因何脚跟难稳?电商开始走下坡路了吗?双十一之后,阿里对期间收入三缄其口,这也让一周后的第二财季报告聚焦了更多目光,报告说明,阿里巴巴该财季总收入2071。76亿元,小幅增长3归属普通股东净利润2
5000万,皇马传奇球星赚够了,接近退役,老佛爷宠爱,安排新工作导读随着罗马诺的一声声herewego,皇家马德里送走了一名名球员,从约维奇到如今的卡塞米罗,都背负行囊远走他乡,而在离队的近10人中,要说弗洛伦蒂诺佩雷斯最看重的球员,既不是曾经别买手机了!2026年AR头显CIS出货量破两亿发展迅速8月22日,市场调研机构Omdia发布了对虚拟现实领域的行业预测,报告指出,至2026年,用于AR头部显示设备的CIS出货量或将突破2亿,发展相当迅速。(图片来自pexels)自苹满载差异化移动体验三星GalaxyZFold4卓尔不凡折叠屏手机凭借其内外双屏的独特形态,可以被视为直屏手机和平板电脑的结合体,不仅能带来更为沉浸的影音娱乐体验,还可以提供便捷的移动办公需求。8月22日,三星Galaxy新品中国发布会中美已相互降为第三大贸易伙伴,未来发展趋势如何?由于中美之间贸易摩擦的产生,自2018年以来,中美分别降为彼此的全球第三大贸易伙伴。事实上,中美两国作为相互最重要的贸易伙伴,经济上有着较强的互补性。尽管贸易摩擦不断,中美双边贸易退休之后,最聪明的活法是主动和4种人断交,不管是谁图源自网络侵权请联系删除断交是一个听起来无比绝情的词,与人来往时,我们轻易不会跟朋友断交,哪怕对方的确有些让我们无法忍受的毛病,我们也会想办法去包容。毕竟人无完人,对于那些与自己并新能源汽车行业专题研究比亚迪快速成长,产业链偕行共进(报告出品方作者天风证券,于特庞博)1新能源汽车龙头公司新能源汽车领军者比亚迪不仅是新能源汽车的领导者,同时还致力于全方位构建零排放的新能源整体解决方案。公司成立于1995年2月,吃鸡空投节最终大招来了?免费荣耀勋章,光子难得大方大家好,欢迎来到由小鱼干开讲的吃鸡新鲜事速报,到了这个时间点,不知道还有没有仍在期待幸运空投的玩家呢?其实可能性已经是非常小了。如今的时间点,已经远远超出了往年幸运空投开启的时间,和平精英巧克力返场后,不用点券领永久套装,光子真大方不知道大家有没有发现自从奥特曼联动之后,这款游戏的更新越来越难猜了。不仅皮肤更新此起彼伏,就连游戏新版本也是如此好了,废话不多说,还是你朋友们熟悉的老公式有图有据,边看边聊在熟悉的文案每朵云都下落不明,每盏月亮都不知所踪若是一件事物对你有吸引力,又与欲望扯不上关系,这比较符合美好的真正定义。半山文集其实所有纠结做选择的人心里早就有了答案,咨询只是想得到内心所倾向的选择。最终的所谓命运,还是自己一步记忆有些久远了!詹姆斯曾4次客战超音速1胜3负ampampamp场均31。5分9助直播吧8月21日讯今天,湖人球星勒布朗詹姆斯去到西雅图参加克劳福德的半职业联赛比赛。期间因为场馆温度和湿度过大,地板产生凝结现象,多名球员打滑,最终比赛提前结束。西雅图曾经也有NB哈佛大学研究人员发现全球变暖催生了属于爬行动物的时代哈佛大学研究人员发现爬行动物的快速进化是由近6000万年的全球变暖和气候变化引发的。研究人员可以通过研究地质深处的气候变化引起的大规模灭绝来探索环境危机对生物体进化的影响。一个主要超车夜,31!三大豪门领跑3大联赛,1。15亿球星失点5。3分英超第三轮西甲第二轮意甲第二轮全面打响,出现了超车夜,三大豪门在同一个夜晚完成了净胜3球的大胜。英超豪门阿森纳以30击败伯恩茅斯,从而超车先赛一场以9分领跑英超积分榜,暂时压制曼城普通家庭的孩子,如何才能培养出孩子的富人思维?普通家庭的孩子,如何才能培养出孩子的富人思维?之前看到一个视频,一位妈妈把女儿从出生到成长过程中用的进口奶粉,尿不湿等所有开支全部记账下来,并常常拿出来给她女儿看。九岁的女儿每次看切尔西有意马奎尔?曼联方面表明态度,马队长是球队非卖品北京时间8月21日消息,此前有多家媒体盛传,切尔西队有意曼联球员马奎尔。由于在求购福法纳的交易中受阻,切尔西将马奎尔作为可能的替代者。尽管传闻称切尔西有意马奎尔,但是曼联方面的态度北京国安周一晚在日照迎战广州城队,首个主场依旧空场8月22日晚,2022赛季中超联赛第14轮,北京国安队将在日照国际足球中心体育场迎战广州城队。国安队于21日从武汉开赴日照,备战本赛季首个主场比赛。国安俱乐部于20日发布公告表示,悍将渴望280万加盟勇士,喊话库里给个机会,我要和你建立王朝今年的NBA进入休赛期之后略显寂静,或许就是因为所有球队都在等待杜兰特和欧文的交易,因此他们都不愿意率先做出大交易,这也导致有一些自由球员,目前还没有找到下家,比如阿德霍华德考辛斯北控阵容调整完毕!辽宁新星受期待5高塔再挑大梁阿拉基或成惊喜今年夏天,北控队可以称得上是整个联盟当中行事最为低调的球队,和以往大张旗鼓地引援相比,今年休赛期北控队只从选秀大会上引进了两名年轻球员,并且送走了老将侯逸凡。上赛季北控队再次被拒绝世乒赛名单出炉!刘诗雯状态下滑打不过伊藤美诚,胖子左右为难在WTT赛事告一段落之后,目前国乒队员也已经回到国内,为9月份的成都世乒赛做最后的准备。成都世乒赛算得上是本年度最重要的赛事,如今各大乒乓球协会都在有条不紊地备战,国乒的主力球员也45岁王治郅成教官!身体健硕面容却沧桑,二婚娶了小13岁北大硕士熟悉篮球的人对我国几位实力强劲的运动员应该都比较熟悉,除了姚明和巴特尔,被誉为CBA的三大移动长城之一的就是王治郅,他也被球迷们亲切地称为大郅,他还是中国篮球界进入NBA的第一人,广东宏远青年队夺冠!黑人混血送惊艳暴扣,母亲来自辽宁在今天U15决赛的比赛中,广东宏远青年队球员代广东省实验U15队(简称省实)面对海亮中学队,最终省实以8471大胜对手,拿下了本赛区的冠军。其中黑人混血儿彰华非表现出色,出场26分莱切同意乌姆蒂蒂从巴塞罗那租借的条款莱切已经与巴塞罗那后卫塞缪尔乌姆蒂蒂就租借条款达成一致。巴萨将在赛季内根据比赛场次获得奖金。然而,加泰罗尼亚俱乐部将继续全额支付后卫的薪水。巴塞罗那终于为法国后卫塞缪尔尤姆蒂蒂(S新赛季六大争冠球队新赛季六大争冠球队分三个梯队。第一梯队,东西部领头羊,东部雄鹿西部勇士前两年的冠军球队,说实话,新赛季雄鹿勇士依然拥有极其强悍的实力,不论球星阵容经验都是一等一的强,雄鹿实力稍微强