首页
社区
课程
招聘
[原创]ROCK5b的EBPF环境搭建(附带成品镜像)&EBPF效果测试
发表于: 2024-7-28 15:40 38242

[原创]ROCK5b的EBPF环境搭建(附带成品镜像)&EBPF效果测试

2024-7-28 15:40
38242

从虫佬口中得知,20.04无法开启gpu是因为驱动问题,如果要开启必须要移植驱动给redroid

我们选择使用开源的gpu驱动,开启gpu支持。

同时编译内核开启相关驱动选项来玩转ebpf

链接: ab2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6H3j5h3&6Q4x3X3g2T1j5h3W2V1N6g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1j5I4N6h3A6z5f1W2A6B7P5q4u0w2z5p5W2Q4y4h3k6J5e0p5y4C8e0o6k6p5g2X3&6Y4i4K6y4r3M7s2N6V1i4K6y4p5K9$3E0B7j5b7`.`. 提取码: kkja
--来自百度网盘超级会员v7的分享

仅需要简单的刷写镜像即可开启ebpf之旅

sd卡不需要理会spi,如果是nvme启动,请往下参考

查找到方案链接 供有能力的大佬实现(需要从原场安卓镜像移植so)

e71K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6J5k6h3#2G2N6r3g2Q4x3X3c8S2L8X3c8J5L8$3W2V1i4K6u0r3M7X3g2V1M7X3!0A6k6q4)9J5k6r3c8G2j5#2)9J5c8X3W2K6M7%4g2W2M7#2)9J5c8U0t1J5z5l9`.`.

之后找到了大佬自己移植docker的成品

git主页

5daK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6J5K9#2)9J5k6r3c8G2j5$3E0W2M7R3`.`.

docker容器:

测试后发现不行,请大佬自行测试

安装ppa源里的malig610固件

使用

ppa固件在ubuntu22.04的环境下才有,所以开始安装乌班图22.04 开始编译内核

864K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4K9h3E0A6i4K6u0W2M7X3q4V1P5r3q4Q4x3X3g2U0L8$3#2Q4x3V1k6d9L8$3y4C8y4g2)9J5c8X3c8G2N6$3&6D9L8$3q4V1M7#2!0q4y4q4!0n7z5q4)9^5b7W2!0q4y4g2)9^5c8W2)9&6x3g2!0q4y4#2)9^5c8g2!0n7x3q4!0q4y4#2!0m8b7#2!0m8b7#2!0q4y4q4!0n7z5q4)9^5z5g2!0q4y4W2)9&6y4W2!0n7z5g2!0q4y4q4!0n7z5g2)9^5b7#2!0q4y4#2)9^5c8W2!0m8c8q4!0q4y4g2)9&6b7W2!0n7c8g2!0q4y4W2)9&6z5q4!0m8c8U0t1J5i4K6u0W2x3o6c8Q4c8e0N6Q4z5o6W2Q4z5o6S2Q4c8e0k6Q4z5f1y4Q4b7f1y4Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0k6Q4z5f1g2Q4z5f1y4Q4c8e0k6Q4z5e0k6Q4b7f1c8Q4c8e0W2Q4z5o6m8Q4z5o6W2Q4c8e0k6Q4z5p5u0Q4b7e0V1`.

本以为能顺利的完成,结果踩坑不断

乌班图22.04官方地址:eb4K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6v1L8%4y4Z5N6h3q4Q4x3X3c8d9K9h3g2C8i4K6u0r3N6h3u0#2L8Y4c8#2i4K6u0V1M7X3!0U0K9$3y4Z5K9i4l9`.

在多次无法启动后,使用armbian的spi启动成功

寻找过后找到了源码地址

61eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7X3#2T1K9h3q4F1i4K6u0r3L8r3W2F1N6i4S2Q4x3X3c8J5L8$3y4C8j5$3S2A6M7l9`.`.

Rk-5.10-rkr4分支

官方提供的编译脚本

0baK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6S2M7X3#2T1K9h3q4F1i4K6u0r3j5Y4g2A6L8r3b7`.

python在乌班图高版本只有python2 或者python3 没有python

所以得随编译工具动态的变化软链接

虫佬提供的包,在新版本中名字也有发生变化

修改后的

进行课程里的修改内核步骤:

开始编译:

编译安装后,失败了

搜索源码树以后,发现官方并没有提供5.10.160相关的支持

截屏2023-06-22 10.36.17.png

截屏2023-06-22 10.36.17

这也为后面相同内核的armbian最新版编译后安装失败埋下了伏笔

由于armbian是基于ubuntu的debian实现的,所以我打算拉取最新的armbian源码编译

结果:和ubuntu22.04一样失败了

总结: 版本的选择

在此选择下,我们开启第三个版本的测试

