RK3566-移植5.10内核Ubuntu22.04

说明

        记录了本人使用泰山派(RK3566)作为平台并且成功移植5.10.160版本kernel和ubuntu22.04,并且成功配置&连接网络的完整过程。


本文章所用ubuntu下载地址:ubuntu-cdimage-ubuntu-base-releases-22.04-release安装包下载_开源镜像站-阿里云

本文章所用内核下载地址:

Rockchip Kernel - Rockchip open source Document


文件系统

配置Ubuntu

解压文件系统(ubuntu22.04)

root@ubuntu:/home/zq/Desktop# mkdir ubuntu
root@ubuntu:/home/zq/Desktop# mv ubuntu-base-22.04-base-arm64.tar.gz  ubuntu
root@ubuntu:/home/zq/Desktop# cd ubuntu/
root@ubuntu:/home/zq/Desktop/ubuntu# tar -xzvf ubuntu-base-22.04-base-arm64.tar.gz

cd 到kernel目录,复制WIFI固件到ubuntu

root@ubuntu:/home/zq/Desktop/ubuntu# cp -p ../external/rkwifibt/firmware/broadcom/all/wifi/ lib/firmware/

查看固件 

root@ubuntu:/home/zq/Desktop/Release/kernel# ls lib/firmware/
clm_bcm43752a2_ag.blob       fw_bcm43455c0_ag.bin           nvram_ap6212a_ap.txt  nvram_AP6493.txt
clm_bcm43752a2_pcie_ag.blob  fw_bcm43455c0_ag_mfg.bin       nvram_ap6212a_cy.txt  nvram_awnb108.txt
fw_awnb108_ap.bin            fw_bcm43456c5_ag.bin           nvram_ap6212a.txt     nvram_azw256.txt
fw_awnb108.bin               fw_bcm43456c5_ag_mfg.bin       nvram_ap6212.txt      nvram_azw372.txt
fw_bcm40181a2.bin            fw_bcm4354a1_ag.bin            nvram_ap6233f.txt     nvram_B23.txt
fw_bcm40181a2_mfg.bin        fw_bcm4354a1_ag_mfg.bin        nvram_AP6234.txt      nvram_cyw43438.txt
fw_bcm40183b2_ag.bin         fw_bcm4356a2_ag.bin            nvram_ap6236.txt      nvram_cyw43455.txt
fw_bcm40183b2.bin            fw_bcm4356a2_ag_mfg.bin        nvram_ap6255.txt      nvram_RK901.txt
fw_bcm43013c1_ag.bin         fw_bcm4359c0_ag.bin            nvram_ap6256.txt      nvram_RK903_26M.cal
fw_bcm43013c1_ag_mfg.bin     fw_bcm4359c0_ag_mfg.bin        nvram_AP6275P.txt     nvram_RK903.cal
fw_bcm43241b4_ag.bin         fw_bcm43752a2_ag.bin           nvram_ap6275s.txt     nvram_RK903.txt
fw_bcm4330.bin               fw_bcm43752a2_ag_mfg.bin       nvram_ap62x2.txt      rk912_fw.bin
fw_bcm43341b0_ag.bin         fw_bcm43752a2_pcie_ag.bin      nvram_AP6330.txt      rk912_patch.bin
fw_bcm4334b1_ag.bin          fw_bcm43752a2_pcie_ag_mfg.bin  nvram_AP6335.txt      rk912_patch_cal.bin
fw_bcm4339a0_ag.bin          fw_cyw43438.bin                nvram_ap6354.txt      wifi_efuse_8189e.map
fw_bcm4339a0_ag_mfg.bin      fw_cyw43455.bin                nvram_ap6356s.txt     wifi_efuse_8723bs-vq0.map
fw_bcm43436b0.bin            nvram_4330_oob.txt             nvram_ap6356.txt      wifi_efuse_8723cs.map
fw_bcm43436b0_mfg.bin        nvram_4330.txt                 nvram_ap6398s.txt     wifi_efuse_8723ds.map
fw_bcm43438a0.bin            nvram_ap6181.txt               nvram_AP6441.txt
fw_bcm43438a1.bin            nvram_AP6210_24M.txt           nvram_ap6452.txt
fw_bcm43438a1_mfg.bin        nvram_AP6210.txt               nvram_AP6476.txt

给ubuntu22.04_base arm64版本换源,只需要把对应的20.04的版本代号变为22.04即可

