当前位置: 首页 > news >正文

【玩泰山派】4、制作ubuntu镜像-(6)使用鲁班猫的sdk去制作镜像

文章目录

  • 前言
  • 获取鲁班猫sdk
  • 使用鲁班猫sdk制作5.10内核+ubuntu22.04镜像
    • 编写dockerfile
    • 制作镜像
    • 起容器
    • 进入容器执行
      • 首先把repo对应的git仓库更新到对应的分支
      • 修改LubanCat_rk3566_ubuntu_xfce_defconfig配置文件
      • 参考文档执行命令
  • TODO

前言

之前一直是使用立创泰山派官网的sdk去制作的镜像,它里面默认没有ubuntu镜像的制作,而且也默认只有4.19的内核版本。所以我使用了鲁班猫的几个仓库去构建ubuntu的rootfs,然后拷贝了lubancat的5.10内核仓库去生成5.10内核,然后还是使用泰山派的sdk去做updateimg的构建(看之前的文章:【玩泰山派】4、制作ubuntu镜像-(5)总结制作ubuntu22.04镜像+5.10内核流程)。

后面看鲁班猫的文档,发现鲁班猫的github项目中也是直接提供了sdk的,而且他们的sdk好像更牛逼,在Rockchip sdk的基础上魔改的更多,不仅支持各种发行版(debian10、11、12,ubuntu20.04、22.04);而且貌似还改了镜像的格式,可以不重新制作镜像的情况下,换设备树和内核,看起来很牛逼。必须玩玩鲁班猫的sdk。

参考:《 嵌入式Linux镜像构建与部署——基于LubanCat-RK系列板卡 》

获取鲁班猫sdk

我使用的是LubanCat_Gen_SDK

我使用的在线现在的sdk,大概命令如下,详细可以参考鲁班猫的文档

cd ~/LubanCat_SDK# 拉取LubanCat_Linux_Generic_SDK
repo init -u https://github.com/LubanCat/manifests.git -b linux -m lubancat_linux_generic.xml#如果运行以上命令失败,提示:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
#则可以在以上命令中添加选项 --repo-url https://mirrors.tuna.tsinghua.edu.cn/git/git-repo.repo/repo/repo sync -c -j4

使用鲁班猫sdk制作5.10内核+ubuntu22.04镜像

同样,我是使用docker作为构建环境

编写dockerfile

根据鲁班猫的文件去写的安装的软件,但是实测发现居然不全,我这里把需要的补全了

#基础镜像
FROM ubuntu:20.04#维护者
MAINTAINER luck# RUN sed -i -r 's#http://(archive|security).ubuntu.com#http://mirrors.tuna.tsinghua.edu.cn#g' /etc/apt/sources.list \RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezoneRUN apt update \&& apt install --no-install-recommends -y sudo git ssh make gcc libssl-dev \liblz4-tool expect expect-dev g++ patchelf chrpath gawk texinfo chrpath \diffstat binfmt-support qemu-user-static live-build bison flex fakeroot \cmake gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev \libgucharmap-2-90-dev bzip2 expat gpgv2 cpp-aarch64-linux-gnu libgmp-dev \libmpc-dev bc python-is-python3 python3-pip python2 u-boot-tools curl \python3-pyelftools dpkg-dev rsync build-essential devscripts debhelper dh-exec

制作镜像

docker build -t lubancat_gen_sdk:20.04 .

起容器

docker run --privileged -d \
--name lubancat_gen_sdk \
--hostname lubancat_gen_sdk \
-v /root/new_workspace/LubanCat_GEN_SDK:/LubanCat_GEN_SDK \
-it lubancat_gen_sdk:20.04 /bin/bash

这样环境就搭好了

进入容器执行

首先把repo对应的git仓库更新到对应的分支

这一点鲁班猫文档有说明
在这里插入图片描述

修改LubanCat_rk3566_ubuntu_xfce_defconfig配置文件