插曲 : 源码选择的简单见解(官方的源码只能官方镜像用,升级和降级一定要注意源码标注的系统版本

sudo apt list |grep linux-source

linux-source-5.10.69-legacy-rockchip-rk3588/jammy,jammy 5.10.69-legacy-rockchip-rk3588+22.08.1 all

第一 源码要与相匹配的设备 rockchip-rk3588

第二 版本必须是22.08 如果不符合 就大概率不启动

所以 我们可以在wiki下从源码挑镜像

从这里可以拿到所有armbian的版本

cc6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6J5j5h3c8^5j5g2)9J5k6r3u0#2K9h3I4V1i4K6u0r3M7X3!0U0K9#2)9J5k6o6g2T1i4K6u0r3M7X3g2D9k6h3q4K6k6i4x3`.

rock@rock-5b:~/rk3588$ sudo apt list |grep linux-source |grep rockchip-rk3588

截屏2023-06-22 10.44.56.png

截屏2023-06-22 10.44.56

如此过滤 可以确定下可以尝试的版本

我采用的是全程卡刷模式,需要准备一张sd卡 淘宝上30块 128g

在此注意的是,树莓派指示灯

蓝色长亮= 砖了

绿色长亮 =关机状态

绿色长亮,蓝色闪烁 =用户态(系统正常运行)

刷机参考链接:

446K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4K9h3E0A6i4K6u0W2M7X3q4V1P5r3q4Q4x3X3g2U0L8$3#2Q4x3V1k6d9L8$3y4C8y4g2)9J5c8X3W2F1M7%4c8S2L8r3I4Q4x3V1k6K6M7r3V1`.

956K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4K9h3E0A6i4K6u0W2M7X3q4V1P5r3q4Q4x3X3g2U0L8$3#2Q4x3V1k6d9L8$3y4C8y4g2)9J5c8X3W2F1M7%4c8S2L8r3I4Q4x3V1k6E0K9h3y4J5L8#2y4p5

首先:

Etcher-rock-5b-1.png

3 .插入sd卡后会直接进入Linux系统 使用ip scanner扫描出ip 账号密码rock

刷入系统

进入系统 默认账号密码ubuntu

安装依赖项 已经修改成新版本可运行的,多跑几遍确认安装成功

下载系统使用内核版本的源码

sudo apt install linux-source-5.10.110-legacy-rockchip-rk3588

将内核源码解压

并拷贝原config

进行内核设置 不全参考 584K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6A6L8%4k6A6M7$3!0J5i4K6u0r3j5X3y4U0i4K6u0r3j5X3I4G2j5W2)9J5c8X3#2S2M7%4c8W2M7W2)9J5c8X3c8G2j5%4y4Q4x3V1k6C8k6i4u0F1k6h3I4Q4y4h3k6U0L8$3&6X3K9h3N6Q4x3X3g2E0k6l9`.`. 添加选项

如果要开启cutefish 要额外添加,暂时未做

编译 安装 make -j8

安装模块 sudo make modules_install

安装内核 sudo make install

进入boot目录

由此我们可以看出 Image才是真正的内核引导,而在乌班图22.04中 vmlinuz是真正的内核引导

检查一下自己的引导是不是引导到了自己想启动的内核上,用md5sum检测vmlinuz 是否等于vmlinuz-5.10.110-99-rockchip-g的md5

补充:救砖方案

如果内核启动不了,插上sd卡,进入Linux系统,将原文件系统进行挂载

sudo mkdir /mnt/mydisk1

sudo mkdir /mnt/mydisk

sudo mount /dev/nvme0n1p1 /mnt/mydisk1

sudo mount /dev/nvme0n1p2 /mnt/mydisk

cd /mnt/mydisk1 # 进入boot分区

乌班图22.04的启动镜像在firmware(大概是这意思)的文件夹里

使用官方的编译工具安装 参考链接:1ffK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4K9h3E0A6i4K6u0W2M7X3q4V1P5r3q4Q4x3X3g2U0L8$3#2Q4x3V1k6d9L8$3y4C8y4g2)9J5c8X3N6#2K9h3c8W2i4K6u0r3j5Y4g2A6L8r3c8Q4x3X3c8C8k6i4u0F1k6h3I4Q4x3X3c8G2L8W2)9J5k6o6g2T1

修改内核设置

执行完后使用官方脚本构建

我实验了两遍,都成功安装运行,大家跟我一起做即可 这个部分我写的特别详细

使用第成品包移植,编译内核开启ebpf

使用成品包的原因是不确定是不是能够百分百移植显卡驱动,那么选一个有显卡驱动的开启ebpf,那么一定可以成功

目标移植地址:

0a6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6X3L8%4u0#2L8g2)9J5k6i4u0S2k6s2S2S2i4K6u0W2j5$3!0E0i4K6u0r3N6q4)9J5c8X3N6#2K9h3c8W2i4K6u0V1j5X3g2K6N6q4)9J5k6r3!0H3N6r3W2G2L8W2)9J5k6r3k6G2M7W2)9J5k6r3q4J5L8h3u0A6j5h3&6Q4x3X3c8S2k6Y4c8W2M7X3u0#2M7X3&6W2M7W2)9J5k6r3W2E0j5h3N6W2i4K6u0V1j5Y4W2Q4x3X3c8E0L8$3&6C8j5h3u0D9P5h3q4@1i4K6u0r3x3e0b7#2y4e0t1`.

