King3399 SDK(ubuntu文件系统)编译简明教程

该文章仅供参考,编写人不对任务实验设备、人员及测量结果负责!!!

0 引言

文章主要介绍King3399(瑞芯微rk3399开发板,荣品)官方SDK(Ubuntu文件系统)编译过程,涉及环境配置、网络连接(有线局域网)、远程文件复制(SSH)等

1 编译环境

编译SDK(Ubuntu系统)时,windows主机、ubuntu主机配置可参考上一篇文章《King3399 SDK编译简明教程-1 编译环境》,官方文档有明确说明,无论最后要使用什么系统,都请先全局编译一次 buildroot,之后再进行其他系统的编译,以避免出现需要某个依赖的工具找不到的情况,本文是在上一篇文章(成功编译buildroot)的基础上选择Ubuntu文件系统进行编译

首先下载官方提供的 ubuntu 文件系统(约1G),文件系统路径如下:

cdrom_king3399_new/01-SDK/Linux/source/ubuntu-20240531.tgz

cdrom_king3399_new/01-SDK/Linux/source/ubuntu-20240531.md5

将上述两个文件下载到共享文件夹下并在ubuntu主机中对下载文件进行md5校验

# 切换当前路径为共享文件夹
cd /mnt/hgfs/sharefile# 对ubuntu文件系统进行校验,返回:xxx
md5sum ubuntu-20240531.tgz # 打开.md5文件,内容:ooo
vim ubuntu-20240531.md5# 若指令md5sum的返回值xxx与.md5中的值ooo相同则说明文件无误# 查看/home/username/ws/sdk/下有无ubuntu文件夹,若无则创建ubuntu文件夹
mkdir ubuntu# 将.tgz解压到home/username/ws/sdk/ubuntu下
tar xzvf ubuntu-20240531.tgz -C /home/username/ws/sdk/ubuntu/# 解压完成后将在/home/username/ws/sdk/ubuntu/下生成ubuntu.img文件
ls  # return ubuntu.img# 配置编译输出文件,在/home/username/ws/sdk目录下执行命令如下:
./build.sh init# 第一个选择 2  (2. rk3399),根据实际板子型号选择# 第二个选择 4  (4. king-rk3399-ubuntu_defconfig),根据需要编译的文件系统选择# 全局编译ubuntu,在/home/username/ws/sdk目录下执行命令如下:
./build.sh # 耗时 25 min,编译成功后占用磁盘空间 5G# 编译过程中产生的日志可在下述目录查看
# /home/username/ws/sdk/output/sessions/2024-aa-bb_cc...# ubuntu文件系统编译完成后会在/home/username/ws/sdk/rockdev下生成所需镜像
ls -hl
# boot.img -> ../../kernel/boot.img
# linux-headers.tar
# MiniLoaderAll.bin -> ../../u-boot/rk3399_loader_v1.30.130.bin
# misc.img -> ../misc.img
# oem.img
# parameter.txt -> ../../device/rockchip/.chips/rk3399/parameter.txt
# recovery.img -> ../recovery/ramboot.img
# rootfs.img -> ../../ubuntu/ubuntu.img
# trust.img -> ../../u-boot/trust.img
# uboot.img -> ../../u-boot/uboot.img
# update.img -> ../update/Image/update.img
# update-rk3399-king-rk3399-ubuntu-mipi-7-1024-600-20240922-165231.img -> ../update/Image/update.img
# userdata.img# 将这些镜像复制到共享目录下,
# 不能直接使用 cp -r rockdev /mnt/hgfs/sharefile
# 只能一个一个复制到共享目录下# 烧录并重启板子,ubuntu文件系统开机界面如下

图00 ubuntu开机界面图

2 网络连接

编译后的系统无法使用wifi连网,可能是在编译前没有配置,本人没有过多研究,感兴趣的可以去资料中看看具体的说明,本文给出两种网络连接方式,建议使用有线网络连接,文章中提到无线网络连接部分是条件所限,不保证参考该部分能够顺利连接网络!

关于连接网络这部分内容网上有很多文章,修改的文件与使用的指令也不尽相同,有的照着修改后并没有得到理想的效果这很正常,毕竟大家的设备状态并不完全相同,所以记住一点:修改前做备份,修改后做笔记,多看,多改,多总结

2.1 有线网络连接

通常在开发时最简易的办法就是将主机与从机通过网线连接到同一个路由器(交换机),这样组成的局域网便于使用ssh或nfs进行文件传输与管理,由于这种方式使用的最为广泛,网上可参考的文章也较多,因此这里只大概提一下,连接示意图如下

