【北京迅为】《iTOP-3588从零搭建ubuntu环境手册》-第3章 Ubuntu20.04系统设置

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP,内置NPU,支持INT4/INT8/INT16/FP16混合运算能力,支持安卓12和、Debian11、Build root、Ubuntu20和22版本登系统。了解更多信息可点击迅为官网   

【粉丝群】824412014

【实验平台】:迅为RK3588开发板

【内容来源】《iTOP-3588从零搭建ubuntu环境手册》

【全套资料及网盘获取方式】联系淘宝客服加入售后技术支持群内下载

【视频介绍】:【强者之芯】 新一代AIOT高端应用芯片 iTOP -3588人工智能工业AI主板


第3章 Ubuntu20.04系统设置

编译android或者Linux对编译环境环境Ubuntu20.04有一些配置要求,根据下图所示的流程图来进行配置。

首先需要扩大内存,如果能分配给ubuntu20.04的物理内存大于16G,则参考本小节“修改物理内存”小节进行修改。如果物理内存不够16G,需要增加交换内存,请参考“增加交换内存”小节进行修改。

然后要扩大硬盘,扩大硬盘有俩种方法,任选其中一种方法即可。扩大完硬盘,安装编译源码需要的依赖包,然后便可以愉快的编译了。

3.1 修改物理内存

打开虚拟机,如下图。单击红色框中的“虚拟机”。如下图所示:

然后点击“设置”弹出虚拟机的设置界面,如下图所示:

 

点击“内存”选项卡,然后设定物理内存。配置内存,需要根据用户实际情况进行配置。下面这台机器中,显示最多可以设置 32G,这里分配 16G 的内存,内存必须为 4 的倍数(编译 Android 12尽量多分配内存)。如果大家的物理内存不够,可以参考下个小节分配交换内存

3.2 启用root用户

接下来需要设置root用户,在一些情况下,需要用到root权限,打开ubuntu 的终端输入以下命令

sudo passwd

然后输入 ubuntu 的密码,接着输入两次unix 密码,如下图所示。

 

Unix密码就是root用户的登录密码,输入以下命令来检查有没有启用 root 用户

su root

然后输入刚刚设置的Unix密码,可以看到用户名变成 root ,如下图所示,说明已经启用 root 成功了。

 

如果启动成功,则显示当前的用户为root,而不是topeet。

3.3 增加交换内存

接下来增加交换内存。配置交换内存,需要用户根据自己的实际情况进行配置。这里举例分配5G交换内存。

在开始之前,使用命令检查一下您的ubuntu的swap分区,可以看到交换分区为2G,如下图所示:

sudo swapon --show

 

然后通过以下命令创建一个用于 swap 的文件,此时可能会显示“fallocate:fallocate failed:Text file busy”如下图所示:

sudo fallocate -l 5G /swapfile

 

然后通过以下命令创建一个用于 swap 的文件,此时可能会显示“fallocate:fallocate failed:Text file busy”如下图所示:

sudo fallocate -l 5G /swapfile

 

执行以下命令关闭系统交换分区,如下图所示:

sudo swapoff -a

然后再次执行以下命令创建一个用于 swap 的文件:

sudo fallocate -l 5G /swapfile

执行以下命令为 swapfile 文件设置正确的权限:

sudo chmod 600 /swapfile

使用 mkswap 实用程序在文件上设置 Linux SWAP 区域:

sudo mkswap /swapfile

使用以下命令激活 swap 文件:

sudo swapon /swapfile

要让创建好的 swap 分区永久生效,可以将 swapfile 路径内容写入到 /etc/fstab 文件当中:

sudo vim /etc/fstab

在/etc/fstab 文件最后添加如下内容:

/swapfile swap swap defaults 0 0

 

保存退出,使用 swapon 或 free 命令验证 SWAP 是否处于活动状态,如下所示:

sudo swapon --show

sudo free -h

 

3.4 设置下载源

为了提高软件的下载速度,首先要设置一下下载源。点击ubuntu桌面左下角的九宫格进入应用菜单界面,如下图所示:

 

然后点击第二行Software&Update应用,进入该应用之后如下图所示: 

点击“Download from”软件软选择框选择Other..,如下图所示: 

然后选择国家为China,软件镜像源选择为阿里云,选中之后点击右下角的Choose Server如下图所示: 