下载地址:

b03K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0L8$3&6C8j5g2)9J5k6i4y4&6M7%4c8W2L8h3!0F1j5h3y4Z5K9i4m8Q4x3X3g2F1k6i4c8Q4x3V1k6J5L8$3y4C8y4h3u0Q4x3V1k6m8M7X3#2T1K9h3q4F1i4K6g2X3x3U0y4Q4x3X3f1H3y4g2)9J5k6e0m8Q4x3X3c8@1M7Y4g2F1K9#2)9#2k6W2u0G2j5$3E0Q4x3X3b7#2j5W2)9#2k6X3A6S2L8h3#2&6i4K6g2X3L8r3g2Y4j5h3y4&6i4K6g2X3y4g2)9J5k6e0p5H3i4K6u0W2x3e0p5H3i4K6g2X3M7X3g2V1M7X3!0A6k6q4)9J5k6h3W2E0k6#2)9J5k6i4S2*7

在sd卡中随便刷入一个系统(用读卡器) 用写盘工具简单写入即可

在sd卡中下好spi和系统镜像

Etcher-rock-5b-1.png

3 .插入sd卡后会直接进入Linux系统 使用ip scanner扫描出ip 账号密码rock

进入Linux系统后下载spi和镜像

刷入spi 如果看不懂就去官方链接:17aK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4K9h3E0A6i4K6u0W2M7X3q4V1P5r3q4Q4x3X3g2U0L8$3#2Q4x3V1k6d9L8$3y4C8y4g2)9J5c8X3W2F1M7%4c8S2L8r3I4Q4x3V1k6K6M7r3V1`. 或者选择线刷

刷入系统

刷入后不要重启系统

由于是第三方打包的,需要手动扩容根分区 (我手动实现了两遍,严格按照指令走即可)

sudo fdisk -l

输出

查看磁盘名称

我的是 /dev/nvme0n1

进入交互模式

先按一个d 按回车后 他会提示你输入数字

输入2 回车

按n后

输入2

之后直接全部回车即可

按w后 自动保存退出

修复分区

重新读取大小

接下来拔掉sd卡 进入系统即可

账号 rock 密码armbian +

下载源码

原来的方式无法获取到源码了c48K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6X3L8%4u0#2L8g2)9J5k6h3q4J5L8h3u0A6j5h3&6Q4x3X3g2U0L8$3#2Q4x3V1k6@1L8%4m8A6j5#2)9J5c8U0t1&6x3o6R3%4i4K6u0V1L8h3W2Y4M7X3q4@1K9h3!0F1i4K6u0V1N6r3!0Q4x3X3c8J5K9K6x3#2P5s2S2Q4x3X3c8D9K9h3&6#2P5r3k6S2L8h3W2D9P5g2)9J5c8R3`.`.

即可获取到最新的160源码

解压源码

如果没有config文件,那么去boot目录下复制即可

复制完记得移动到kernel目录下,并命名.config

安装编译依赖

调整配置 (在内核目录下输入这些命令 分段输入 别一下粘贴)

开始编译

编译后可能会出现一些提示 尽量多的选m 以模块运行 可以翻译下 觉得好的功能开开 不影响

安装模块

安装内核

进入boot后查看Image软链接位置是否为新编译的内核(不知道可以看时间 ll命令)

若没有指向新内核 只需要执行

然后重启即可发现内核替换成功

cuttefish参考课程,内核已经在编译时候修改过了

这个镜像内置 cabK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6o6K9r3W2K6b7Y4u0W2j5h3c8Q4x3V1k6E0j5h3I4A6L8%4u0Q4x3U0y4E0j5h3I4A6L8%4u0Q4x3X3c8J5k6h3c8J5L8$3W2V1

可以尝试使用

进docker系统以后 记得

sudo mount -t debugfs debugfs /sys/kernel/debug

并修改 /proc/sys/kernel/kptr_restrict的的值为0

参考自ebpf课程内容

若docker无法启动 则检测模块是否已经安装

交叉编译rock5b内核

编译打包headers

CleanShot 2024-07-28 at 15.10.16

CleanShot 2024-07-28 at 15.20.28

成功启动所有系统调用监控

CleanShot 2024-07-28 at 15.22.31

CleanShot 2024-07-28 at 15.28.59

首先创建两个file1 内容 file number1

file2 file number2

开启文件重定向

CleanShot 2024-07-28 at 15.29.58

之后查看文件1

CleanShot 2024-07-28 at 15.30.34

发现是文件2的内容

CleanShot 2024-07-28 at 15.32.17

CleanShot 2024-07-28 at 15.32.27

发现这个进程在不断访问自己的maps,不知道干啥呢

访问次数稳定增加,可以判断是线程循环检测,接下来就要做一些东西了

再看看他还访问其他什么了嘛

CleanShot 2024-07-28 at 15.34.26

/fd

/maps

/task

