上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 40 下一页
摘要: 需求 有时我们有这样的需求,比如我们知道了结构体task_struct,然后我们又想知道内核中有哪些数据结构中包含了task_struct,或者包含了指向task_struct的指针。 做法 用whatis -m可以做到: crash> whatis -m task_struct SIZE TYPE 阅读全文
posted @ 2023-09-24 11:06 摩斯电码 阅读(44) 评论(0) 推荐(0) 编辑
摘要: whatis 如果提前知道数据类型的定义,可以直接用struct、union等,否则可以直接用whatis。 crash> whatis -o page struct page { [0] unsigned long flags; union { struct { union { [8] struc 阅读全文
posted @ 2023-09-24 10:49 摩斯电码 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 在crash中可以用whatis命令查看数据类型信息以及函数的原型。 如果想知道某个数据是什么类型那么可以用下面的方法: 查看结构体的定义 crash> whatis mm_struct struct mm_struct { struct { struct maple_tree mm_mt; uns 阅读全文
posted @ 2023-09-24 10:04 摩斯电码 阅读(65) 评论(0) 推荐(0) 编辑
摘要: crash提供了eval命令,实现了一些很好用的功能,下面学习一下。 格式: eval [-b][-l] (表达式) | 值 支持的运算符:+ - & | ^ * % / << >> 下面是需要注意的: 括号并不是必须的,但是如果使用了|、<<或者>>,那么需要使用括号 crash> eval (1 阅读全文
posted @ 2023-09-23 22:55 摩斯电码 阅读(77) 评论(0) 推荐(0) 编辑
摘要: crash的dev命令可以获取系统磁盘IO的统计数据。 获取所有磁盘的IO统计数据 crash> dev -d MAJOR GENDISK NAME REQUEST_QUEUE TOTAL ASYNC SYNC 8 ffff88de95d51000 sdm ffff88de94a90000 6537 阅读全文
posted @ 2023-09-23 22:09 摩斯电码 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 在linux中通过/proc/ioport和/proc/iomem可以获取系统的IO端口和内存的布局信息,在crash中需要使用dev命令来获取。 crash> dev -i RESOURCE RANGE NAME ffffffff822668c0 0000-ffff PCI IO ffff88de 阅读全文
posted @ 2023-09-23 21:50 摩斯电码 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 在linux系统上用lspci可以查看PCI设备信息,crash的dev命令也提供了这个功能。 crash> dev -p ROOT BUS BUSNAME ffff893eaeb43000 0000:00 PCI DEV DO:BU:SL.FN CLASS PCI_ID TYPE ffff88de 阅读全文
posted @ 2023-09-23 21:43 摩斯电码 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 通过sys命令可以获取当前系统的系统调用的信息: crash> sys -c NUM SYSTEM CALL FILE AND LINE NUMBER 0 __x64_sys_read ../fs/read_write.c: 621 1 __x64_sys_write ../fs/read_writ 阅读全文
posted @ 2023-09-23 21:34 摩斯电码 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 在编译内核时如果配置了CONFIG_IKCONFIG,那么内核配置文件会被内嵌到内核中,那么可以通过crash工具将其输出出来。 crash> sys config # # Automatically generated file; DO NOT EDIT. # Linux/x86 4.18.0 K 阅读全文
posted @ 2023-09-23 20:03 摩斯电码 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 在linux上一般通过dmidecode来获取DMI信息,crash也提供了获取DMI信息的命令,不过内容不会像dmidecode那么详细。 crash> sys -i DMI_BIOS_VENDOR: SeaBIOS DMI_BIOS_VERSION: rel-1.14.0-0-g155821a1 阅读全文
posted @ 2023-09-23 17:59 摩斯电码 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 使用crash工具根据地址查看结构体的内容时,有时需要输入struct或者union,多少有些繁琐,crash提供了*命令,直接跟在结构体或者联合体的名字的前面即可。 示例: 带struct crash> struct kmem_cache -x ffff893751f60800 struct km 阅读全文
posted @ 2023-09-23 17:36 摩斯电码 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 作者 pengdonglin137@163.com 查看percpu变量在每个cpu上的基地址 crash> kmem -o PER-CPU OFFSET VALUES: CPU 0: ffff88807f600000 CPU 1: ffff88807fa00000 CPU 2: ffff88813 阅读全文
posted @ 2023-09-23 16:59 摩斯电码 阅读(614) 评论(0) 推荐(0) 编辑
摘要: 作者 pengdonglin137@163.com 背景 内核在/proc、/sys下面提供了大量的控制文件,可以获取内核某个子系统的状态或者控制内核的执行流,有时我们需要快速确认操作某个节点时的执行流,那么怎么做呢? 做法 最适合做这个就是ftrace提供的function graph跟踪器,在6 阅读全文
posted @ 2023-09-22 21:21 摩斯电码 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 休眠 在虚拟机中执行下面的命令: # echo mem > /sys/power/state 唤醒 进入monitor模式:ctrl+a c (qemu) system_wakeup 查看日志 查看虚拟机的内核日志: [ 63.878427] PM: suspend entry (deep) [ 6 阅读全文
posted @ 2023-09-22 20:44 摩斯电码 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 场景 如果虚拟机没有开启kdump,或者卡死了,那么可以进入qemu的monitor模式将虚机的内存保存到文件中,然后使用crash工具进行分析。 示例 启动虚拟机,然后按ctrl+a c进入monitor,查看帮助 (qemu) help dump-guest-memory dump-guest- 阅读全文
posted @ 2023-09-22 20:26 摩斯电码 阅读(717) 评论(0) 推荐(0) 编辑
摘要: 参考 https://blog.csdn.net/cuma2369/article/details/107667731 https://support.mozilla.org/en-US/questions/1307935 点击设置 -> 配置编辑器: 然后搜索mailnews.wraplength 阅读全文
posted @ 2023-09-13 17:10 摩斯电码 阅读(28) 评论(0) 推荐(0) 编辑
摘要: pahole这个工具可以用来分析结构体的内部布局信息,参考下面的文章: https://lwn.net/Articles/335942/ 阅读全文
posted @ 2023-09-10 23:25 摩斯电码 阅读(45) 评论(0) 推荐(0) 编辑
摘要: # 参考 - [DELL R730 iDRAC与IPMI的使用](https://blog.csdn.net/satsuma_samurai/article/details/74940145 "DELL R730 iDRAC与IPMI的使用") - [Linux上使用IPMITool常用的命令](h 阅读全文
posted @ 2023-09-03 14:11 摩斯电码 阅读(25) 评论(0) 推荐(0) 编辑
摘要: # 参考 - [A study of the Linux kernel PCI subsystem with QEMU](https://blogs.oracle.com/linux/post/a-study-of-the-linux-kernel-pci-subsystem-with-qemu " 阅读全文
posted @ 2023-09-01 16:53 摩斯电码 阅读(238) 评论(0) 推荐(0) 编辑
摘要: # 参考 - [公开 VMware 硬件辅助的虚拟化](https://docs.vmware.com/cn/VMware-vSphere/6.7/com.vmware.vsphere.vm_admin.doc/GUID-2A98801C-68E8-47AF-99ED-00C63E4857F6.ht 阅读全文
posted @ 2023-08-20 23:31 摩斯电码 阅读(51) 评论(0) 推荐(0) 编辑
摘要: # 参考 - [如何用一台UPS控制多台主机的断电自动关机?NetworkUPSTools(NUT)的安装与配置](https://www.zhihu.com/tardis/zm/art/282181425 "如何用一台UPS控制多台主机的断电自动关机?NetworkUPSTools(NUT)的安装 阅读全文
posted @ 2023-08-19 12:07 摩斯电码 阅读(1797) 评论(0) 推荐(0) 编辑
摘要: 书籍 《UEFI编程实践》 技术博客 罗冰的UEFI开发专栏 https://www.lab-z.com/iof/ UEFI入门必读的12本书 阅读全文
posted @ 2023-08-17 20:24 摩斯电码 阅读(54) 评论(0) 推荐(0) 编辑
摘要: # 参考 - 《UEFI编程实践》 - https://github.com/tianocore/edk2 # 作者 pengdonglin137@163.com # 概述 在Ubuntu中安装ubuntu18.04的容器环境,在其中搭建编译和开发环境,支持运行UEFI模拟器。 # 步骤 ## 安装 阅读全文
posted @ 2023-08-17 16:58 摩斯电码 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 由于买的T620主要是自己玩,不需要特别高的配置,不需要组raid,就让卖家把H710阵列卡换成了[直通的H310阵列卡](https://www.bilibili.com/read/cv5583360/ "直通的H310阵列卡")(non raid),这样家里富裕的sata固态和机械硬盘就可以直接 阅读全文
posted @ 2023-08-15 21:05 摩斯电码 阅读(108) 评论(0) 推荐(0) 编辑
摘要: # 参考 - https://www.cnblogs.com/pengdonglin137/p/6431234.html - https://github.com/kvmtool/kvmtool - [KVM-api学习--基于kvmtool](https://zhuanlan.zhihu.com/ 阅读全文
posted @ 2023-08-14 17:51 摩斯电码 阅读(71) 评论(0) 推荐(0) 编辑
摘要: # 背景 在工作过程中,我们经常会遇到可执行程序依赖的glibc跟当前运行环境的版本不兼容,导致应用程序无法运行,比如: /lib64/libc.so.6: version `GLIBC_2.14’ not found 原因是运行环境的glibc的版本比编译环境的glibc的版本低。 # 几种可行的 阅读全文
posted @ 2023-08-11 16:13 摩斯电码 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: # 参考 - [基于rootfs构建Docker镜像](https://blog.csdn.net/xie__peng/article/details/129364707 "基于rootfs构建Docker镜像") - [将rootfs.tar.gz制作成docker image](https:// 阅读全文
posted @ 2023-08-11 15:25 摩斯电码 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 前些天从淘宝上买了一台不知道几手的dell T620塔式服务器,主要用来瞎折腾,下面记录一些使用经验。 T620 PowerEdge T620 Dell PowerEdge T620 Systems Owner's Manual Technical Guide dell技术支持 https://ww 阅读全文
posted @ 2023-08-10 16:07 摩斯电码 阅读(151) 评论(0) 推荐(0) 编辑
摘要: # 作者 pengdonglin137@163.com # 背景 开发过程中,有时需要读取内核中某个变量的值,比如我想获取下面这个变量的内容: ```c const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPI 阅读全文
posted @ 2023-08-07 14:08 摩斯电码 阅读(101) 评论(0) 推荐(0) 编辑
摘要: # 需求 有一个笔记本电脑和一个支持HDMI输出的机顶盒,希望机顶盒的内容输出到笔记本的屏幕上。 # 硬件 hdmi转usb的视频采集卡。 - [绿联视频采集卡](https://detail.tmall.com/item.htm?abbucket=16&id=652906743661 "绿联视频采 阅读全文
posted @ 2023-07-27 11:23 摩斯电码 阅读(100) 评论(0) 推荐(0) 编辑
摘要: # 背景 在工作中我们经常需要交叉编译一些可执行程序或者动态库,有时要编译的程序过于复杂,如果靠纯的交叉编译,费事又费力,需要解决大量的编译依赖以及报错。 # 解决方案 docker + qemu-user 利用qemu-user可以运行不同架构的用户态程序,而docker可以创建一个运行不同架构的 阅读全文
posted @ 2023-07-27 09:17 摩斯电码 阅读(982) 评论(0) 推荐(0) 编辑
摘要: 原文:https://www.kernel.org/doc/html/latest/kbuild/modules.html This document describes how to build an out-of-tree kernel module. 1. Introduction "kbui 阅读全文
posted @ 2023-06-30 20:18 摩斯电码 阅读(437) 评论(0) 推荐(0) 编辑
摘要: [TOC] # 参考 [https://docs.kernel.org/trace/user_events.html](https://docs.kernel.org/trace/user_events.html) # 测试程序 [samples/user_events/example.c](htt 阅读全文
posted @ 2023-06-11 17:01 摩斯电码 阅读(74) 评论(0) 推荐(0) 编辑
摘要: # 参考 [Typora修改代码编译器部分的宽度值](https://www.cnblogs.com/sherryyuan/p/16655603.html "Typora修改代码编译器部分的宽度值") # 打开主题文件夹 ![image](https://img2023.cnblogs.com/bl 阅读全文
posted @ 2023-06-03 10:14 摩斯电码 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 在线编辑器 https://markdown.com.cn/ Typora 修改编辑器宽度 SourceInsight 【Source Insight】SI工具栏误触导致的恶心排版错乱问题恢复 为了防止排版弄坏,可以直接把C:\Users\Administrator\Documents\Source 阅读全文
posted @ 2023-06-01 09:46 摩斯电码 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 在内核代码中经常看到下面的用法: /** * copy_to_user_nofault(): safely attempt to write to a user-space location * @dst: address to write to * @src: pointer to the dat 阅读全文
posted @ 2023-04-27 00:04 摩斯电码 阅读(131) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2023-04-07 18:51 摩斯电码 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 为了学习linux内核,计划陆续将一些内核文档以及LWN上的文章通过chatgpt翻译成中文。 下面是网络上已经存在的一些内核文档翻译项目: LWN 中文翻译 公众号 Linux News搬运工 内核文档 -- 中文翻译 内核文档 RCU What is RCU? – “Read, Copy, Up 阅读全文
posted @ 2023-04-05 15:43 摩斯电码 阅读(203) 评论(0) 推荐(0) 编辑
摘要: quarantine_size Deprecated, please use quarantine_size_mb. quarantine_size_mb Size (in Mb) of quarantine used to detect use-after-free errors. Lower v 阅读全文
posted @ 2023-03-10 19:28 摩斯电码 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 参考 https://github.com/google/sanitizers/wiki/AddressSanitizer Program Instrumentation Options 工欲善其事必先利其器——AddressSanitizer Linux下内存检测工具:asan ASAN_OPTI 阅读全文
posted @ 2023-03-10 15:26 摩斯电码 阅读(122) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 40 下一页