我是准备构建5.10内核+ ubuntu22.04的xfce桌面环境。所以我准备使用LubanCat_rk3566_ubuntu_xfce_defconfig配置,但是鲁班猫的默认的配置文件LubanCat_rk3566_ubuntu_xfce_defconfig不是5.10内核+ ubuntu22.04版本的,需要改一下LubanCat_rk3566_ubuntu_xfce_defconfig配置文件,主要是:
1、注释RK_UBUNTU_FOCAL=y,FOCAL是ubuntu20.04版本,这里=y的话,就是要构建ubuntu22.04,所以注释它,这样就是构建ubuntu22.04
2、RK_KERNEL_PREFERRED=“5.10”,它默认是6.1内核版本。
完整的内容如下

# RK_BUILDROOT is not set
# RK_YOCTO is not set
# RK_UBUNTU_FOCAL=y
RK_ROOTFS_SYSTEM_UBUNTU=y
RK_ROOTFS_TARGET_XFCE=y
RK_ROOTFS_IMAGE="ubuntu-rk356x-${RK_ROOTFS_TARGET}-rootfs.img"
RK_KERNEL_PREFERRED="5.10"
RK_KERNEL_CFG="lubancat_linux_rk356x_defconfig"
RK_KERNEL_DTS_NAME="rk356x-lubancat-generic"
RK_KERNEL_EXTBOOT=y
# RK_RECOVERY is not set
RK_EXTRA_PARTITION_NUM=0
RK_PARAMETER="parameter-extboot.txt"
RK_USE_FIT_IMG=y
RK_PACKAGE_FILE_CUSTOM=y
RK_PACKAGE_FILE="package-file-extboot"

参考文档执行命令

# 在ubuntu目录下执行以下命令
sudo dpkg -i ubuntu-build-service/packages/*
sudo apt-get install -f# 选择SDK配置文件
./build.sh chip
选rk3566_rk3568,选LubanCat_rk3566_ubuntu_xfce_defconfig# 一键编译
./build.sh

这样就直接在output/firmware目录下成了update文件,简直牛逼。
在这里插入图片描述

TODO

1、由于这个我还没适配泰山派博通网卡固件,(安装网卡固件)
2、还没有改内核的配置,比如博通网卡的驱动,以及一些别的配置,到时候拷贝过来,
3、还有泰山派的设备树(拷贝对应的内核的提交)
所以还没烧录生成的update.img验证,待之后验证

http://www.dtcms.com/a/457108.html

相关文章:

  • 长兴县住房和城乡建设局网站我想看黄牌
  • 深入理解 Reactor 反应堆模式:高性能网络编程的核心
  • php做小公司网站用什么框架医药招商网站大全免费
  • 从 0 到 1 掌控云原生部署:Java 项目的 Docker 容器化与 K8s 集群实战指南
  • 哪里可以做足球网站虚拟主机 2个网站
  • 建设银行的英语网站首页dede导入wordpress
  • 支付宝小程序 MAU 增长新路径:生态工具与流量闭环的协同实战
  • C++ 成员初始化列表
  • 三门县住房和城乡建设规划局网站商业网站是怎么做的
  • Spring Security 最简配置完全指南-从入门到精通前后端分离安全配置
  • Go泛型实战指南:从入门到工程最佳实践|Go语言进阶(12)
  • easyexcel实现excel读取
  • 用jsp实现网站开发实例高校网站站群建设公司
  • 个人网站导航html源码团购网站模板
  • wpf之RelativeSource用法总结
  • 【C语言基础详细版】06. 动态内存管理:从原理到实战应用
  • 磁悬浮轴承转子不平衡质量控制深度解析
  • 关于力扣2025.10.8每日的收货
  • 烟台做网站的价格网络工程是冷门专业吗
  • 亲测可用,R语言 ggplot2 箱线图线条控制参数详解,箱线图离散数值控制
  • 沙漠风网站建设公司太原不错的互联网公司
  • 记录thinkphp模型查询时select与count执行顺序的疑问
  • AI编写的一个服务器监控源码
  • C# TCP 客户端开发笔记(TcpClient)
  • 网站建设数据库怎么弄个人养老金交15年领多少
  • Linux的Socket编程之TCP
  • ST-Raptor:无需微调,准确率超越 GPT-4o 的半结构化表格问答新范式
  • 深入洞察:华为BLM战略模型和BEM执行模型(图解)
  • wordpress跳转手机站wordpress 短代码 对齐
  • TNNLS-2022《Fast Incomplete Multi-view Clustering with View-independent Anchors》