都进行了大量循环访问,那么只需要过滤进程名,做io重定向就好了

docker run -d --privileged --name test \
    -p 5555:5555 \
    -v /dev/mali0:/dev/mali0 \
    shangzebei/rk3588 androidboot.redroid_gpu_mode=mali
docker run -d --privileged --name test \
    -p 5555:5555 \
    -v /dev/mali0:/dev/mali0 \
    shangzebei/rk3588 androidboot.redroid_gpu_mode=mali
sudo apt install mali-g610-firmware
sudo apt install mali-g610-firmware
docker run -itd --privileged \
    --pull always \
    -v "$(pwd)"/Android:/data \
    -v /dev:/dev \
    -v /run/dbus:/run/dbus \
    -v /var/run/dbus:/var/run/dbus \
    --mount=type=bind,source=/dev/mali0,destination=/dev/mali0 \
    -p 5555:5555 \
    chisbread/rk3588-gaming:redroid-firefly \
    androidboot.redroid_fps=30 \
    androidboot.redroid_gpu_mode=host
docker run -itd --privileged \
    --pull always \
    -v "$(pwd)"/Android:/data \
    -v /dev:/dev \
    -v /run/dbus:/run/dbus \
    -v /var/run/dbus:/var/run/dbus \
    --mount=type=bind,source=/dev/mali0,destination=/dev/mali0 \
    -p 5555:5555 \
    chisbread/rk3588-gaming:redroid-firefly \
    androidboot.redroid_fps=30 \
    androidboot.redroid_gpu_mode=host
docker run -itd --privileged \
    --pull always \
    --mount=type=bind,source=/dev/mali0,destination=/dev/mali0 \
    -p 5555:5555 \
    chisbread/rk3588-gaming:redroid-firefly \
    androidboot.redroid_gpu_mode=host
docker run -itd --privileged \
    --pull always \
    --mount=type=bind,source=/dev/mali0,destination=/dev/mali0 \
    -p 5555:5555 \
    chisbread/rk3588-gaming:redroid-firefly \
    androidboot.redroid_gpu_mode=host
sudo apt-get update && sudo apt-get install -y git curl apt-utils wget device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python3 dosfstools bison flex rsync u-boot-tools make dwarves libelf-dev ninja-build cmake libglib2.0-dev meson libpixman-1-dev libcapstone-dev libudev-dev libssh-dev libbrlapi-dev libpmem-dev libtasn1-6-dev libdaxctl-dev libbpf-dev libpulse-dev indent libiscsi-dev libnfs-dev libgcrypt20-dev libseccomp-dev libcurl4-openssl-dev libjack-dev libsndio-dev libopengl-dev libusb-dev acpica-tools libxkbcommon-dev libslirp-dev libsdl2-dev librados-dev libglusterfs-dev libepoxy-dev libgmp-dev libgvnc-1.0-dev libgnutls28-dev libfdt-dev
sudo apt-get update && sudo apt-get install -y git curl apt-utils wget device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python3 dosfstools bison flex rsync u-boot-tools make dwarves libelf-dev ninja-build cmake libglib2.0-dev meson libpixman-1-dev libcapstone-dev libudev-dev libssh-dev libbrlapi-dev libpmem-dev libtasn1-6-dev libdaxctl-dev libbpf-dev libpulse-dev indent libiscsi-dev libnfs-dev libgcrypt20-dev libseccomp-dev libcurl4-openssl-dev libjack-dev libsndio-dev libopengl-dev libusb-dev acpica-tools libxkbcommon-dev libslirp-dev libsdl2-dev librados-dev libglusterfs-dev libepoxy-dev libgmp-dev libgvnc-1.0-dev libgnutls28-dev libfdt-dev
scripts/config --enable CONFIG_BPF_LSMscripts/config --enable CONFIG_KGDBscripts/config --enable CONFIG_FUNCTION_PROFILERscripts/config --enable CONFIG_FTRACE_SYSCALLSscripts/config --enable CONFIG_BPF_KPROBE_OVERRIDEscripts/config --enable CONFIG_TRACE_EVENT_INJECTscripts/config --enable CONFIG_HIST_TRIGGERSscripts/config --enable CONFIG_SCHED_TRACERscripts/config --enable CONFIG_IRQSOFF_TRACERscripts/config --enable CONFIG_FUNCTION_TRACERscripts/config --enable CONFIG_STACK_TRACERscripts/config --disable CONFIG_MAGIC_SYSRQscripts/config --enable CONFIG_IKHEADERSscripts/config --enable CONFIG_DEBUG_INFO_BTFscripts/config --enable CONFIG_ASHMEMscripts/config --enable CONFIG_ANDROIDscripts/config --enable CONFIG_ANDROID_BINDER_IPCscripts/config --enable CONFIG_ANDROID_BINDERFSscripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES ""scripts/config --enable CONFIG_PSI
scripts/config --enable CONFIG_BPF_LSMscripts/config --enable CONFIG_KGDBscripts/config --enable CONFIG_FUNCTION_PROFILERscripts/config --enable CONFIG_FTRACE_SYSCALLSscripts/config --enable CONFIG_BPF_KPROBE_OVERRIDEscripts/config --enable CONFIG_TRACE_EVENT_INJECTscripts/config --enable CONFIG_HIST_TRIGGERSscripts/config --enable CONFIG_SCHED_TRACERscripts/config --enable CONFIG_IRQSOFF_TRACERscripts/config --enable CONFIG_FUNCTION_TRACERscripts/config --enable CONFIG_STACK_TRACERscripts/config --disable CONFIG_MAGIC_SYSRQscripts/config --enable CONFIG_IKHEADERSscripts/config --enable CONFIG_DEBUG_INFO_BTFscripts/config --enable CONFIG_ASHMEMscripts/config --enable CONFIG_ANDROIDscripts/config --enable CONFIG_ANDROID_BINDER_IPCscripts/config --enable CONFIG_ANDROID_BINDERFSscripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES ""scripts/config --enable CONFIG_PSI
wget https://github.com/huazi-yg/rock5b/releases/download/rock5b/rkspi_loader.img #armbian的spi
wget https://dl.radxa.com/rock5/sw/images/others/zero.img.gz
#清除分区镜像
 
