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

长沙招聘网站制作外链系统

长沙招聘网站制作,外链系统,房山区网站建设,做网站哪家好哪家好一、前言 在前面的教程中,教了大家如何使用Busybox与buildroot构建自己的根文件系统并且在STM32MP157开发板上正常运行。那么除了这两种根文件系统以外,我们能不能使用别的根文件系统呢?我们在虚拟机中使用的Ubuntu系统能不能作为STM32MP157的…

一、前言

        在前面的教程中,教了大家如何使用Busybox与buildroot构建自己的根文件系统并且在STM32MP157开发板上正常运行。那么除了这两种根文件系统以外,我们能不能使用别的根文件系统呢?我们在虚拟机中使用的Ubuntu系统能不能作为STM32MP157的跟文件系统呢?当然,答案是肯定的,我们可以将Ubuntu系统移植到STM32MP157上,只是移植的不是完整的系统,是一个基础的根文件系统,那么本次教程就来教大家如何往STM32MP157上移植一个Ubuntu系统,如果你准备好了,就让我们开始吧!

二、谁适合本次教程

        本次教程同样涉及到根文件系统的移植,是一些比较上层的操作,在这之前,仍然需要大家移植好Linux内核,毕竟我们的根文件系统的启动是建立在LInux内核之上的。除此之外,还需要大家有根文件系统移植的经验,如果你还不会移植和启动根文件系统可以看下面的教程:

Busybox根文件系统移植:[Linux]从零开始的STM32MP157 Busybox根文件系统构建_stm32mp构建根文件系统-CSDN博客

Buildroot根文件系统构建:[Linux]从零开始的STM32MP157 Buildroot根文件系统构建-CSDN博客

当我们能够构建根文件系统并且正常运行起来以后,就可以进行下一步了。

三、Ubuntu-Base根文件系统移植

        我们现在移植的Ubuntu系统是一个Ubuntu的基础版即Ubuntu-Base,这个系统不像完整的Ubuntu系统那样有分区表与完整的软件包,Ubuntu-Base只有最基本的根文件系统与最基本的软件包,这也让Ubuntu-Base非常精简,大小与我们之前构建个Busybox、Buildroot差不多。并且,Ubuntu官方已经帮我们将Ubuntu系统构建好了,我们并不需要将重点放在构建上,我们只需要下载对应版本的压缩包然后解压即可使用Ubuntu-Base系统。

        移植的首要步骤就是先将Ubuntu官方构建好的Ubuntu-Base系统下载下来,这里我们需要通过自己Linux内核的版本来判断我们应该下载哪个版本的Ubuntu-Base系统。我们可以在Linux内核启动时看到Linux内核的版本:

可以看到我这里Linux内核的版本是5.4.31,我们需要找到一个能够支持这个内核版本的Ubuntu-Base系统。具体每个Ubuntu系统对应的Linux内核版本如下表所示:

Ubuntu版本       内核版本
ubuntu12.04      3.2.0-23-generic
ubuntu12.04.1    3.2.0-29-generic
ubuntu12.04.2    3.5.0-23-generic
ubuntu12.04.3    3.8.0-29-generic
ubuntu12.04.4    3.11.0-15-generic
ubuntu12.04.5    3.13.0-32-generic
ubuntu14.04      3.13.0-24-generic
ubuntu14.04.1    3.13.0-32-generic
ubuntu14.04.2    3.16.0-30-generic
ubuntu14.04.3    3.19.0-25-generic
ubuntu14.04.4    4.2.0-27-generic
ubuntu14.04.5    4.2.0-31-generic
ubuntu14.04.6    4.4.0-142-generic
ubuntu16.04      4.4.0-21-generic
ubuntu16.04.1    4.4.0-31-generic
ubuntu16.04.2    4.8.0-36-generic
ubuntu16.04.3    4.10.0-28-generic
ubuntu16.04.4    4.13.0-36-generic
ubuntu16.04.5    4.15.0-29-generic
ubuntu16.04.6    4.15.0-45-generic
ubuntu16.04.7    4.15.0-112-generic
ubuntu18.04      4.15.0-20-generic
ubuntu18.04.1    4.15.0-29-generic
ubuntu18.04.2    4.18.0-15-generic
ubuntu18.04.3    5.0.0-23-generic
ubuntu18.04.4    5.3.0-28-generic
ubuntu18.04.5    5.4.0-42-generic
ubuntu20.04      5.4.0-26-generic
ubuntu20.04.1    5.4.0-42-generic
ubuntu20.04.2    5.8.0-41-generic
ubuntu20.04.3    5.11.0-27-generic
ubuntu20.04.4    5.13.0-30-generic
ubuntu20.04.5    5.15.0-46-generic
ubuntu22.04      5.15.0-25-generic
ubuntu22.04.1    5.15.0-43-generic
ubuntu22.04.2    5.19.0-32-generic
ubuntu22.04.3    6.2.0-26-generic 
ubuntu22.04.4    6.5.0-18-generic
ubuntu24.04      6.8.0-31-generic

这里可以看到,对于我们的5.4.31内核Ubuntu20.04是可以完美支持的。Ubuntu18.04使用的是5.3内核,虽然版本低了一些,但是经过测试也可以完美启动。上面正式版系统对应的Linux内核的版本号对于Ubuntu-Base版同样适用,这样,我们需要下载的Ubuntu版本就很明确了,我们需要下载Ubuntu-Base20.04版本。

