RK3566-移植5.10内核&Ubuntu22.04

打印 上一主题 下一主题

主题 1718|帖子 1718|积分 5158

说明

        记录了本人利用泰山派(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)
  1. root@ubuntu:/home/zq/Desktop# mkdir ubuntu
  2. root@ubuntu:/home/zq/Desktop# mv ubuntu-base-22.04-base-arm64.tar.gz  ubuntu
  3. root@ubuntu:/home/zq/Desktop# cd ubuntu/
  4. root@ubuntu:/home/zq/Desktop/ubuntu# tar -xzvf ubuntu-base-22.04-base-arm64.tar.gz
复制代码
cd 到kernel目录,复制WIFI固件到ubuntu
  1. root@ubuntu:/home/zq/Desktop/ubuntu# cp -p ../external/rkwifibt/firmware/broadcom/all/wifi/ lib/firmware/
复制代码
查看固件 
  1. root@ubuntu:/home/zq/Desktop/Release/kernel# ls lib/firmware/
  2. clm_bcm43752a2_ag.blob       fw_bcm43455c0_ag.bin           nvram_ap6212a_ap.txt  nvram_AP6493.txt
  3. clm_bcm43752a2_pcie_ag.blob  fw_bcm43455c0_ag_mfg.bin       nvram_ap6212a_cy.txt  nvram_awnb108.txt
  4. fw_awnb108_ap.bin            fw_bcm43456c5_ag.bin           nvram_ap6212a.txt     nvram_azw256.txt
  5. fw_awnb108.bin               fw_bcm43456c5_ag_mfg.bin       nvram_ap6212.txt      nvram_azw372.txt
  6. fw_bcm40181a2.bin            fw_bcm4354a1_ag.bin            nvram_ap6233f.txt     nvram_B23.txt
  7. fw_bcm40181a2_mfg.bin        fw_bcm4354a1_ag_mfg.bin        nvram_AP6234.txt      nvram_cyw43438.txt
  8. fw_bcm40183b2_ag.bin         fw_bcm4356a2_ag.bin            nvram_ap6236.txt      nvram_cyw43455.txt
  9. fw_bcm40183b2.bin            fw_bcm4356a2_ag_mfg.bin        nvram_ap6255.txt      nvram_RK901.txt
  10. fw_bcm43013c1_ag.bin         fw_bcm4359c0_ag.bin            nvram_ap6256.txt      nvram_RK903_26M.cal
  11. fw_bcm43013c1_ag_mfg.bin     fw_bcm4359c0_ag_mfg.bin        nvram_AP6275P.txt     nvram_RK903.cal
  12. fw_bcm43241b4_ag.bin         fw_bcm43752a2_ag.bin           nvram_ap6275s.txt     nvram_RK903.txt
  13. fw_bcm4330.bin               fw_bcm43752a2_ag_mfg.bin       nvram_ap62x2.txt      rk912_fw.bin
  14. fw_bcm43341b0_ag.bin         fw_bcm43752a2_pcie_ag.bin      nvram_AP6330.txt      rk912_patch.bin
  15. fw_bcm4334b1_ag.bin          fw_bcm43752a2_pcie_ag_mfg.bin  nvram_AP6335.txt      rk912_patch_cal.bin
  16. fw_bcm4339a0_ag.bin          fw_cyw43438.bin                nvram_ap6354.txt      wifi_efuse_8189e.map
  17. fw_bcm4339a0_ag_mfg.bin      fw_cyw43455.bin                nvram_ap6356s.txt     wifi_efuse_8723bs-vq0.map
  18. fw_bcm43436b0.bin            nvram_4330_oob.txt             nvram_ap6356.txt      wifi_efuse_8723cs.map
  19. fw_bcm43436b0_mfg.bin        nvram_4330.txt                 nvram_ap6398s.txt     wifi_efuse_8723ds.map
  20. fw_bcm43438a0.bin            nvram_ap6181.txt               nvram_AP6441.txt
  21. fw_bcm43438a1.bin            nvram_AP6210_24M.txt           nvram_ap6452.txt
  22. 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.5501