接下来输入虚拟机密码,至此。软件源就更换成功了,随后点击Close关闭该页面,会有弹出以下界面,提醒软件源信息已经更新,这里选择Reload如下图所示:

之后需要等待一些插件的更新,如下图所示:

更新完成之后,会回到ubuntu桌面,至此就成功的将ubuntu的源进行了更换。

3.5 扩展磁盘空间(直接扩展)

提示如果在第二章创建虚拟机的过程中,已经给了足够大的空间可以不进行本章节的操作。

1.首先需要在 VM 上进行磁盘扩容,先将虚拟机关机,然后点击虚拟机-->设置,如下图所示:

2 选中默认的硬盘50GB,扩展磁盘容量,点击“扩展”按钮,如下图所示:

3 接下来出现设置界面,如下图所示,此处以扩展到300G为例。 

如果只是编译Android12源码,分配虚拟机磁盘大小为500G即可,大家可以根据自己的实际情况分配。

如果只是编译Linux源码,分配虚拟机磁盘大小为300G即可,大家可以根据自己的实际情况分配。

4 此时在 VM 提示磁盘扩展完成 ,接下来就需要进入 Ubuntu 重新划分磁盘

 

5 Windows 磁盘进行分区等操作时,一般会借助于一些软件进行磁盘分区的合并、拆分等,同样,在Ubuntu下也可以借助于该类型的软件,帮助更好的实现磁盘重新分区以及扩展文件系统。打开虚拟机,在终端中输入以下命令安装gparted

sudo apt-get install gparted

6 输入以下命令运行 gparted , 运行结果如下图 

sudo gparted

此时发现右边灰色区域有未分配的区域

7点击/dev/sda1一栏,然后点击菜单栏上的,重新给/dev/sda1划分大小。这里调整为285G ,即291839M ,剩余 15G 作为 swap 区。主分区就增加到 258G,如下图所示:

 

8选中未分配的区域,点击右键,选中新建,如下图所示:

 

9 然后增加扩展分区,大小默认即可,如下图所示: 

10 接着再增加交换分区,选中未分配区域,点击鼠标右键,然后点击“New”,如下图所示。 

11 点击新建以后出现下图界面大小默认即可,类型选择逻辑分区 ,文件系统选择 linux-swap,修改完点击 add,如下图所示: 

12 然后点击“”,保存修改,如下图所示: 

13 扩展磁盘完成,在终端输入df命令查看分区情况,如下图所示: 

3.6 扩展硬盘空间(挂载硬盘)

提示如果在第二章创建虚拟机的过程中,已经给了足够大的空间可以不进行本章节的操作。

在上一小节中,对/dev/sda的硬盘进行了扩展。但是存在一个问题,硬盘扩展后变大,如果编译完源码,不需要这么大的空间了,是不能缩小的。所以推荐大家添加一个新硬盘来存放android源码或者Linux源码,这样的话,如果不需要使用这个硬盘了,可以直接移除。

1.首先在虚拟机里面关闭 Ubuntu 系统,然后点击虚拟机-->设置,如下图所示:

2.然后弹出“虚拟机设置”对话框,然后点击“添加”按钮,如下图所示:

3.弹出如下界面,选择硬盘,然后点击“下一步”如下图所示:

4.弹出如下界面,默认选择,点击“下一步”,如下图所示:

5.弹出如下界面,按照下图的设置,然后单击“下一步”按钮,如下图所示: 

6.弹出如下界面,按照下图的设置,其中红色方框内是设置需要扩展的硬盘的大小,这里选择 700G(可以根据需要来修改这个值),然后单击“下一步”按钮,如下图所示:

7.弹出如下界面,下图中红色框内的文件是用于保存扩展硬盘的信息,文件的名字和保存的路径可以自定义,确定好文件名字和保存路径后,点击"完成"按钮,如下图所示: 

8.然后回到“虚拟机设置”对话框,在这个对话框会看到添加的硬盘的信息,如下图所示: 

9.点击“确定”按钮,接下来要进入 Ubuntu,把新的硬盘 mount 进去,启动 Ubuntu 系统,以 root 用户登录,如下图所示: 

10.在上图中的超级终端里输入:“fdisk -l”,将会看到添加的新的硬盘/dev/sdb 的信息,如下图所示: 

