Blog

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

wsl下qemu调试benos

简介 主要记录下gdb + qemu调试benos的过程,以及对benos基础实验代码的一些小小解析。 准备 交叉编译工具链 安装aarch64-linux-gnu-gcc,这里就不赘述了 gdb安装 sudo apt install gdb-multiarch benos代码编译 代码仓库 https://github.com/runninglinuxkernel/...

gdb使用小结

简介 学习gdb的使用,参考链接以及官方手册写的很全,这里记录自己用到过的。不定时更新。 重新运行程序 load benos.elf 也可以直接j _start,跳到入口函数,比如现在运行在line24 现在又跳到入口了 显示当前运行位置 输入l或者list 其实这里也会显示当前的行数以及PC指针 显示内存 addr为内存地址,这条命令相当于memd...

wsl下qemu模拟arm64实验平台记录

总结 单纯记录下,qemu模拟arm64实验平台的过程,用别人的弄好的kernel代码跟做好的根文件系统,比较简单。 过程 github仓库 https://github.com/runninglinuxkernel/runninglinuxkernel_5.0 克隆该仓库 git clone git@github.com:runninglinuxkernel/runningl...

wsl的qemu支持raspi4

前言 目前从ubuntu安装的qemu-system-aarch64命令还不支持raspi4,输入一下命令可以看到支持的硬件类型 sudo ./qemu-system-aarch64 -machine help 通过网上搜索到的结果,有个raspi4的qemu补丁,于是打算尝试下。Github链接: https://github.com/0xMirasio/qemu-patch...

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地址。 当然这样子脚本肯定写起来就可能稍微”臃肿“了些,其...