Blog

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

交叉编译libbpf

简介 简单介绍libbpf如何交叉编译,以及利用libbpf开发一个demo程序跑在arm64平台上,内核版本为6.6.42 环境依赖 克隆代码 git clone git@github.com:libbpf/libbpf-bootstrap.git git submodule update --init --recursive 升级llvm 在wsl上原本自己clan...

uboot向kernel传参的机制(一)

简介 uboot在启动内核时,会向内核传递一些参数,可以通过两种方式传递参数给内核,一种是通过参数链表(tagged list)方式,一种是通过设备树方式。文章主要介绍uboot向kernel传参的这两个机制,其中的一个小点,比如 uboot下的bootargs,则是kernel下的cmdline。 启动流程 这里简单列举下启动内核的函数流,以bootm为例 bootm do...

ebpf原理小结

简介 大概讲下对ebpf的一些概念跟原理的理解,其实ebpf就是对bpf一些指令的拓展,下面讲bpf原理部分其实跟ebpf是差不多的。分析的内核代码版本为5.4.0 BPF程序如何运行 这部分就讲BPF程序怎么运行的,顺着这个过程,可以把各种原理理顺下 BPF程序 比方说像sockex1_kern.c跟hello_kern.c这种程序,都会有个SEC这样的标志,这种就是BPF程...

树莓派开发(三)

裸机串口调试

简介 裸机串口代码调试记录 代码 代码链接 https://github.com/copyright1999/raspi4b-project/tree/b0aabc649e0c5cd6c8ec4a42edd0d295af89231e/baremental 过程 主要的过程分为如下几个步骤 链接脚本 入口代码 管脚复用 ...

手机公网IPv6远程win11

简介 主要介绍如何用手机通过公网IPv6访问到自己的win11电脑 电脑设置 设置->远程桌面设置 第一步打开远程桌面,第二步点击远程桌面用户 添加用户,当然也可以不用添加,直接默认我们登录的用户就有访问权了 手机软件 我是苹果手机,输入rd client,可以看到第一个Windows App Mobile,选择这个软件 开始操作 电脑查看自己的公网I...

ebpf入门程序

简介 本文主要介绍如何在wsl上交叉编译运行在raspi上的ebpf程序,内核版本为6.6.42 wsl需要安装的工具 sudo apt install dwarves 如果不安装dwarves工具,打开CONFIG_DEBUG_INFO_BTF选项的话,内核会编译失败,会提示BTF: .tmp_vmlinux.btf: pahole (pahole) is not avail...

配置dropbear使用ssh

简介 树莓派上使用buildroot编译的dropbear,开启ssh功能 网络配置 编译dropbear 使用buildroot构建根文件系统,开启dropbear选项,更新rootfs 更新后查看是否有/etc/dropbear文件夹,如果没有则需要自己创建 dropbear启动 启动命令如下 dropbear -R -I 1800 我们可以把这个命令加到/etc/i...

gdb调试uboot与kernel

简介 前提是搭建好环境,可以参考之前的链接 uboot 在uboot目录下输入gdb-multiarch,而不是gdb-multiarch u-boot,因为uboot会重定位,而且之前这么操作总是有奇奇怪怪的问题 gdb-multiarch 连接openocd内置的gdbserver,端口号是3333 target retmoe :3333 然后uboot下输入b...

emmc擦除

简介 在uboot下烧写emmc的时候,用mmc write命令把内存地址中的数据写到emmc中,有时候对镜像内容有要求,会进行一遍内存的擦除,全写1。 mw.b 0x42000000 0xff 0xb00000 tftp 0x42000000 uImage mmc write 0 0x42000000 0x800 0x5800 刚好想起uboot下不是有mmc erase命令吗,以...

buildroot使用记录

简介 简单列下如何用buildroot第一次配置自己的根文件系统,且制作用于emmc或者sd卡的根文件系统 下载 来到官网,选择buildroot-2024.02.4.tar.gz 解压 tar -zxvf buildroot-2024.02.4.tar.gz 配置 先make menuconfig target options 可以看到默认的架构,我们这...