图01 有线连接
利用网线将windows主机与king3399从机连接到同一个路由器后,分别在ubuntu主机、king3399从机中打开终端并输入ip a或者ifconfig查看ip,通常返回内容包含三个部分:ens33/eth0(有线网络接口,以太网)、lo(本地环回接口)以及wlan(无线网络接口),这里使用的是网线,因此只关心ens33/eth0的部分即可,ens33/eth0返回部分中的 inet 192.168.1.147 netmask 255.255.255.0 broadcast 192.168.1.255就是设备的ip信息,不太严谨地说(由于涉及网络部分,不做拓展,感兴趣可自行查看相关资料),若此处inet字段的前三部分相同则可认为设备处于同一局域网内,此时可通过ping指令检验设备间网络是否正常,此处建议先通过ping www.baidu.com查看设备能否正常上网,若设备可以正常上网,且可以相互ping通,则设备可更新/安装软件与设备间文件传输,由于本人没有路由器和有线网络,因此这部分只大致提一下

2.2 无线网络连接

这里的无线并不是指直接利用板子的wifi模块连接无线网络,而是通过网线间接连到wifi,具体的连接如下图所示
图02 有线连接
windows主机共享网络(测试时以笔记本为windows主机),进入windows主机的“更改适配器”
图03 网络适配器
选择“WLAN”,右键选择“属性”,选项卡选择“共享”,勾选上“允许其他网络用户通过此计算的Internet连接来连接”,再在“家庭网络连接”中选择“以太网”,注:该操作在主机重启或者关机后需要关闭再打开!!!
图04 共享网络
此时WLAN中显示为Shared状态,继续在“更改适配器”选项中查看“以太网”,在“以太网”上右键选择“属性”,接着查看它的IPV4网络属性,双击“Internet协议版本4(TCP、IPV4)”,查看网络信息(使用下面的ip地址) ip地址:192.168.137.1 ,子网掩码:255.255.255.0,使用下面的dns服务器地址,这几条信息下边会用到
图05 以太网适配器

2.3 配置King3399网络

打开king3399的网络配置界面,具体配置如下图所示,此处的Address(对应文章中2.2节中的三条信息)只需填写一个比192.168.137.1靠后的ip就行(前三字段相同,最后一个字段介于1~255)
图06 king网络适配
分别在ubuntu主机与king3399从机编辑 /etc/systemd/resolved.conf 这个文件,把 DNS 那一行解开注释修改前建议先将文件备份,若出现意外还可退回!

cd /etc/systemd/
sudo vim resolved.conf# 释放DNS配置,作如下修改并保存
DNS=8.8.8.8 1.1.1.1

重启板子并打开命令行,不出意外的话ping www.baidu.com能够收到数据包,此时板子成功连接网络

虚拟机中的ubuntu主机在配置网络时使用的是桥接模式,因此ubuntu主机与windows主机应在同一局域网内,相互可以ping通(windows下,win+r 并输入 cmd 打开命令行窗口,输入ipconfig /all 查看网络信息),下图为将ubuntu主机配置为桥接模式
图07 桥接模式
图08 桥接模式

修改完成后可以重启ubuntu主机与king3399从机,通过·ip a 查看ip,并尝试能否相互ping通

3 远程复制文件SSH

在ubuntu上用于远程管理文件的方式有很多,实现过程大同小异,这里以SSH为例

# king3399连网后先对软件库进行更新
sudo apt update
sudo apt upgrade# 安装openssh-server
# ubuntu主机、king3399从机都需要安装
sudo apt install -y openssh-server# 启用ssh
# ubuntu主机、king3399从机都需要启用
# 注:系统重启后若无法ssh,可尝试再次启用
sudo /etc/init.d/ssh start
sudo service sshd restart# king3399从机向ubuntu主机传递文件
scp test_from_king.txt username@aaa.bbb.ccc.ddd:/home/username/ws
# 此处username为目的主机名,也即ubuntu主机名
# 此处aaa.bbb.ccc.ddd为目的主机ip,也即ubuntu主机ip
# 允许传递
# The authenticity of host...can't be established.
# ECDSA key fingerprint is SHA256:...
# Are you sure you want to continue connecting (yes/no)? yes
# 输入ubuntu主机开机密码# ubuntu主机向king3399从机传递文件
scp test_from_ubuntu.txt username@aaa.bbb.ccc.eee:/home/username/ws
# 此处username为目的主机名,也即king3399名
# 此处aaa.bbb.ccc.eee为目的主机ip,也即king3399的ip
# 允许传递
# The authenticity of host...can't be established.
# ECDSA key fingerprint is SHA256:...
# Are you sure you want to continue connecting (yes/no)? yes
# 输入king3399开机密码