这里下载的话,我们使用阿里云的镜像站,打开下面链接即可来到Ubuntu-Base的下载专区:

阿里云Ubuntu-Base下载:ubuntu-cdimage-ubuntu-base安装包下载_开源镜像站-阿里云

进入以后,就可以看到下面的界面了:

然后我们点击“releases”:

当我们进入“releases”后,就可以看到许多的Ubuntu-Base的发布版本:

我们往下滑找到20.04:

这里的版本都是Ubuntu20.04,我们随便进入一个即可,不过为了避免问题,直接选“20.04”是肯定没错的,进入以后,可以看到以下文件夹:

我们再次进入“releases”:

进入以后,就可以看到许多已经被构建好的,并且支持许多不同架构的Ubuntu-Base20.04系统:

因为我们的STM32MP157是arm32位架构的,所以我们这里需要选择armhf版本:

点击了以后,过一会儿浏览器就会出现下载了:

我们需要将我们下载到的这个压缩包拷贝到Ubuntu虚拟机中,这里不管大家使用什么方法,只要能将这个压缩包拷贝过去即可。

完成以后如图所示,我将其放到了NFS目录下:

这里我们需要新建一个文件夹来存放我们的Ubuntu-Base系统,直接使用下面的命令即可:

mkdir ubuntu

然后将我们的Ubuntu-Base移动到我们新建的文件夹中,使用下方的命令:

mv ubuntu-base-20.04.1-base-armhf.tar.gz ubuntu

完成以后如图所示:

随后,我们使用下方的命令解压这个压缩包:

tar -xvf ubuntu-base-20.04.1-base-armhf.tar.gz

解压完成以后,我们可以看到,我们的ubuntu文件夹中多了许多文件:

这些文件想必大家已经很熟悉了,这不就是和我们之前构建的Busybox、Buildroot差不多的嘛。Ubuntu-Base就可以理解为一个被构建好的Ubuntu根文件系统。

解压完成以后,我们将原本的压缩包删掉,这样我们就得到了一个纯净Ubuntu根文件系统:

这样,我们根文件系统就准备好了,但是为了确保我们根文件系统能够正常启动,我们还需要修改一下Uboot中的“bootargs”环境变量。进入Uboot后,我们直接使用下面的命令配置“bootargs”环境变量:

setenv bootargs 'console=ttySTM0,115200 root=/dev/nfs nfsroot=192.168.1.100:/home/chulingxiao/linux/nfs/ubuntu,proto=tcp rw ip=192.168.1.106:192.168.1.100:192.168.1.1:255.255.255.0::eth0:off'

这里同样是使用nfs挂载根文件系统,大家将命令中根文件系统的路径替换为自己Ubuntu根文件系统即可。命令中每个变量的意思在根文件系统挂载中已经讲得很清楚了,可以看Busybox与Buildroot的构建教程,里面都讲了如何挂载根文件系统并且命令中每个变量的意思。

完成上面的步骤以后,我们使用下面的命令来保存环境变量:

saveenv

环境变量保存完成以后,我们直接使用“boot”命令启动Linux内核:

等内核启动完成以后,我们就可以看到,我们的Ubuntu-Base系统已经成功启动起来了。

在这个根文件系统中,我们仍然可以使用“ls”,“cd”等基础命令。

四、结语

        本篇教程中的Ubuntu系统移植部分,正点原子并没有提及,也就没有对应的教程,但是整体看来,本篇文章中的所有操作可以说是非常入门的,我也相信大家能够完整的将Ubuntu-Base系统移植到STM32MP157上,最后,感谢大家的观看!

 

http://www.dtcms.com/wzjs/285327.html

相关文章:

  • 官网的建站过程网站seo啥意思
  • 中山网站建设找阿 n 2seo1新地址在哪里
  • 建筑工具网站最佳的资源磁力搜索引擎
  • php源码网站修改哈尔滨关键词排名工具
  • 被百度收录的网站有哪些关键词seo培训
  • 珠海网站建设尚古道策略集团网站推广
  • 网站 数据库 模板seoul是哪个国家
  • 中国建设银行北京市分行网站关键词优化策略
  • 网站开发 项目接单广州外包网络推广公司
  • 做同城网站最赚钱大兴今日头条新闻
  • 网站线框图怎样做云服务器
  • php网站做cdn日本比分算1:1
  • 邢台谷歌seo北京网站seo技术厂家
  • 用手机怎么申请免费自助网站长沙网
  • 泉州网站建设lben注册推广
  • 专门做网站的公司交什么seo监控
  • wordpress侧边栏浮动广州抖音seo公司
  • 海南哪家公司做网站做的好新闻发稿推广
  • 网站建设需要的文案网络营销推广方式都有哪些
  • 做网站制作赚钱吗英文seo
  • wordpress添加点赞seo优化的优点
  • 个人做网站用什么技术百度关键词排名联系
  • 香河县住房和城乡建设部网站武汉网站关键词推广
  • 怎么登陆建设工程网站seo技术教程博客
  • 搭建网站的流程互联网推广工作好做吗
  • 免费推广手段有哪些潍坊百度快速排名优化
  • 绵阳网站建设策划内容足球世界排名国家
  • 福建网站建建设方案网站安全检测在线
  • 网站搜索引擎优化工具seo模板建站
  • 网站怎么换域名怎么发帖子做推广