gzip -d zero.img.gz
# 解压镜像
ls /dev/mtdblock*
#查看spi分区
 
应该显示
/dev/mtdblock0
 
将zero.img刷入分区
 
sudo dd if=spi-image.img of=/dev/mtdblock0
sync
 
sudo md5sum /dev/mtdblock0 zero.img
#检测是否成功刷入,如果成功了两个md5相同
 
sudo dd if=spi-image.img of=/dev/mtdblock0
# 刷入spi镜像
 
sudo md5sum /dev/mtdblock0 spi-image.img
#检测是否成功刷入,如果成功了两个md5相同
wget https://github.com/huazi-yg/rock5b/releases/download/rock5b/rkspi_loader.img #armbian的spi
wget https://dl.radxa.com/rock5/sw/images/others/zero.img.gz
#清除分区镜像
 
gzip -d zero.img.gz
# 解压镜像
ls /dev/mtdblock*
#查看spi分区
 
应该显示
/dev/mtdblock0
 
将zero.img刷入分区
 
sudo dd if=spi-image.img of=/dev/mtdblock0
sync
 
sudo md5sum /dev/mtdblock0 zero.img
#检测是否成功刷入,如果成功了两个md5相同
 
sudo dd if=spi-image.img of=/dev/mtdblock0
# 刷入spi镜像
 
sudo md5sum /dev/mtdblock0 spi-image.img
#检测是否成功刷入,如果成功了两个md5相同
# 下载镜像
wget https://github.com/radxa-build/rock-5b/releases/download/20221108-0637/Armbian_22.11.0-trunk_Rock-5b_bullseye_legacy_5.10.72_minimal.img.xz
 
# 刷入镜像
sudo xzcat 'Armbian_22.11.0-trunk_Rock-5b_bullseye_legacy_5.10.72_minimal.img.xz' | sudo dd of='/dev/nvme0n1' bs=1M status=progress
 
sudo xzcat 'ubuntu-22.04-preinstalled-desktop-arm64-rock-5d.img.xz' | sudo dd of='/dev/nvme0n1' bs=1M status=progress
 
sudo xzcat 'Armbian_23.05.0-trunk_Rock-5b_jammy_legacy_5.10.110_redroid.img.xz' | sudo dd of='/dev/nvme0n1' bs=1M status=progress
# 下载镜像
wget https://github.com/radxa-build/rock-5b/releases/download/20221108-0637/Armbian_22.11.0-trunk_Rock-5b_bullseye_legacy_5.10.72_minimal.img.xz
 
# 刷入镜像
sudo xzcat 'Armbian_22.11.0-trunk_Rock-5b_bullseye_legacy_5.10.72_minimal.img.xz' | sudo dd of='/dev/nvme0n1' bs=1M status=progress
 
sudo xzcat 'ubuntu-22.04-preinstalled-desktop-arm64-rock-5d.img.xz' | sudo dd of='/dev/nvme0n1' bs=1M status=progress
 
