实践类记录blog
文章平均质量分 77
krokodil98
bug designer
展开
-
对比寄存器解决千兆丢包问题
记一次对比寄存器解决千兆丢包的排查过程原创 2024-03-18 13:49:02 · 1361 阅读 · 0 评论 -
记录一次适配phy芯片过程
记录一次高版本内核适配phy芯片的调试过程原创 2024-03-13 07:00:00 · 1506 阅读 · 1 评论 -
记一次无vmcore内存死机问题分析过程
记录一次没有生成vmcore的内存类死机问题原创 2024-03-12 10:38:48 · 1251 阅读 · 0 评论 -
phy环回测试方法(以芯片Atheros8035为例)
以ar8035芯片为例,测试phy环回原创 2024-03-06 23:10:05 · 2664 阅读 · 0 评论 -
linux常用指令(定期更新)
linux下常用指令,定期更新原创 2024-03-06 17:33:19 · 1136 阅读 · 0 评论 -
CPU架构对比——飞腾鲲鹏英特尔
通过指令lstopo与lscpu来对比三种CPU架构lstopo指令解析numa节点由cpu簇cluser组成,一个numa=2个簇,1个簇4个物理核。物理核独自共享L1,簇内物理核共享L2,numa内的簇间共享L3,numa间共享内存。鲲鹏lscpu指令解析lstopo指令解析每个簇里一个物理核参考:原创 2024-03-05 16:53:17 · 1299 阅读 · 0 评论 -
Linux系统网卡所属numa节点信息查询方法
linux系统下获取网卡所属numa节点信息的查询方法原创 2024-03-05 16:42:29 · 1557 阅读 · 0 评论 -
单网口ubuntu主机配置virt-manager传统桥接bridge网络
单网口主机配置virt-manager桥接bridge网络原创 2023-01-18 14:08:19 · 3967 阅读 · 0 评论 -
ubuntu22.04搭建qemu环境测试内核
ubuntu22.04搭建qemu环境测试内核原创 2023-01-03 18:37:08 · 3434 阅读 · 3 评论 -
查询网卡属性小tips
查询网卡属性的相关指令tips~原创 2022-09-21 23:45:16 · 1319 阅读 · 0 评论 -
wireshark简易抓包分析——ping指定大小包长多28Byte
测试ping时会发现一个现象:在指定ping包长度后,实际发出的包总长=指定ping包长度+28。原创 2022-09-21 23:23:37 · 5344 阅读 · 0 评论 -
linux驱动之debugfs使用
linux驱动的debugfs代码运行效果TIPS代码linux系统对系统内驱动提供一个调试功能——debugfs。debugfs是一种通过对用户空间文件进行读写操作来实现驱动和用户空间交互的调试方式。驱动需要在系统debugfs根目录下创建一个文件,再实现对该文件的读写操作函数。这样在用户空间读写文件时,会调用驱动中的操作函数,就可进行相关的驱动内部操作了,一般用于修改驱动某个变量值或是内部消息的传递。这个debugfs根目录地址是系统分配的,默认情况下,debugfs会被挂载在目录/sys/k原创 2021-08-30 16:21:26 · 4052 阅读 · 0 评论 -
Debug信息分级别输出
Debug信息分级别输出简介代码实现运行效果简介驱动需要实现一个功能:将输出信息根据重要程度分成三个级别,INFO < DEBUG < ERROR,有一个全局变量debug_level控制当前驱动允许输出信息的级别,要做到能实时修改这个debug_level,从而控制驱动输出的级别(级别>=debug_level的信息才可输出)。代码实现首先,在头文件test.h里定义下三种级别:#define INFO_LEVEL 2#define DEBUG_LEVEL 1#defi原创 2021-08-31 19:38:00 · 1951 阅读 · 0 评论 -
tasklet+kthread+workqueue使用记录
tasklet+kthread+workqueue使用记录taskletkthreadworkqueuelinux的任务调度机制太高深了,目前只能做到会用这三种结构。但具体什么情况哪种性能更高却没法详细的总结下来,还需多做项目多积累啊。。。。linux是个坑。。。本篇仅记录下tasklet结构体定义struct my_bus { ... ... struct tasklet_struct run_tasklet; };tasklet待执行的函数void exec_taskl原创 2021-05-19 17:24:01 · 326 阅读 · 0 评论 -
脚本实现登录服务器执行命令+上传下载文件自动化
脚本实现登录服务器执行命令+上传下载文件自动化winscp的上传下载脚本python脚本前期准备python脚本最近一直在调试一个客户的平台,但是每次的调试流程都是:通过winscp上传本地文件到服务器上某个固定路径,在xshell上输入make指令编译系统代码,编译成功后再通过winscp将新生成的烧录文件下载到本地。整个流程重复性极强而且涉及到的文件夹路径也很固定,耗时也非常的长,故而想到用脚本来将这些操作实现自动化,不需要我守在电脑前面等着。winscp的上传下载脚本winscp这种ssh软件原创 2021-03-22 19:11:52 · 1633 阅读 · 1 评论 -
ubuntu下更改应用调用名称(ack-grep为例)
ubuntu下更改应用调用名称(ack-grep为例ubuntu下安装了个ack-grep来替换系统自带的grep。但调用时总是需要在终端中输入完整的ack-grep -[options]才行,需要搜很多次的时候输入起来有点麻烦。故想把它的调用名字改成ack -[options],这样搜索时调用起来更方便。需要改下系统中调用ack-grep时用的名称。先看下ack-grep可执行文件的位置:test@test-Vostro-3268:~$ which ack-grep /usr/bin/ack-g原创 2021-02-20 11:08:49 · 392 阅读 · 0 评论 -
编译安装wpa_supplicant
编译安装wpa_supplicant下载指定wpa_supplicant包下载指定openssl包编译安装openssl编译安装wpa_supplicant本文记录了编译安装wpa_supplicant2.6的详细流程。系统ubuntu 12.04,内核3.4.111。由于wpa_supplicant需要使用到openssl的库,故编译安装wpas还需先安装匹配版本的openssl下载指定wpa_supplicant包1.下载指定版本的wpa_supplicant源码包:访问网址 w1.fi/rel原创 2021-02-07 17:26:01 · 2589 阅读 · 1 评论 -
ubuntu设置默认gcc版本
ubuntu设置默认gcc版本想看精简版的直接看大佬的这篇,本文在这篇命令基础上贴了每一步的操作,可和我的截图对比步骤:https://blog.csdn.net/uniqueyyc/article/details/85407693先查看下update-alternatives config:发现暂时未添加任何gcc软链接test@test-Vostro-3268:~$ sudo update-alternatives --config gcc update-alt转载 2021-01-29 16:27:26 · 6914 阅读 · 0 评论 -
c编译成可执行文件在linux上运行
平台是ubuntu20.04。还是那个超级简单的例子,在android上的编译和运行可看之前文章:c交叉编译成可执行文件在android上运行因为突然想到android那篇忘记涉及到执行C程序时传命令行参数这部分,又想到linux和android上的C程序编译和运行又并不完全一样,故而有了这篇。实验步骤:新建文件夹hello:创建hello.c和makefile。test@test-Vostro-3268:~/wahaha/hello$ lsMakefile hello.chello.原创 2021-01-21 19:30:49 · 783 阅读 · 3 评论 -
c交叉编译成可执行文件在android上运行
平台用的是rk3399-android-10。以下是一个超级简单的例子:本文是不需要用makefile编译的例子,有时小工具只涉及到一个或极少的c文件时,一条指令编译即可。单独建一个文件夹名为hello_world,里面就一个c文件。test@ubuntu-07:~/workspace$ ls hello_world/hello.cc文件代码:#include<stdio.h>int main(void){ printf("hello world\n");原创 2021-01-08 16:46:54 · 2072 阅读 · 0 评论 -
ubuntu20.04搭建编译Android代码环境
本文主要针对friendlyarm下nanopi平台的Android代码编译烧录环境搭建。主要根据官方文档中5.1-5.3章节完成步骤。http://wiki.friendlyarm.com/wiki/index.php/NanoPi_M4/zh1. 安装好文档中要求的软件包以后,此时编译会遇到报错,显示:error while loading shared libraries: libncurses5 … :no such file or directory。查了很多博客发现还需要安装其他软件,原创 2020-10-13 10:29:59 · 3404 阅读 · 0 评论 -
ubuntu20.04实操编译linux内核步骤
手动编译linux内核因工作原因需要查看当前ubuntu系统内核的源代码,但当前系统内并无源码,故自己手动编译内核,从而能对应着syslog查看内核代码输出。以下仅记录下,不太详细,按照贴的这些blog中步骤即可成功。1. 下载目标版本的headers相关安装文件,并dpkg安装2. 再去kernel.org下下载tar,选择source code下载3. 编译4. 其他因工作原因需要查看当前ubuntu系统内核的源代码,但当前系统内并无源码,故自己手动编译内核,从而能对应着syslog查看内核代码输出原创 2020-10-12 17:01:29 · 2930 阅读 · 0 评论 -
安装vmware+vs双机调试(win10+win10+windbg)
这里写自定义目录标题概念新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入概念主机是编译驱动的机子,目标主机是虚拟机内的电脑。主机需要安装VS。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准原创 2020-07-08 17:15:05 · 1533 阅读 · 0 评论 -
升降级Ubuntu的linux内核
升降级Ubuntu的linux内核因工作需要,在电脑上装多个版本的linux内核。环境ubuntu 20.04。访问:http://kernel.ubuntu.com/~kernel-ppa/mainline选择自己需要的指定版本这里会列出很多很多版本,建议直接搜索需要安装的版本号。点进去后,见以下界面。因uname -m显示系统cpu架构是x86_64,故而应下载amd64.deb后缀的文件。需要下载:amd64/linux-headers-5.10.1-051001原创 2021-01-29 15:12:24 · 893 阅读 · 1 评论