https://blog.csdn.net/qq_65198598/article/details/145145101?spm=1001.2014.3001.5501
Ubuntu各版本代号  版本号代号23.10mantic23.04lunar22.10kinetic22.04jammy21.10impish21.04hirsute20.10groovy20.04focal19.10eoan19.04disco18.10cosmic18.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/130909986
https://blog.csdn.net/qq_34117760/article/details/130909986
配置好网络过后,安装须要软件:我安装的有:
  1. #必要
  2. 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
  3. #开发
  4. apt install gcc g++ make cmake ninja-build build-essential ffmpeg libopencv-dev libv4l-dev v4l-utils yavta -y
  5. #网络
  6. apt install bluetooth* bluez* blueman* wireless-tools network-manager -y
复制代码

内核

配置内核

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

 利用rockchip的默认config开始配置,这里只演示配置wifi
  1. root@ubuntu:/home/zq/Desktop/Release/kernel# make menuconfig rockchip_linux_defconfig
复制代码
进入menuconfig,搜索“ap6”,如图选择/输入路径

注意须要选择的是SDIO接口并且 编辑精确的固件路径(ap6212a的固件),若固件路径不精确会导致wlan0开启失败从而不显示接口。
别的一个点是虽然在DTS里面写的模块是AP6212并且原理图上也是AP6212,但是现实上的固件加载的是AP6212A才可以正常运行,加载AP6212的固件无法运行!
编译内核&模块

开始编译内核
  1. root@ubuntu:/home/zq/Desktop/Release# ./build.sh  kernel
复制代码
等待七七四十九天之后编译好了内核
然后开始编译模块
  1. make modules
复制代码
等待七七四十九天之后把编译好的模块安装到即将烧录到的文件体系rootfs中 
  1. make ARCH=arm64 modules_install INSTALL_MOD_PATH=../ubuntu
复制代码
安装modules过后可以看到目录下有对应内核的模块目录

烧录&测试

调解内存分区(选做)

烧录本次文件体系&内核后利用立创原提供的内存分区文件(parameter.txt)烧录后的巨细

 可以看到这里的空间已经是相当极限了,基本上除了烧录文件体系什么都干不了
为了使得烧录过后的文件体系内存大一些,可以参考
泰山派调解分区巨细 - 哔哩哔哩
调解分区并且下载(记得利用 以下命令调解)过后可以看到
  1. resize2fs /dev/mmcblk0p6
复制代码

内存实现了质的飞跃
烧录过后进入体系

查询版本

显示文件体系版本利用
  1. lsb_release -a
复制代码
 显示内核版本利用
  1. unema -r
复制代码
网络测试

查抄网络接口是否检测到
  1. root@localhost:/home/zq# ifconfig
  2. lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
  3.         inet 127.0.0.1  netmask 255.0.0.0
  4.         inet6 ::1  prefixlen 128  scopeid 0x10<host>
  5.         loop  txqueuelen 1000  (Local Loopback)
  6.         RX packets 276  bytes 24350 (24.3 KB)
  7.         RX errors 0  dropped 0  overruns 0  frame 0
  8.         TX packets 276  bytes 24350 (24.3 KB)
  9.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  10. wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  11.         inet6 2409:8a0c:221f:a80:338e:d9d2:50c0:8a95  prefixlen 64  scopeid 0x0<global>
  12.         inet6 2409:8a0c:221f:a80:d14a:5f82:9b6c:1485  prefixlen 64  scopeid 0x0<global>
  13.         inet6 fe80::e8df:7d96:1f6:14e1  prefixlen 64  scopeid 0x20<link>
  14.         ether b8:13:32:b0:47:90  txqueuelen 1000  (Ethernet)
  15.         RX packets 47  bytes 6071 (6.0 KB)
  16.         RX errors 0  dropped 3  overruns 0  frame 0
  17.         TX packets 65  bytes 8910 (8.9 KB)
  18.         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
复制代码
检测网络过后搜索wifi
  1. root@localhost:/home/zq# nmcli dev wifi list
复制代码
可以看到雷同于

 然后毗连WIFI
  1. sudo nmcli dev wifi connect "WIFI名字" password "密码" ifname wlan0
复制代码
然后就可以看到wlan0下面有了IP地点,说明已经毗连上了

尝试安装一下 neofetch
  1. 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博客 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表