参考我前面的博客为ARM64架构移植Ubuntu20.04换源的发现_ubuntu20 arm源-CSDN博客https://blog.csdn.net/qq_65198598/article/details/145145101?spm=1001.2014.3001.5501https://blog.csdn.net/qq_65198598/article/details/145145101?spm=1001.2014.3001.5501https://blog.csdn.net/qq_65198598/article/details/145145101?spm=1001.2014.3001.5501

Ubuntu各版本代号
版本号代号
23.10mantic
23.04lunar
22.10kinetic
22.04jammy
21.10impish
21.04hirsute
20.10groovy
20.04focal
19.10eoan
19.04disco
18.10cosmic
18.04bionic

为Ubuntu更新软件

参考:基于 RK3588 构建 Ubuntu 22.04 根文件系统_rk3588 ubuntu-CSDN博客https://blog.csdn.net/qq_34117760/article/details/130909986https://blog.csdn.net/qq_34117760/article/details/130909986https://blog.csdn.net/qq_34117760/article/details/130909986

配置好网络过后,安装必要软件:我安装的有:

#必要
apt install vim bash-completion net-tools iputils-ping ifupdown ethtool ssh rsync udev htop rsyslog curl openssh-server apt-utils dialog nfs-common psmisc language-pack-en-base sudo kmod apt-transport-https -y
#开发
apt install gcc g++ make cmake ninja-build build-essential ffmpeg libopencv-dev libv4l-dev v4l-utils yavta -y
#网络
apt install bluetooth* bluez* blueman* wireless-tools network-manager -y

内核

配置内核

修改kernel中的Makefile为自己的编译器(kernel/Makefile里)

 使用rockchip的默认config开始配置,这里只演示配置wifi

root@ubuntu:/home/zq/Desktop/Release/kernel# make menuconfig rockchip_linux_defconfig

进入menuconfig,搜索“ap6”,如图选择/输入路径

注意需要选择的是SDIO接口并且 编辑正确的固件路径(ap6212a的固件),若固件路径不正确会导致wlan0开启失败从而不显示接口。

另外一个点是虽然在DTS里面写的模块是AP6212并且原理图上也是AP6212,但是实际上的固件加载的是AP6212A才可以正常运行,加载AP6212的固件无法运行!

编译内核&模块

开始编译内核

root@ubuntu:/home/zq/Desktop/Release# ./build.sh  kernel

等待七七四十九天之后编译好了内核

然后开始编译模块

make modules

等待七七四十九天之后把编译好的模块安装到即将烧录到的文件系统rootfs中 

make ARCH=arm64 modules_install INSTALL_MOD_PATH=../ubuntu

安装modules过后可以看到目录下有对应内核的模块目录

烧录&测试

调整内存分区(选做)

烧录本次文件系统&内核后使用立创原提供的内存分区文件(parameter.txt)烧录后的大小

 可以看到这里的空间已经是相当极限了,基本上除了烧录文件系统什么都干不了

为了使得烧录过后的文件系统内存大一些,可以参考

泰山派调整分区大小 - 哔哩哔哩

调整分区并且下载(记得使用 以下命令调整)过后可以看到

resize2fs /dev/mmcblk0p6

内存实现了质的飞跃

烧录过后进入系统

查询版本

显示文件系统版本使用

lsb_release -a

 显示内核版本使用

unema -r

网络测试

检查网络接口是否检测到