11. 在上图的超级终端里输入“mkfs -t ext4 /dev/sdb”,把新添加的硬盘格式化成 ext3 格式,如下图所示: 

12.在/home/topeet目录下建立 Android文件夹,如下图所示: 

13.输入“mount /dev/sdb Android/”,挂载硬盘到 Android 目录,如下图所示:

14  除了使用上述命令挂载硬盘之外,还可以通过Ubuntu自带的图形化Disks工具来进行硬盘的挂载具体方法如下:

  1. 首先按windows键输入Disks即可找到这个App,打开Disks工具,选择新的硬盘,点击齿轮按钮,选择edit mount options如下图所示:
  1. 显示如下界面,关闭Defaults,自己给定挂载点为/home/topeet/Android

 

  1. OK之后点击三角形的挂载按钮(一定别忘了)如下图所示:

  15 使用 “df -l” 命令查看一下挂载情况,如下图所示:

16  通过上图可以看到新扩展的硬盘已经挂载到了/home/topeet/Android 目录下面了,下面修改 Ubuntu 系统的配置文件,实现开机自动挂载,使用命令 “vi /etc/fstab” 打开 fstab 文件,参照里面的格式,添加挂载新硬盘的命令,如下图所示:

/dev/sdb /home/topeet/Android ext4 defaults 0 0

 

17 保存上图修改的文件,开机启动自动挂载设置完成。至此 Ubuntu 扩展硬盘的方法已经完成。 

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

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

相关文章

零售数据分析:哪些商品贡献高?就这样分析

销售额高,不代表毛利率高,所以即便销售额排名前5也不能说它的贡献排名就是前5的。要知道贡献高不高,还得综合各项指标来分析。在下面这张BI零售数据分析报表中,我们根据商品大、中、小类以及商品、门店的维度来综合分析销售贡献&a…

近400所高校,拟新增博士点!

本周投稿推荐 SSCI • 2区社科类,3.0-4.0(社科均可) EI • 计算机工程类(接收广,录用极快) SCI&EI • 4区生物医学类,1.5-2.0(录用率99%) • 1区工程类&#…

JAVA使用Apache POI动态导出Word文档

文章目录 一、文章背景二、实现步骤2.1 需要的依赖2.2 创建模板2.3 书写java类2.3.1 模板目录2.3.2 Controller类2.3.2 工具类 2.4 测试2.4.1 浏览器请求接口2.4.2 下载word 三、注意事项四、其他导出word实现方式 一、文章背景 基于Freemarker模版动态生成并导出word文档存在弊…

Qt5 互动地图,实现无人机地面站效果

一、概述 本文主要通过Qt5opmapcontrol实现一个简单的无人机地面站效果。opmapcontrol是一个比较古老的QT开源地面站库,可选择谷歌地图,必应地图, 雅虎地图,GIS等。可直接使用源码,也可以编译生成库进行调用。实现效果…

蒸汽工厂的新翼:数字孪生锅炉引领未来

在飞速发展的工业4.0时代,数字孪生技术已经深入到我们生产生活的方方面面。而对于那些承载着重工业血脉的蒸汽工厂来说,一项新的技术正在悄然改变它们的未来。 走进蒸汽工厂,感受传统与现代的交融 蒸汽工厂,这个充满力量与热情的…

让AI触手可及丨2024高通美格智能边缘智能技术进化日隆重举行

5月9日,高通技术公司携手美格智能联合举办了主题为“让智能计算无处不在,2024高通&美格智能边缘智能技术进化日”在深圳隆重举行。大会现场,智能物联网行业合作伙伴齐聚一堂,多位行业资深专家围绕AI与通讯、智能计算、边缘大模…

重学java 35.API 6.包装类