sudo xzcat 'Armbian_23.05.0-trunk_Rock-5b_jammy_legacy_5.10.110_redroid.img.xz' | sudo dd of='/dev/nvme0n1' bs=1M status=progress
sudo apt-get update && sudo apt-get install -y git curl apt-utils wget device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python3 dosfstools bison flex rsync u-boot-tools make dwarves libelf-dev ninja-build cmake libglib2.0-dev meson libpixman-1-dev libcapstone-dev libudev-dev libssh-dev libbrlapi-dev libpmem-dev libtasn1-6-dev libdaxctl-dev libbpf-dev libpulse-dev indent libiscsi-dev libnfs-dev libgcrypt20-dev libseccomp-dev libcurl4-openssl-dev libjack-dev libsndio-dev libopengl-dev libusb-dev acpica-tools libxkbcommon-dev libslirp-dev libsdl2-dev librados-dev libglusterfs-dev libepoxy-dev libgmp-dev libgvnc-1.0-dev libgnutls28-dev libfdt-dev
sudo apt-get update && sudo apt-get install -y git curl apt-utils wget device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python3 dosfstools bison flex rsync u-boot-tools make dwarves libelf-dev ninja-build cmake libglib2.0-dev meson libpixman-1-dev libcapstone-dev libudev-dev libssh-dev libbrlapi-dev libpmem-dev libtasn1-6-dev libdaxctl-dev libbpf-dev libpulse-dev indent libiscsi-dev libnfs-dev libgcrypt20-dev libseccomp-dev libcurl4-openssl-dev libjack-dev libsndio-dev libopengl-dev libusb-dev acpica-tools libxkbcommon-dev libslirp-dev libsdl2-dev librados-dev libglusterfs-dev libepoxy-dev libgmp-dev libgvnc-1.0-dev libgnutls28-dev libfdt-dev
cd ~
mkdir kernel
cd kernel
tar -xf /usr/src/linux-source-5.10.110-rockchip-rk3588.tar.xz
tar -xf /usr/src/linux-rockchip-rk3588-legacy_5.10.110_22.11.4_config.xz
mv -v linux-rockchip-rk3588-legacy_5.10.110_22.11.4_config .config
cd ~
mkdir kernel
cd kernel
tar -xf /usr/src/linux-source-5.10.110-rockchip-rk3588.tar.xz
tar -xf /usr/src/linux-rockchip-rk3588-legacy_5.10.110_22.11.4_config.xz
mv -v linux-rockchip-rk3588-legacy_5.10.110_22.11.4_config .config
scripts/config --enable CONFIG_ASHMEM
scripts/config --enable CONFIG_ANDROID
scripts/config --enable CONFIG_ANDROID_BINDER_IPC
scripts/config --enable CONFIG_ANDROID_BINDERFS
scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES ""
scripts/config --enable CONFIG_PSI
scripts/config --enable CONFIG_ASHMEM
scripts/config --enable CONFIG_ANDROID
scripts/config --enable CONFIG_ANDROID_BINDER_IPC
scripts/config --enable CONFIG_ANDROID_BINDERFS
scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES ""
scripts/config --enable CONFIG_PSI
cd /boot
cd /boot
armbianEnv.txt                  initrd.img-5.10.110-99-rockchip-g
armbian_first_run.txt.template  lost+found
boot.bmp                        System.map-5.10.110-99-rockchip-g
boot.cmd                        System.map-5.10.110-rockchip-rk3588
boot.scr                        uInitrd
config-5.10.110-99-rockchip-g   uInitrd-5.10.110-99-rockchip-g
dtb                             uInitrd-5.10.110-rockchip-rk3588
dtb-5.10.110-99-rockchip-g      vmlinuz
dtb-5.10.110-rockchip-rk3588    vmlinuz-5.10.110-99-rockchip-g
Image                           vmlinuz-5.10.110-rockchip-rk3588
initrd.img
 
rock@rock-5b:/boot$ md5sum vmlinuz-5.10.110-rockchip-rk3588
3a04f82b2e6f62680d4f39de49c93940  vmlinuz-5.10.110-rockchip-rk3588
 
rock@rock-5b:/boot$ md5sum vmlinuz-5.10.110-99-rockchip-g
67349202d412eab68167d8282c29bed3  vmlinuz-5.10.110-99-rockchip-g
 
rock@rock-5b:/boot$ md5sum vmlinuz
3a04f82b2e6f62680d4f39de49c93940  vmlinuz
 
rock@rock-5b:/boot$ md5sum Image
67349202d412eab68167d8282c29bed3  Image
armbianEnv.txt                  initrd.img-5.10.110-99-rockchip-g
armbian_first_run.txt.template  lost+found
boot.bmp                        System.map-5.10.110-99-rockchip-g
boot.cmd                        System.map-5.10.110-rockchip-rk3588
boot.scr                        uInitrd
config-5.10.110-99-rockchip-g   uInitrd-5.10.110-99-rockchip-g
dtb                             uInitrd-5.10.110-rockchip-rk3588
dtb-5.10.110-99-rockchip-g      vmlinuz
dtb-5.10.110-rockchip-rk3588    vmlinuz-5.10.110-99-rockchip-g
Image                           vmlinuz-5.10.110-rockchip-rk3588
initrd.img
 
rock@rock-5b:/boot$ md5sum vmlinuz-5.10.110-rockchip-rk3588
3a04f82b2e6f62680d4f39de49c93940  vmlinuz-5.10.110-rockchip-rk3588
 
rock@rock-5b:/boot$ md5sum vmlinuz-5.10.110-99-rockchip-g
67349202d412eab68167d8282c29bed3  vmlinuz-5.10.110-99-rockchip-g
 
rock@rock-5b:/boot$ md5sum vmlinuz
3a04f82b2e6f62680d4f39de49c93940  vmlinuz
 