这里需要注意的地方有两点:

  1. ubuntu主机与king3399需要在同一局域网中才能使用scp
  2. windows主机每次重启后都需要重新打开共享网络,具体过程就是文章中第5张图,取消勾选“alow other network users to…”,保存并关闭该窗口,然后再次打开该窗口并勾选“alow other network users to…”,选择“以太网”,保存并关闭该窗口。
4 其他

这里分享一个有用的功能,ubuntu中截图并显示图片,尤其在做技术笔记时,毕竟直接使用手机对着屏幕拍照这种方式不管是从画质还是图片大小来说都差强人意

对于ubuntu主机(ubuntu18.04)来说,其系统桌面默认为GNOME,可以使用键盘上的“PrtSc”进行全屏截图,图片默认保存在用户的“Picture”文件夹内,当然也可以使用gnome-screenshot -a进行指定区域截图,图片默认保存地与上述相同

显示图片可以直接使用display /path/to/image.png,这些工具都是系统默认自带的,不需安装,简单实用,满足一般需求

对于king3399从机(ubuntu20.04)来说,其系统桌面默认为Xfce,可以使用键盘上的“PrtSc”进行全屏截图或者是区域截图,不过本人测试发现按下从机键盘上的“PrtSc”这个键后返回“failed to execute child process ‘‘xfce4-screenshooter’’ ( No such file or directory)”,需要重新安装该截图库sudo apt -y install xfce4-screenshooter,安装成功后可以使用从机键盘上的PrtScSysRq键进行截图并指定图片保存路径

显示图片可以直接使用xdg-open /path/to/image.png,不过感觉这个指令不好用,建议安装ristretto查看图片,sudo apt install ristretto,查看图片时使用ristretto /path/to/image.png

