linux鲁班猫代码初尝试[编译镜像][修改根文件系统重编译][修改设备树改屏幕为MIPI]

编译镜像

官方百度云盘资料:https://doc.embedfire.com/linux/rk356x/quick_start/zh/latest/quick_start/baidu_cloud/baidu_cloud.html
在这里插入图片描述
解压虚拟机压缩包:"鲁班猫\8-SDK源码压缩包\开发环境虚拟机镜像\ubuntu20.04.7z"后既可以用VMware打开,打开后可以看到已经有了现成的SDK,如下:
在这里插入图片描述

按照:https://doc.embedfire.com/linux/rk356x/build_and_deploy/zh/latest/building_image/debian_rootfs/debian_rootfs.html#id13
文章的说法输入如下命令一键生成镜像:

# 一键编译
./build.sh

运行成功后在"rockdev"目录生成"update.img"即为镜像文件,该文件可以通过如下文章的说明下载到芯片中运行:https://chengdong.blog.csdn.net/article/details/132035193

Running build_firmware succeeded.
Make update.img
start to make update.img...
Android Firmware Package Tool v2.0
------ PACKAGE ------
Add file: ./package-file
package-file,Add file: ./package-file done,offset=0x800,size=0xa0,userspace=0x1
Add file: ./Image/MiniLoaderAll.bin
bootloader,Add file: ./Image/MiniLoaderAll.bin done,offset=0x1000,size=0x729c0,userspace=0xe6
Add file: ./Image/parameter.txt
parameter,Add file: ./Image/parameter.txt done,offset=0x74000,size=0x168,userspace=0x1
Add file: ./Image/uboot.img
uboot,Add file: ./Image/uboot.img done,offset=0x74800,size=0x400000,userspace=0x800
Add file: ./Image/boot.img
boot,Add file: ./Image/boot.img done,offset=0x474800,size=0x8000000,userspace=0x10000
Add file: ./Image/rootfs.img
rootfs,Add file: ./Image/rootfs.img done,offset=0x8474800,size=0xacb00000,userspace=0x159600
Add CRC...
Make firmware OK!
------ OK ------
********rkImageMaker ver 2.0********
Generating new image, please wait...
Writing head info...
Writing boot file...
Writing firmware...
Generating MD5 data...
MD5 data generated successfully!
New image generated successfully!
Making ./Image/update.img OK.
Running build_updateimg succeeded.
Running build_allsave succeeded.
lubancat@lubancat-vm:~/LubanCat_SDK$ 

在这里插入图片描述
把这个文件拷贝到window中通过工具下载既可以下载运行:
在这里插入图片描述
在这里插入图片描述

修改根文件系统重编译

这里想去掉上图钟的图案,根据研究可知这个图案是在根文件系统里面,根据如下文章的提示修改overlay/etc/update-motd.d/00-header文件的内容:
https://doc.embedfire.com/linux/rk356x/build_and_deploy/zh/latest/building_image/debian_rootfs/debian_rootfs.html#id8
在这里插入图片描述
修改后文件的内容如下并保存:
在这里插入图片描述
按照如下提示到Debian目录下输入如下命令重新编译:

#构建完整的根文件系统镜像
./mk-buster-rootfs.sh

在这里插入图片描述
时间很久过去才能够编译成功:
在这里插入图片描述
编译成功返回到上一层(SDK)按照上面的步骤输入"./build.sh"命令一键编译生成镜像:

root@lubancat-vm:/usr/lib/aarch64-linux-gnu/dri# rm -rf /home/lubancat
root@lubancat-vm:/usr/lib/aarch64-linux-gnu/dri# rm -rf /var/lib/apt/lists/*
root@lubancat-vm:/usr/lib/aarch64-linux-gnu/dri# rm -rf /var/cache/
root@lubancat-vm:/usr/lib/aarch64-linux-gnu/dri# rm -rf /packages
root@lubancat-vm:/usr/lib/aarch64-linux-gnu/dri# 
root@lubancat-vm:/usr/lib/aarch64-linux-gnu/dri# exit
Making rootfs!
Executing post-build.sh...
Adding build-info to /etc/os-release...
Fixing up /etc/fstab...
Fixing up rootfs type: auto
Adding dirs and links...
记录了0+0 的读入
记录了0+0 的写出
0字节已复制,0.0309057 s,0.0 kB/s
mke2fs 1.45.5 (07-Jan-2020)
丢弃设备块: 完成                            
创建含有 707328 个块(每块 4k)和 177056 个 inode 的文件系统
文件系统 UUID:a1e9a681-744c-4613-97b7-70cc87a5b12e
超级块的备份存储于下列块: 32768, 98304, 163840, 229376, 294912正在分配组表: 完成                            
正在写入 inode表: 完成                            
创建日志(16384 个块): 完成
将文件复制到设备: 完成
写入超级块和文件系统账户统计信息: 已完成Rootfs Image: linaro-xfce-rootfs.img
lubancat@lubancat-vm:~/LubanCat_SDK/debian$ 
lubancat@lubancat-vm:~/LubanCat_SDK/debian$ 