rock@rock-5b:/boot$ md5sum Image
67349202d412eab68167d8282c29bed3  Image
sudo mv Image Image.old
sudo ln -s vmlinuz-5.10.110 Image
 
# 将软链接改成之前的镜像,即可启动
sudo mv Image Image.old
sudo ln -s vmlinuz-5.10.110 Image
 
# 将软链接改成之前的镜像,即可启动
$ mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
$ 内核源码从/usr/src 解压出来 命名为kernel
$ git clone -b master https://github.com/radxa/rkbin.git  # 拉取设备树
$ git clone -b debian https://github.com/radxa/build.git    # 拉取构建脚本
$ mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
$ 内核源码从/usr/src 解压出来 命名为kernel
$ git clone -b master https://github.com/radxa/rkbin.git  # 拉取设备树
$ git clone -b debian https://github.com/radxa/build.git    # 拉取构建脚本
make rockchip_linux_defconfig
 
scripts/config --enable CONFIG_BPF_LSM
scripts/config --enable CONFIG_KGDB
scripts/config --enable CONFIG_FUNCTION_PROFILER
scripts/config --enable CONFIG_FTRACE_SYSCALLS
scripts/config --enable CONFIG_BPF_KPROBE_OVERRIDE
scripts/config --enable CONFIG_TRACE_EVENT_INJECT
scripts/config --enable CONFIG_HIST_TRIGGERS
scripts/config --enable CONFIG_SCHED_TRACER
scripts/config --enable CONFIG_IRQSOFF_TRACER
scripts/config --enable CONFIG_FUNCTION_TRACER
scripts/config --enable CONFIG_STACK_TRACER
scripts/config --disable CONFIG_MAGIC_SYSRQ
scripts/config --enable CONFIG_IKHEADERS
scripts/config --enable CONFIG_DEBUG_INFO_BTF
 
scripts/config --enable CONFIG_ASHMEM
scripts/config --enable CONFIG_ANDROID
scripts/config --enable CONFIG_ANDROID_BINDER_IPC
scripts/config --enable CONFIG_ANDROID_BINDERFS
scripts/config --set-str CONFIG_ANDROID_BINDER_DEVICES ""
scripts/config --enable CONFIG_PSI
 
make savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig
make rockchip_linux_defconfig
make rockchip_linux_defconfig
 
