0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

手把手教你在Ubuntu定制文件系统

飞凌嵌入式 2022-12-16 15:51 次阅读

为了给客户的测试和开发提供便利,飞凌嵌入式的开发板产品一般都支持多种操作系统,以基于全志T507H处理器设计研发的OKT507-C开发板为例,它支持三种操作系统,分别是:LinuxAndroid 和 Forlinx Desktop(Ubuntu),这里提到的Forlinx Desktop系统是飞凌嵌入式在Ubuntu base的基础上构建的桌面操作系统,完全兼容Ubuntu18.04,相对传统的Linux系统而言易用性更高。

ForlinxDesktop(Ubuntu)系统基于Ubuntu官方为嵌入式设备制作的操作系统-Lubuntu,该操作系统具备apt-get、ldd等常用的命令,若需要安装软件则直接apt-get在线安装即可,不需进行交叉编译移植等繁琐操作。但是每次重新烧写镜像之后,之前安装的软件就得重新安装,比较繁琐,如果需要批量操作则每块开发板都需要去apt-get安装,这样会大幅增加工作量,很不便于批量化生产。

能不能把软件一起打包到镜像呢?这样每次烧写完就不用再去apt-get在线安装了。答案当然是肯定的,这就涉及到文件系统的定制了,那么接下来,小编就为大家介绍在Forlinx Desktop(Ubuntu)系统上定制文件系统的操作过程。

1. 解压文件系统

首先,找到OKT507-desktop-release源码的文件系统所在的目录,然后将文件系统压缩包解压,路径如下:

OKT507-desktop-release/ubuntu

b38fd11e-7ce3-11ed-b116-dac502259ad0.png

解压后,可看到文件系统目录OKT507-linux-ubuntu,进入到此目录后可看到如下文件夹:

b3a764c8-7ce3-11ed-b116-dac502259ad0.png

2. 安装QEMU

这里简单介绍下QEMU,它是一个小巧的模拟器,可以模拟很多硬件ARM、x86、AMD64/Intel64等。QEMU用途广泛,比如Xen、Android模拟器等都是基于QEMU的。下面我们开始在虚拟机进行安装QEMU,如下:

① 更新下载源:

sudo apt-get update

②执行命令安装:

sudo apt-get install qemu-aarch64-static

sudo apt-get install qemu-user-static

3. 修改配置

① 将QEMU的qemu-arm-static拷贝到文件系统目录OKT507-linux-ubuntu,如下:

sudo cp /usr/bin/qemu-arm-static usr/bin/

b3c7f4ae-7ce3-11ed-b116-dac502259ad0.png

② 拷贝PC主机端的DNS配置,因为待会我们安装程序时要用网络

sudo cp -b /etc/resolv.conf etc/resolv.conf

b3e9c2c8-7ce3-11ed-b116-dac502259ad0.png

③ 修改下载源:

sudo vim etc/apt/sources.list

添加

deb http://ports.ubuntu.com/ubuntu-ports/ xenial main universe

deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main universe

b412f148-7ce3-11ed-b116-dac502259ad0.png

4. 挂载文件系统

因为我们这里是通过脚本的方式挂载和卸载文件系统,所以需要编写一个脚本挂载和卸载文件系统。

① 新建一个脚本文件命名为ch-mount.sh,附代码如下:

#!/bin/bash

② 设置这个shell脚本可执行权限,如下:

sudochmod 777 ch-mount.sh

③ 挂载文件系统:

执行ch-mount.sh脚本指定参数-m,挂载成功如下:

sudo./ch-mount.sh -m ./

b4362bcc-7ce3-11ed-b116-dac502259ad0.png

5. 安装软件

前面我们挂载了文件系统,已将文件系统挂载到了QEMU模拟器,接下来就可以安装我们所需要的软件了。

① 更新下载源:

apt update

注意:更新下载源可能会报错,这里需要注意一下,因为tmp文件夹权限不够,chmod为其赋予权限。

如下:

chmod 777 /tmp

② 安装软件:

至此,便可以安装所需软件了,在这里用apt-get安装自己所需软件,根据所需安装。我们这里来安装一个minicom串口测试工具。如下:

b458919e-7ce3-11ed-b116-dac502259ad0.png

③ 安装完成后,exit退出QEMU。

④ 执行ch-mount.sh脚本卸载文件系统,指定参数-u,卸载成功后打印如下:

b49f1aba-7ce3-11ed-b116-dac502259ad0.png

注意:我们exit退出后,只是退出了QEMU模拟器,并没有卸载文件系统,一定要执行脚本卸载文件系统。

6. 打包文件系统

① 完成前面的步骤后,用tar命令将当前文件夹下所有文件压缩,命名为OKT507-linux-ubuntu.tar.gz。如下:

sudo tar -cvzf OKT507-linux-ubuntu.tar.gz ./*

② 压缩完成后,为文件系统压缩包OKT507-linux-ubuntu.tar.gz赋予权限,如下:

sudo chmod a+w OKT507-linux-ubuntu.tar.gz

b4c6a846-7ce3-11ed-b116-dac502259ad0.png

③ 将刚打包好的压缩包替换到上一级目录下的旧的文件系统压缩包。

b4f2d344-7ce3-11ed-b116-dac502259ad0.png

④ 重新编译打包后生成新的镜像烧录开发板。

b51038bc-7ce3-11ed-b116-dac502259ad0.png


7. 测试方法

烧录到板子后,在终端启动minicom,验证下是否安装上。如下:

b52e62e2-7ce3-11ed-b116-dac502259ad0.png

从上图红框可以看出,通过终端命令启动了minicom,说明我们在QEMU中安装成功了,至此Ubuntu文件系统定制就做完了。

通过这种方法可以个性化的定制属于自己文件系统,安装自己所需软件,也可以根据自己需求将出厂不需要的软件用相同的方式卸载掉,这样既能减少工作量,又利于批量化生产。

以上就是小编为大家带来的在Forlinx Desktop(Ubuntu)系统上定制文件系统的操作过程。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文件系统
    +关注

    关注

    0

    文章

    284

    浏览量

    19883
  • Ubuntu
    +关注

    关注

    5

    文章

    560

    浏览量

    29566
收藏 人收藏

    评论

    相关推荐

    Ubuntu系统迁移指南:轻松驾驭国产3568嵌入式实验箱

    本文基于创龙教仪TL3568-PlusTEB嵌入式教学实验箱实现ubuntu系统移植。瑞芯微平台提供的SDK支持buildroot、Debian、yocto,但Ubuntu需要自行定制
    的头像 发表于 10-29 08:06 288次阅读
    <b class='flag-5'>Ubuntu</b><b class='flag-5'>系统</b>迁移指南:轻松驾驭国产3568嵌入式实验箱

    Linux根文件系统的挂载过程

    Linux根文件系统(rootfs)是Linux系统中所有其他文件系统和目录的起点,它是内核启动时挂载的第一个文件系统
    的头像 发表于 10-05 16:50 272次阅读

    ubuntu删除的文件怎么恢复

    Ubuntu文件系统概述 Ubuntu是一个基于Linux的操作系统,其文件系统与Windows系统
    的头像 发表于 08-30 15:10 1155次阅读

    手把手教你通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    手把手教你通过宏集物联网工控屏&网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户终端
    的头像 发表于 08-15 13:29 425次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>通过宏集物联网工控屏&amp;网关进行协议转换,将底层PLC/传感器的数据转换为TCP协议并传输到用户

    如何修改buildroot和debian文件系统

    本文档主要介绍没有编译环境的情况下,如何修改buildroot和debian文件系统方法,如在buildroot文件系统中添加文件、修改目录等文件
    的头像 发表于 07-22 17:46 416次阅读
    如何修改buildroot和debian<b class='flag-5'>文件系统</b>

    linux--sysfs文件系统

    。与/proc文件系统相似,sysfs专注于展示设备和驱动程序的细节,而/proc则主要反映进程信息。 sysfs中,信息被组织成层次化的文件系统结构。每个设备或内核对象
    的头像 发表于 07-08 11:37 720次阅读
    linux--sysfs<b class='flag-5'>文件系统</b>

    手把手教你orcad中设置CIS元器件数据库,提高工作效率

    元器件数据库,就是实现上述查找元件、放置元件时所需要调用的数据库。本文将手把手教你如何在orcad中配置CIS元器件数据库。
    的头像 发表于 06-15 17:27 5342次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b><b class='flag-5'>在</b>orcad中设置CIS元器件数据库,提高工作效率

    手把手教你排序算法怎么写

    今天以直接插入排序算法,给大家分享一下排序算法的实现思路,主要包含以下部分内容:插入排序介绍插入排序算法实现手把手教你排序算法怎么写在添加新的记录时,使用顺序查找的方式找到其要插入的位置,然后将
    的头像 发表于 06-04 08:03 644次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么写

    手把手带你移植HAL库函数

    开发者更高效地进行嵌入式开发。手把手带你移植HAL库函数HAL库提供了一套抽象接口,使开发者无需直接操作底层硬件寄存器,就能实现对硬件的控制。这种抽象使得代码能够更
    的头像 发表于 05-18 08:04 1680次阅读
    <b class='flag-5'>手把手</b>带你移植HAL库函数

    【飞腾派4G版免费试用】4.手把手玩转QT界面设计

    试用】2.手把手实战编译Linux内核 【飞腾派4G版免费试用】3.手把手玩转制作rootfs根文件系统本论坛内的试读经验 : 《电子工程师必备——九大
    发表于 01-27 12:49

    工程送样!手把手教你用好广和通RedCap模组FG131&amp;amp;FG132系列

    工程送样!手把手教你用好广和通RedCap模组FG131&FG132系列
    的头像 发表于 01-11 18:22 665次阅读
    工程送样!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>用好广和通RedCap模组FG131&amp;amp;FG132系列

    【飞腾派4G版免费试用】3.手把手玩转制作rootfs根文件系统

    你们一起玩转制作rootfs,也就是根文件系统。但是别紧张,这不是那种会让你头大的编程问题,而是像在家里做蛋糕一样的简单有趣! 非常感谢第一篇文章【飞腾派4G版免费试用】1.实战交叉编译环境搭建和手把手
    发表于 01-09 10:49

    教你Ubuntu系统定制文件系统

    ,那么接下来,小编就为大家介绍Forlinx Desktop(Ubuntu系统定制文件系统的操作过程。 解压
    发表于 12-26 16:33

    【飞腾派4G版免费试用】如何定制飞腾平台的ubuntu rootfs 根文件系统(1)

    0.概述 为了能到达到按自己的需要修改文件系统,最近一周研究了一下如何定制自己的ubuntu文件系统,网上参考了一些经验,一下是一个简单的制作流程: 1.配置基本环境 2.获得
    发表于 12-10 19:13

    最新ChatGPT详细注册图文解说教程 ChatGPT账号注册详细步骤分析

    2024年注册ChatGPT详细教程,手把手教你完成ChatGPT的注册
    的头像 发表于 12-04 17:18 8654次阅读
    最新ChatGPT详细注册图文解说教程  ChatGPT账号注册详细步骤分析