在这里插入图片描述
接下来又是漫长的等待后拷贝镜像到window后下载运行登录可以看到界面如下:

Running build_firmware succeeded.
Make update.img
start to make update.img...
Android Firmware Package Tool v2.0
------ PACKAGE ------
Add file: ./package-file
package-file,Add file: ./package-file done,offset=0x800,size=0xa0,userspace=0x1
Add file: ./Image/MiniLoaderAll.bin
bootloader,Add file: ./Image/MiniLoaderAll.bin done,offset=0x1000,size=0x729c0,userspace=0xe6
Add file: ./Image/parameter.txt
parameter,Add file: ./Image/parameter.txt done,offset=0x74000,size=0x168,userspace=0x1
Add file: ./Image/uboot.img
uboot,Add file: ./Image/uboot.img done,offset=0x74800,size=0x400000,userspace=0x800
Add file: ./Image/boot.img
boot,Add file: ./Image/boot.img done,offset=0x474800,size=0x8000000,userspace=0x10000
Add file: ./Image/rootfs.img
rootfs,Add file: ./Image/rootfs.img done,offset=0x8474800,size=0xacb00000,userspace=0x159600
Add CRC...
Make firmware OK!
------ OK ------
********rkImageMaker ver 2.0********
Generating new image, please wait...
Writing head info...
Writing boot file...
Writing firmware...
Generating MD5 data...
MD5 data generated successfully!
New image generated successfully!
Making ./Image/update.img OK.
Running build_updateimg succeeded.
Running build_allsave succeeded.
lubancat@lubancat-vm:~/LubanCat_SDK$ 

在这里插入图片描述
可以看到确实按照自己的想法运行了,说明整套修改和编译是正常的!

修改设备树改屏幕为MIPI

默认的代码使用的是HDMI的屏幕,但是我最终使用的是MIPI的屏幕,这里第一步就要修改屏幕,按照鲁班猫官方的提示修改如下主设备树文件,然后从新编译镜像(./build.sh命令,会同时会编译内核)烧录后屏幕确实变成了MIPI的屏幕了:
在这里插入图片描述

修改设备树使默认屏幕变成MIPI


其实也可以修改设备树插件让屏幕变成MIPI,修改方式是放开如下文件的MIPI的代码:
文件是:Kernel/arch/arm64/boot/dts/rockchip/uEnv/uEnvLubanCat1.txt
在这里插入图片描述
修改后从新编译下载后效果和上面的一样也切换成了MIPI

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

idea 快捷键代码行标记并快捷跳到标记行(搬砖必备)

idea有一个组合快捷键 非常好用 快捷键1 标记代码行(左边的行数会出现一个1,代表着已经标记了): ctrlshift1 快捷键2 迅速跳到标记行(直接抵达砖厂,哈哈): ctrl1 这边给大家送上…

圈子才是成功的捷径

前言 最近我在读徐涛写的《历史的面孔》这本书,感受颇深,启发挺大的。 真心建议大家可以读一读历史人物相关的书籍,每个历史人物在其所在的背景下,每一个的抉择几乎都能给人以思考。 (文末有彩蛋) 尤其…

工作中,我们应该走捷径吗?

很多人喜欢走捷径,遇到困难,为了走捷径,找了很多方法,做了很多努力,到最后才发现,这个硬碰硬的过程是避免不了的,除了正面击溃困难,别无选择。 工作中有没有捷径可以走呢&#xff1f…

【几个python虚拟环境会遇到的问题】

几个python虚拟环境会遇到的问题 twine is not recognized as an internal or external command,operable program or batch file.setup命令不报错但不起作用pipreqs is not recognized as an internal or external command,operable program or batch file. ‘twine’ is not …

包管理工具详解npm 、 yarn 、 cnpm 、 npx 、 pnpm(2023)

1、包管理工具npm (1)包管理工具npm: Node Package Manager,也就是Node包管理器;但是目前已经不仅仅是Node包管理器了,在前端项目中我们也在使用它来管理依赖的包;比如vue、vue-router、vuex、…