scripts/config --enable CONFIG_BPF_LSM
scripts/config --enable CONFIG_KGDB
scripts/config --enable CONFIG_FUNCTION_PROFILER
scripts/config --enable CONFIG_FTRACE_SYSCALLS
scripts/config --enable CONFIG_BPF_KPROBE_OVERRIDE
scripts/config --enable CONFIG_TRACE_EVENT_INJECT
scripts/config --enable CONFIG_HIST_TRIGGERS
scripts/config --enable CONFIG_SCHED_TRACER

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 5
支持
分享
最新回复 (9)
雪    币: 4053
活跃值: (2702)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
需要注意。rock5b版本有5.10.66和6.10两种内核版本供大家选择,orange pi5 plus 只有5.10.160一个内核版本,本文章仅讲如何搭建ebpf环境,ebpf相关知识请去非虫老师的b站进行学习
2024-7-28 15:43
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3
大佬,太强了,先收藏了,以后参考学习
2024-7-28 23:49
0
雪    币: 486
活跃值: (2123)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
4
orange pi5 plus 比 rock5b 更有性价比。be2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6v1L8%4y4Z5N6h3q4Q4x3X3c8d9K9h3g2C8i4K6u0r3N6h3u0#2L8Y4c8#2i4K6u0V1M7X3!0U0K9$3y4Z5K9i4m8Q4x3U0k6F1j5Y4y4H3i4K6y4n7i4K6t1$3L8X3u0K6M7q4)9K6b7W2!0q4z5q4!0n7c8W2)9&6z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4z5g2!0m8x3g2!0n7z5g2!0q4y4#2)9&6b7W2!0m8c8g2!0q4y4W2)9&6y4q4!0m8c8W2!0q4y4W2)9^5b7#2)9^5x3e0g2Q4x3X3f1I4x3q4!0q4y4g2)9&6x3W2)9^5b7K6k6Q4x3X3f1I4x3q4!0q4y4g2)9^5y4W2)9^5y4g2!0q4y4W2!0m8x3q4!0n7z5q4!0q4y4#2)9&6b7g2)9^5y4l9`.`.
2024-7-29 07:05
0
雪    币: 4053
活跃值: (2702)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
5
我是土匪 orange pi5 plus 比 rock5b 更有性价比。08fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6v1L8%4y4Z5N6h3q4Q4x3X3c8d9K9h3g2C8i4K6u0r3N6h3u0#2L8Y4c8#2i4K6u0V1M7X3!0U0K9$3y4Z5K9i4l9`. 这个项目支持5.10和6.10内核的
是这样的,这个项目也是armbian内核,做了局部修改,作者给的build脚本比较简陋 需要修改他的构建文件
2024-7-29 08:07
0
雪    币: 4053
活跃值: (2702)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
6
mb_qzwrkwda 需要注意。rock5b版本有5.10.66和6.10两种内核版本供大家选择,orange pi5 plus 只有5.10.160一个内核版本,本文章仅讲如何搭建ebpf环境,ebpf相关知识请去非虫老 ...
orangepi只有一个内核版本是因为我只编译了一个,大家有需要可以去自己编译
2024-7-29 08:08
0
雪    币: 315
活跃值: (3093)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也用的302K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6v1L8%4y4Z5N6h3q4Q4x3X3c8d9K9h3g2C8i4K6u0r3N6h3u0#2L8Y4c8#2i4K6u0V1M7X3!0U0K9$3y4Z5K9i4m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4b7V1y4Q4z5e0k6Q4c8e0S2Q4b7f1k6Q4z5e0q4Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0W2Q4z5f1y4Q4z5o6m8Q4c8e0S2Q4b7e0k6Q4z5o6q4Q4c8e0k6Q4z5e0c8Q4b7U0W2T1N6h3W2D9k6q4!0q4z5q4)9^5y4q4)9&6b7g2!0q4y4W2)9&6b7#2!0m8b7#2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6y4q4!0n7z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4g2)9^5y4W2)9^5y4g2!0q4y4W2!0m8x3q4!0n7z5q4!0q4z5g2)9^5y4g2)9^5c8q4!0q4y4#2!0n7c8q4!0m8c8g2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4q4!0n7b7W2!0n7y4W2!0q4y4g2!0n7x3q4!0n7x3g2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4#2!0n7b7#2)9&6y4W2!0q4z5q4!0m8c8W2)9&6x3g2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4g2)9^5c8W2!0m8c8W2!0q4y4q4!0n7b7W2!0m8y4g2!0q4y4#2)9&6b7#2)9^5b7W2!0q4c8W2!0n7b7#2)9&6b7h3S2@1N6s2m8K6i4K6y4m8i4K6u0r3i4K6u0r3L8i4m8Q4x3X3g2%4k6h3W2^5K9h3&6Q4x3X3g2I4M7g2)9J5k6h3y4G2L8g2)9J5c8Y4y4Q4x3V1k6n7L8s2S2C8c8q4A6z5f1U0k6C8P5h3W2e0x3W2A6B7b7@1S2s2L8K6y4Y4
2024-7-29 16:06
0
雪    币: 4053
活跃值: (2702)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
8
Python成长路 我也用的5c7K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6v1L8%4y4Z5N6h3q4Q4x3X3c8d9K9h3g2C8i4K6u0r3N6h3u0#2L8Y4c8#2i4K6u0V1M7X3!0U0K9$3y4Z5K9i4m8Q4c8f1k6Q4b7V1y4Q4z5p5y4Q4c8e0N6Q4b7V1y4Q4z5e0k6Q4c8e0S2Q4b7f1k6Q4z5e0q4Q4c8e0c8Q4b7U0S2Q4z5p5c8Q4c8e0W2Q4z5f1y4Q4z5o6m8Q4c8e0S2Q4b7e0k6Q4z5o6q4Q4c8e0k6Q4z5e0c8Q4b7U0W2T1N6h3W2D9k6q4!0q4z5q4)9^5y4q4)9&6b7g2!0q4y4W2)9&6b7#2!0m8b7#2!0q4c8W2!0n7b7#2)9^5b7#2!0q4y4W2)9&6y4q4!0n7z5g2!0q4y4q4!0n7z5q4!0m8b7g2!0q4y4g2)9^5y4W2)9^5y4g2!0q4y4W2!0m8x3q4!0n7z5q4!0q4z5g2)9^5y4g2)9^5c8q4!0q4y4#2!0n7c8q4!0m8c8g2!0q4y4W2)9&6y4W2)9^5y4#2!0q4y4q4!0n7b7W2!0n7y4W2!0q4y4g2!0n7x3q4!0n7x3g2!0q4z5q4)9^5x3#2!0n7c8q4!0q4y4#2!0n7b7#2)9&6y4W2!0q4z5q4!0m8c8W2)9&6x3g2!0q4x3#2)9^5x3q4)9^5x3W2!0q4y4g2)9^5c8W2!0m8c8W2!0q4y4q4!0n7b7W2!0m8y4g2!0q4y4#2)9&6b7#2)9^5b7W2!0q4c8W2!0n7b7#2)9&6b7h3S2@1N6s2m8K6i4K6y4m8i4K6u0r3i4K6u0r3L8i4m8Q4x3X3g2%4k6h3W2^5K9h3&6Q4x3X3f1`. ...
谢谢,今晚学习下,已经关注~
2024-7-29 19:25
0
雪    币: 1504
活跃值: (3719)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢分享
2024-7-31 10:28
0
雪    币: 1109
活跃值: (3781)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
珍惜生命,建议用 飞腾主板 + AMD 显卡。
2024-7-31 14:41
0
游客
登录 | 注册 方可回帖
返回