脚注[1]中提供的镜像`仅供King3399这个型号的板子使用,不可随意烧录!!!

[1] SDK(ubuntu文件系统)编译后的镜像(分立+完整)BaiduPan( pwd : dl84)

[2] 用Windows通过网线共享网络给其他电脑(Windows、Ubuntu)

[3] Ubuntu 18.04 解决Temporary failure in name resolution DNS解析问题

[4] ubuntu下安装openssh-server失败问题及解决方法

[5] How To Install xfce4-screenshooter on Ubuntu 20.04

[6] win10 vmware没有vmnet0(桥接后无法上网)解决办法

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【本地免费】SimpleTex 图像识别latex公式

文章目录 相关教程相关文献安装教程 由于mathpix开始收费了,于是本文将介绍一款目前本地免费的SimpleTex工具 相关教程 【超详细安装教程】LaTeX-OCR 图像识别latex公式(开源免费)_latex图片识别-CSDN博客 相关文献 SimpleTex主页——致力…

Elasticsearch使用Easy-Es + RestHighLevelClient实现深度分页跳页

注意!!!博主只在测试环境试了一下,没有发到生产环境跑。因为代码还没写完客户说不用弄了( •̩̩̩̩_•̩̩̩̩ ) 也好,少个功能少点BUG 使用from size的时候发现存在max_result_window10000的限制&…

薄膜凸起和开裂是同一种应力导致的吗?

知识星球里的学员问:我们产线上薄膜出了质量问题,都一概归结为应力过大。麻烦讲讲应力的种类,以及不同种类的应力会造成哪些薄膜问题? 内应力的种类? 内应力的分类很多,如果我们按作用的效果来分&#xff…

树莓派 AI 摄像头(Raspberry Pi AI Camera)教程

系列文章目录 前言 人们使用 Raspberry Pi 产品构建人工智能项目的时间几乎与我们生产 Raspberry Pi 的时间一样长。随着我们发布功能越来越强大的设备,我们能够支持的原生应用范围也在不断扩大;但无论哪一代产品,总会有一些工作负载需要外部…

嵌入式外设应用(代码)

文章目录 1. 工业自动化2. 智能家居设备3. 汽车电子4. 生命体征监测仪5. 物联网应用 嵌入式外设应用广泛,有很多应用领域: 1. 工业自动化 应用场景:使用传感器监测设备状态,控制电机的启动和停止。 示例代码: #inc…

Stream流的终结方法(二)——collect

1.Stream流的终结方法 2. collect方法 collect方法用于收集流中的数据放到集合中去,可以将流中的数据放到List,Set,Map集合中 2.1 将流中的数据收集到List集合中 package com.njau.d10_my_stream;import java.util.*; import java.util.f…

SSL VPN | Easyconnect下载安装使用 (详尽)

EasyConnect是一款远程连接工具,为用户提供简便、快捷的远程访问和控制解决方案。 目录 下载 安装 使用 卸载 下载 通过链接进入官网技术支持板块 深信服技术支持-简单、高效、自助化服务 (sangfor.com.cn)https://support.sangfor.com.cn/ 选择软件下载 在安…

ElasticSearch学习笔记(三)Ubuntu 2204 server elasticsearch集群配置

如果你只是学习elasticsearch的增、删、改、查等相关操作,那么在windows上安装一个ES就可以了。但是你如果想在你的生产环境中使用Elasticsearch提供的强大的功能,那么还是建议你使用Linux操作系统。 本文以在Ubuntu 2204 server中安装elasticsearch 8.…

Redis:hash类型

Redis:hash类型 hash命令设置与读取HSETHGETHMGET 哈希操作HEXISTSHDELHKEYSHVALSHGETALLHLENHSETNXHINCRBYHINCRBYFLOAT 内部编码ziplisthashtable 目前主流的编程语言中,几乎都提供了哈希表相关的容器,Redis自然也会支持对应的内容&#xf…

【Godot4.3】用2D网格模拟一点透视

概述 空间的透视是可以在二维平面上参数化计算和模拟的。本篇基于CanvasItem绘制函数draw_colored_polygon()自带的UV坐标和贴图功能,实现基础的平行透视效果。 或者可以叫做一点透视,由一个消失点决定物体的透视效果。 测试代码 extends Node2Dvar re…

【课程学习】Wireless Communications

Goldsmith A. Wireless communications[M]. Cambridge university press, 2005. Wireless Communications 无线通信课程 文章目录 2-Path Loss, Shadowing, and Multipath2.4-Two-Ray Multipath Model时延扩展 delay spread P33 3-Statistical Multipath Channel Models3.3-Wid…

HarmonyOS应用六之应用程序进阶一

目录: 1、UIAbility的冷启动和UIAbility热启动2、静态资源和动态资源的访问3、页面跳转3.1、页面返回跳转 4、HAR的ArkUI组件、接口、资源,供其他应用或当前应用的其他模块引用4.1、导出HAR的ArkUI组件4.2、引用HAR的ArkUI组件 5、循环渲染6、状态管理最…

【MySQL】多表联合查询常见练习题

数据库表如下: teacher:老师表 course:课程表 student:学生表 class:班级表 sc:成绩表 一、根据上面5张表写sql语句 1. 查询” 01 “课程比” 02 “课程成绩高的学生的信息及课程分数 select student.…

在Ubuntu 20.04中安装CARLA

0. 引言 CARLA (Car Learning to Act) 是一款开源自动驾驶模拟器,其支持自动驾驶系统全管线的开发、训练和验证(Development, Training, and Validation of autonomous driving systems)。Carla提供了丰富的数字资产,例如城市布局…

国外电商系统开发-运维系统功能清单开发

一、最终效果图 二、功能清单 功能 描述 自定义日志绘图 根据Nginx、Apache登录日志文件绘图,绘图数据包括:访问量走势,500错误,200正确百分比等 创建服务器 加入服务器 主机状态自动检查 加入主机到系统后,系统…

MyBatis——ORM

MyBatis——ORM 验证映射配置ResultType本质是ResultMap具体的转换逻辑 概括的说,MyBatis中,对于映射关系的声明是由开发者在xml文件手动完成的。比如对查询方法而言,你需要显式声明ResultType或ResultMap,这里其实就是在定义数据…

(16)MATLAB仿真Nakagami-m分布1

文章目录 前言一、Nakagami分布二、MATLAB建模代码三、仿真结果画图四、总结 前言 Nakagami衰落模型最初是由于该模型与短波电离层传播的经验结果相匹配而提出的。它还用于仿真来自多个干扰源的情况,因为多个独立且同分布(i.i.d)的瑞利分布随…

基于四种网络结构的WISDM数据集仿真及对比:Resnet、LSTM、Shufflenet及CNN

在上节中,我们已经详细介绍了WISDM数据集及如何使用CNN网络训练,得到了六个维度的模型仿真指标及五个维度的可视化分析,那么现在我们将训练模型推广到其他网路结构中去,通过仿真实验来对比一下不同网络之间对于WISDM数据集的训练效…

大语言模型入门(三)——提示词编写注意事项

一、提示词编写原则 提示词的编写应当遵循两个原则, 一个是指令必须清晰且具体,另一个是应当给模型充足的时间去思考。首先,你的指令足够清晰和具体,才能让大模型明确你需要它执行的任务,从而降低我们得到无关或者不正…

kubernetes-强制删除命名空间

一、故障现象 1、删除命名空间卡住、强制删除也卡住 2、其他终端显示命名空间下无资源 二、处理步骤 1、kubectl get namespace cilium-test -o json > temp.json 获取你需要删除的命名空间json描述文件。 2、修改finalize字段 3、替换 kubectl replace --raw "/api/v1…