心有所念,必有所灵 —— 24.5.10 一、基本数据类型对应的引用数据类型(包装类) 1概述 就是基本类型所对应的类(包装类),我们需要将基本类型转为包装类,从而让基本类型拥有类的特性(是基本类型可以使用包装类…

Electron学习笔记(三)

文章目录 相关笔记笔记说明 五、界面1、获取 webContents 实例(1)通过窗口对象的 webContent 属性获取 webContent 实例:(2)获取当前激活窗口的 webContents 实例:(3)在渲染进程中获…

局域网手机端远程控制手机

局域网手机端远程控制手机 随着科技的进步和智能设备的普及,远程控制技术在日常生活与工作中的应用越来越广泛。其中,局域网内的手机端远程控制手机技术,因其便捷性和实用性,受到了众多用户的关注。本文将简要介绍该技术及其应用…

linux开发笔记(buildroot 增加自己的开发板支持文件)

1、该笔记参考了mangopi r3的buildroot。某宝上卖的LC-PI-200S提供的buildroot就是这个。已经上传到我的资源中,可以下载看看。 2、首先在buildroot目录输入make menuconfig打开buildroot配置。 进入build options查看 可以看到第二行就是buildroot配置的保存位置…

机器学习算法 - 逻辑回归

逻辑回归是一种广泛应用于统计学和机器学习领域的回归分析方法,主要用于处理二分类问题。它的目的是找到一个最佳拟合模型来预测一个事件的发生概率。以下是逻辑回归的一些核心要点: 基本概念 输出:逻辑回归模型的输出是一个介于0和1之间的…

一文扫盲(12):公寓/酒店管理系统的功能模块和界面设计

大千UI工场本次带来第12期:酒店管理系统,从系统定义、功能模块、界面构成和设计方向四个方面讲解,大千UI工场愿意持续和大家分享,欢迎关注、点赞、转发。 公寓管理系统是一种用于管理和运营公寓的软件系统。它通过集成各种功能模…

远程服务器监控工具Navicat Monitor全新发布v3.0 - 支持PostgreSQL用户

Navicat Monitor 是一套安全、简单而且无代理的远程服务器监控工具。它具有强大的功能使你的监控发挥最大效用。受监控的服务器包括 MySQL、MariaDB 和 Percona Server,并与 Amazon RDS、Amazon Aurora、Oracle Cloud、Microsoft Azure 和阿里云等云数据库兼容。Nav…

地址传递,使用uint8的数组解析int, short等类型

当需要使用UINT8去解析所传入的数组类型的时候,我们需要使用到传递地址,再通过数组的形式,通过较小的类型去以数组的类型来解析大的类型。 char 类型是1个字节, 占8位, 使用十六进制表示,如:0x…

回溯法、全排列、子集等

回溯法 感想:回溯算法本质是一个循环,有点像while循环 一些回溯法(递归)的经典应用 1.全排列 2.子集 其实上面两个点,也是对应着高中数学里面的“排列”与“组合” 1.全排列问题 给定一个集合S{a,b,c}&#xff0…

【Linux】什么是进程?

一个正在执行的程序,我们称之为进程。 然后我们来顺着一条线来思考。 操作系统底层是用C语言编写的,而我们的进程,它会有各种属性,那么各种属性就可以用一个结构体来对进程的各个属性进行描述,然后这个结构体里面&…

一个优秀 Maven 项目,各 Model 间最佳继承设计方案

1.单一职责原则 (Single Responsibility Principle): 每个模块应该专注于执行一个清晰且明确定义的功能,遵循单一职责原则,以降低模块的复杂性。 2.高内聚性 (High Cohesion): 模块内的组件和类应该紧密相关,共同实现模块的目标。高内聚性…

[图解]实现领域驱动设计译文暴露的问题01

0 00:00:00,430 --> 00:00:03,470 今天呢,我们来说一个主题 1 00:00:03,810 --> 00:00:04,041 2 00:00:04,041 --> 00:00:05,430 我们来谈一谈 3 00:00:05,960 --> 00:00:07,710 实现领域驱动设计 4 00:00:09,120 --> 00:00:11,070 这本书的中译本…

【C++历练之路】unordered_map与unordered_set的封装实现

W...Y的主页 😊 代码仓库分享💕 前言:我们已经认识并实现了哈希底层的逻辑,创建出了其开散列。现在我们要进行封装,类比STL中的unordered_set 与 unordered_map。 目录 1. 模拟实现 1.1 哈希表的改造 1.2 unorde…

一图看懂 | 蓝卓煤炭行业解决方案

煤炭是我国能源保障的“压舱石,也是国民经济中重要的支柱产业之一无论是发电、建材、造纸、冶金、化工等工业领域都离不开煤炭近年来,在“双碳”及能源安全双重背景下推动智能化技术与煤炭产业的融合发展提升煤矿安全生产能力的重要性与日俱增智慧矿山的建设已逐渐成…