Blog

一遍用了千遍,千遍只为一遍

wsl使用qemu

简介 记录在wsl上使用qemu的过程,基本是按照参考链接一步步来的。 过程 安装工具 sudo apt-get install qemu-system-arm libncurses5-dev gcc-aarch64-linux-gnu build-essential bison flex libssl-dev 编译内核 下载4.19.171的内核源码 https://c...

IO相关概念

简介 看到一个链接,讲到了一些IO的概念,感觉还不错。 访问IO设备的方式 主机对I/O设备进行访问的目标是I/O设备的寄存器或者内存。常见的I/O设备都只提供寄存器供主机访问,对于低速外设这样的模式是足够的,但是对于需要大量、高速数据交互的外设(如显卡、网卡),就需要主机能够直接访问外设的内存了。现代计算机提供了两种方式来访问I/O设备,它们分别是PMIO和MMIO。 PMIO ...

win11安装wsl2到D盘

过程 首先在powershell以管理员身份运行下面两条命令 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatfo...

实用脚本记录

简介 记录自己工作或者学习的时候用到的脚本 创建工具链软链接 创建arm-linux-gnueabihf-gcc的软链接,名字是arm-linux-gnueabihf-gcc !/bin/bash for file in arm-linux-gnueabihf* ; do filename=$(basename "$file") newfilename...

pciutils交叉编译

简介 本文主要是简单介绍pciutils工具如何交叉编译 过程 下载地址,选择3.8版本 https://mirrors.edge.kernel.org/pub/software/utils/pciutils/ 解压tar -zxvf pciutils-3.8.0.tar.gz 修改Makefile 红框为主要修改点 # Host OS and releas...

sys目录的小小小妙用

在项目中,为了降低功耗,砍掉了内核eth0的网卡驱动,将其抽出来作为单独的驱动(以ko的形势)加载。现在需求是,加载网卡驱动后,要配置给eth0节点固定的MAC地址。 那最简单的想法就是写个后台脚本,一直ifconfig -a轮询,用sed,awk,grep或者其他shell文本处理工具,看eth0节点是否起来,起来后再配置MAC地址。 当然这样子脚本肯定写起来就可能稍微”臃肿“了些,其...

字符串问题

前言 最近碰到一个字符串的问题,将问题记录下来。 问题背景 写了段代码,主要是实现,从一个文件中读取一个raw_value:000076083这样的字符串出来,然后根据index,表示要提取哪三位当做给一个int类型的变量final_val。比如index = 0,那么final_val = 0;index = 1,那么final_val = 76;;index = 2,那么final...

udev简单应用

udev1.0

总结 这篇先大概对udev的应用有个大概的,简单的了解,具体的一些分析或者其他更深入的一些其他用法,以后有空可以再分析 简介 udev是Linux(linux2.6内核之后)默认的设备管理工具。udev 以守护进程的形式运行,通过侦听内核发出来的uevent来管理 /dev目录下的设备文件。通过udev编写对应规则,实现设备节点变化时做出规定的动作。例如下面要介绍的热插拔实验。 ...

linux USB学习(四)

configfs用户层实现gadget驱动

简介 这篇文章主要介绍如何通过configfs在应用层实现用户空间的gadget驱动 U盘配置过程 内核打开configfs以及usb存储设备相关选项 CONFIG_CONFIGFS_FS : 为用户空间提供访问配置内核驱动的configfs文件系统 CONFIG_USB_LIBCOMPOSITE:提供usb gadget composite框架 CONFIG_USB_...

Linux性能问题排查方向

总结 参考B站UP主的思路,如果在Linux下碰到比较复杂的性能问题,可以按照下面的四步方法去定位问题。 先用top命令查看Linux系统总体的CPU使用情况 如果有异常,用pidstat -u查看细粒度的各个进程的CPU使用情况,否则转向下一步 用vmstat命令查看Linux系统总体的内存使用情况 如果有异常,用smem查看细粒...