root@localhost:/home/zq# ifconfig
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 276  bytes 24350 (24.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 276  bytes 24350 (24.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 2409:8a0c:221f:a80:338e:d9d2:50c0:8a95  prefixlen 64  scopeid 0x0<global>
        inet6 2409:8a0c:221f:a80:d14a:5f82:9b6c:1485  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::e8df:7d96:1f6:14e1  prefixlen 64  scopeid 0x20<link>
        ether b8:13:32:b0:47:90  txqueuelen 1000  (Ethernet)
        RX packets 47  bytes 6071 (6.0 KB)
        RX errors 0  dropped 3  overruns 0  frame 0
        TX packets 65  bytes 8910 (8.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

检测网络过后搜索wifi

root@localhost:/home/zq# nmcli dev wifi list

可以看到类似于

 然后连接WIFI

 sudo nmcli dev wifi connect "WIFI名字" password "密码" ifname wlan0

然后就可以看到wlan0下面有了IP地址,说明已经连接上了

尝试安装一下 neofetch

root@localhost:/home/zq# sudo apt install neofetch

 WUHU成功

配置过程还有一些比较好的参考文章:

泰山派移植Ubuntu22.04 - Zhh Blog基于 RK3588 构建 Ubuntu 22.04 根文件系统_rk3588 ubuntu-CSDN博客立创泰山派学习01--ubuntn系统的WIFI配置及SSH的安装 - zbl1118 - 博客园make modules 和 make modules_install-CSDN博客 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/965083.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二级C语言题解:十进制转其他进制、非素数求和、重复数统计

目录 一、程序填空&#x1f4dd; --- 十进制转其他进制 题目&#x1f4c3; 分析&#x1f9d0; 二、程序修改&#x1f6e0;️ --- 非素数求和 题目&#x1f4c3; 分析&#x1f9d0; 三、程序设计&#x1f4bb; --- 重复数统计 题目&#x1f4c3; 分析&#x1f9d0; 前言…

UE求职Demo开发日志#22 显示人物信息,完善装备的穿脱

1 创建一个人物信息显示的面板&#xff0c;方便测试 简单弄一下&#xff1a; UpdateInfo函数&#xff1a; 就是获取ASC后用属性更新&#xff0c;就不细看了 2 实现思路 在操作目标为装备栏&#xff0c;或者操作起点为装备栏时&#xff0c;交换前先判断能否交换&#xff08;只…

在游戏本(6G显存)上本地部署Deepseek,运行一个14B大语言模型,并使用API访问

在游戏本6G显存上本地部署Deepseek&#xff0c;运行一个14B大语言模型&#xff0c;并使用API访问 环境说明环境准备下载lmstudio运行lmstudio 下载模型从huggingface.co下载模型 配置模型加载模型测试模型API启动API服务代码测试 deepseek在大语言模型上的进步确实不错&#xf…

专业学习|一文了解并实操自适应大邻域搜索(讲解代码)

一、自适应大邻域搜索概念介绍 自适应大邻域搜索&#xff08;Adaptive Large Neighborhood Search&#xff0c;ALNS&#xff09;是一种用于解决组合优化问题的元启发式算法。以下是关于它的详细介绍&#xff1a; -自适应大领域搜索的核心思想是&#xff1a;破坏解、修复解、动…

记录一下 在Mac下用pyinstallter 打包 Django项目

安装: pip install pyinstaller 在urls.py from SheepMasterOneToOne import settings from django.conf.urls.static import staticurlpatterns [path("admin/", admin.site.urls),path(generate_report/export/, ReportAdmin(models.Report, admin.site).generat…

如何在Intellij IDEA中识别一个文件夹下的多个Maven module?

目录 问题描述 理想情况 手动添加Module&#xff0c;配置Intellij IDEA的Project Structure 问题描述 一个文件夹下有多个Maven项目&#xff0c;一个一个开窗口打开可行但是太麻烦。直接open整个文件夹会发现Intellij IDEA默认可能就识别一个或者几个Maven项目&#xff0c;如…

Linux 文件和目录

Linux 文件和目录 文章目录 Linux 文件和目录Linux 目录Linux 目录配置的依据 --FHS目录树文件属性文件的分类一般权限 UGO特殊权限 suid\sgid\sticky隐藏属性 ATTR文件访问控制列表 ACL文件相关的命令权限的修改 chmod chown chgrp umaskchmodchgrpumask相关文档 /etc/profile…

【大数据技术】本机DataGrip远程连接虚拟机MySQL/Hive

本机DataGrip远程连接虚拟机MySQL/Hive datagrip-2024.3.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本机的DataGrip连接虚拟机的MySQL数据库和Hive数据库,提高编程效率。 安装DataGrip 请按照以下步骤安装DataGrip软…

【大模型】DeepSeek大模型技术路径

【大模型】DeepSeek大模型技术路径 一、总体架构(一)Transformer架构:奠定坚实基础(二)Mixture-of-Experts(MoE)架构:提升灵活性与效率二、技术突破(一)训练方法创新(二)架构优化(三)训练效率与成本优化(四)推理能力提升三、总结一、总体架构 DeepSeek大模型以…

【LLM-agent】(task2)用llama-index搭建AI Agent

note LlamaIndex 实现 Agent 需要导入 ReActAgent 和 Function Tool&#xff0c;循环执行&#xff1a;推理、行动、观察、优化推理、重复进行。可以在 arize_phoenix 中看到 agent 的具体提示词&#xff0c;工具被装换成了提示词ReActAgent 使得业务自动向代码转换成为可能&am…

解决Mac安装软件的“已损坏,无法打开。 您应该将它移到废纸篓”问题

mac安装软件时&#xff0c;如果出现这个问题&#xff0c;其实很简单 首先打开终端&#xff0c;输入下面的命令 sudo xattr -r -d com.apple.quarantine 输入完成后&#xff0c;先不要回车&#xff0c;点击访达--应用程序--找到你无法打开的app图标&#xff0c;拖到终端窗口中…

(9) 上:学习与验证 linux 里的 epoll 对象里的 EPOLLIN、 EPOLLHUP 与 EPOLLRDHUP 的不同

&#xff08;1&#xff09;经过之前的学习。俺认为结论是这样的&#xff0c;因为三次握手到四次挥手&#xff0c;到 RST 报文&#xff0c;都是 tcp 连接上收到了报文&#xff0c;这都属于读事件。所以&#xff1a; EPOLLIN : 包含了读事件&#xff0c; FIN 报文的正常四次挥手、…

一文讲解Spring如何解决循环依赖

Spring 通过三级缓存机制来解决循环依赖&#xff1a; 一级缓存&#xff1a;存放完全初始化好的单例 Bean。 二级缓存&#xff1a;存放正在创建但未完全初始化的 Bean 实例。 三级缓存&#xff1a;存放 Bean 工厂对象&#xff0c;用于提前暴露 Bean。 试问:三级缓存解决循环依…

Vue canvas画图画线例子,数据回显与隔离,点拖拽修改

组件 <template><divstyle"display: flex; height: 342px; width: 760px; border: 1px solid #000"><divstyle"position: relative; height: 100%; width: 608px; min-width: 608px"><canvasid"mycanvas"ref"mycanva…

【自动化办公】批量图片PDF自定义指定多个区域识别重命名,批量识别铁路货物运单区域内容改名,基于WPF和飞桨ocr深度学习模型的解决方案

项目背景介绍 铁路货运企业需要对物流单进行长期存档&#xff0c;以便后续查询和审计。不同的物流单可能包含不同的关键信息&#xff0c;通过自定义指定多个区域进行识别重命名&#xff0c;可以使存档的图片文件名具有统一的规范和明确的含义。比如&#xff0c;将包含货物运单…

洛谷网站: P3029 [USACO11NOV] Cow Lineup S 题解

题目传送门&#xff1a; P3029 [USACO11NOV] Cow Lineup S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言&#xff1a; 这道题的核心问题是在一条直线上分布着不同品种的牛&#xff0c;要找出一个连续区间&#xff0c;使得这个区间内包含所有不同品种的牛&#xff0c;…

K8S Deployment 实现 蓝绿 发布

一、何为蓝绿发布 蓝绿发布&#xff08;Blue - Green Deployment&#xff09;是一种软件部署策略&#xff0c;旨在最大程度减少应用程序停机时间&#xff0c;确保新老版本系统平稳过渡。以下为详细介绍&#xff1a; 1.1、基本概念 存在两个完全相同的生产环境&#xff0c;通…

CVPR | CNN融合注意力机制,芜湖起飞!

**标题&#xff1a;**On the Integration of Self-Attention and Convolution **论文链接&#xff1a;**https://arxiv.org/pdf/2111.14556 **代码链接&#xff1a;**https://github.com/LeapLabTHU/ACmix 创新点 1. 揭示卷积和自注意力的内在联系 文章通过重新分解卷积和自…

ollama部署deepseek实操记录

1. 安装 ollama 1.1 下载并安装 官网 https://ollama.com/ Linux安装命令 https://ollama.com/download/linux curl -fsSL https://ollama.com/install.sh | sh安装成功截图 3. 开放外网访问 1、首先停止ollama服务&#xff1a;systemctl stop ollama 2、修改ollama的servic…

鸟哥Linux私房菜笔记(三)

鸟哥Linux私房菜笔记&#xff08;三&#xff09; 该第三部分和第四部分主要为原书的第十一章&#xff08;正则表达式与文件格式化处理&#xff09;&#xff0c;第十二章学习shell脚本&#xff0c;第十六章&#xff08;进程管理与SElinux初探部分&#xff09;&#xff0c;第十七…