OOAD 2 UML

什么是UML(Unified Modeling Language) 统一建模语言(UML) 是描述、构造和文档化系统制品的可视化语言。 The Unified Modeling Language is a visual language for specifying,constructing and documenting the artifacts of sy…

北邮:OOAD笔记

1.用例图:描述角色以及角色与用例之间的连接关系 2.类图:描述系统中的类,以及对象,接口,协作等事物之间的关系 3.交互图:描述对象间如何协作,包括序列图和协作图 4.状态图 描述类的对象所有可能…

OOAD实验

类图综述该类图总共分为大致几个模块:用户、票务管理、个人信息管理、用户管理。其中用户分为乘客、票务管理员和系统管理员三类。票务管理员除了负责平时更新车票信息之外,还可以查看车票的销售情况;而系统管理员主要是对乘客和票务管理员的…

OOAD练习题

一 选择题: 1. UpClean公司准备开发一套战略游戏系统。该系统中有很多战略角色(character),比如King、Queen、Troll、Knight等,每个战略角色可以发出各种攻击行为(weapon behavior),…

OOAD概述

OOA Object-Oriented Analysis (OOA):面向对象的分析与设计 OOA的侧重点是业务领域分析,与软件所要应用的行业领域相关,而与软件技术关系不大,需要由领域专家进行。这一部分的工作被称为“需求分析”。 OOA的成果: 业…

OOAD与UML

1.OOAD(Object Oriented Analysis and Design)面向对象分析和设计 --OOA 分析阶段,主要解决以下问题: --建立对业务问题域的清晰视图 --列出必须要完成的核心业务 --针对问题域建立公共词汇表 --列出针对此问题域的最佳解决方案 -…

OOAD之设计原则

一、设计原则意义 为了设计出一个好的软件系统。我们必须遵照一定的规则。 衡量软件设计质量的首要标准是该设计是否能满足软件的功能需求。除了功能需求以外,还有很多衡量软件设计质量的标准,包括可读性、可复用性、可扩展性、可维护性等。 1、一般一个…

ooad设计模式_OOAD-面向对象的分析与设计

ooad设计模式 让我们分为以下几节来讨论OOAD: (Lets discuss OOAD by dividing into the below sections:) OOS 操作系统 OOA OOA OOD 面向对象 Thumbnails principles of the object oriented design 面向对象设计的缩略图原则 OO Design Quality Metrics OO设计质…

OOAD复习笔记

OOAD学习目标: 1.A critical,fundamental ability in OOAD is to skillfully assign responsibilities to software components.(面向对象分析设计种至关重要的的能力是熟练地为软件部件分配职能) 2)GRASP patterns &#xff0c…

几款免费的数据恢复软件测试

目录 一、前言 二、测试正文 1、Windows File Recovery (不推荐) 2、Recuva 3、Undelete360 (最轻量级) 4、Glary Undelete 三、总结 一、前言 刚进回收站,清空后的,都能找到,还原后能正常…

一款非常好用且专业的免费万兴数据恢复软件

Wondershare Recoverit Mac版是一款非常好用且专业的免费万兴数据恢复软件,可以恢复所有文件类型,包括照片、视频、文档和其他文件。从所有数据丢失场景中检索数据,并从所有存储设备中恢复数据,并崩溃Windows系统或可启动问题!可靠…

【C++基础(十)】C++泛型编程--模板初阶

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 模板 1. 前言2. 函数模板3. 函数模板原理4. 函数…

PETool free分享

百度盘下载pe解析工具、PETool.1.0.0.5.exe(免费) 链接: https://pan.baidu.com/s/1A44RaB3GotWfmWmQCv3qqw 提取码: 33fh MD5: 5691CCA8BD8C5BDEE5F839098CE82A2A SHA1: 1DAD3D205405EB8E99BD39DAE891463C15F995CD 下载后请校验文件防篡改。 文件安全性…

CPABE

属性加密的基础是秘密共享。 什么是秘密共享? 秘密共享指的是dealer有一个秘密,他想要在w个人中分享这个秘密,但是他希望任何单个人都无法计算出(获得)这个秘密,也就是说他想任意t个人在一起才能够把这个…

Peers

Peers 区块链网络主要由一组peers节点组成。 peers是网络的基本要素,因为他们主持分类账和智能合约。 回想一下,分类账不可变地记录智能合约产生的所有交易。 智能合约和分类帐分别用于封装网络中的共享进程和共享信息。 peers的这些方面使他们成为理解H…