从开发板导出根文件系统并修改(Ubuntu)

news2024/11/23 22:38:54

        前面提到过基于ubuntu-base去构建根文件系统基于Ubuntu-base构建根文件系统-CSDN博客,但是有时候我们并不需要重头开始,可以基于现有的根文件系统做调整。又或者我们直接在出厂的系统上去搭建好自己的运行环境并且编译出自己想要的程序,现在要批量移植到其它的开发板上,最省事的办法当然是直接导出了。

        根文件系统导出有很多种方式,可以使用U盘本地导出,也可以使用网络远程导出,当然是网络更加的方便,这里就只描述网络导出的方式了。

        首先我们得明白开发板里的根文件系统实际上就是一个包含各种文件的文件夹,我们也知道linux下的根目录是“/”,所以实际上就是将“/”下的所有文件导出即可。

        我们使用rsync来进行根文件系统的数据导出,PC和开发板ubuntu都需要安装SSH和rsync,默认你已经安装好了,且通过ping可以确认PC与开发板网络连接正常。

        我们在PC上新建一个目录ubuntu_rootfs

mkdir ubuntu_rootfs

        同步开发板根文件系统,usrname为开发板Ubuntu的用户名,可以是root也可以是普通用户名,boardip为开发板IP,意思就是将开发板/下的文件同步到ubuntu_rootfs文件夹中。连接过程中会提示输入开发板用户的密码,按实际输入即可。

sudo rsync -avx usrname@boardip:/ ubuntu_rootfs

        耐心等待一会儿,就会发现ubuntu_rootfs里多出来根文件系统的文件,查看一下大小,跟开发板根文件系统大小基本一致。

        后面的事就简单了,步骤与 基于Ubuntu-base构建根文件系统-CSDN博客中的一致。如果想要查看和调整根文件系统,可以使用mount.sh脚本进行挂载,就可以进入根文件系统去操作了,可以修改hostname,用户名做一些个性化定制,或者再安装一些软件等等,结束之后退出即可。

        然后是制作根文件系统镜像,首先新建一个空镜像文件和空目录,将镜像挂在到空目录上,然后将包含根文件系统的文件夹内容全部拷进空目录,再取消挂载,镜像文件就已经包含了根文件系统。

        汇总指令如下:

//首先创建一个空镜像文件,大小参考ubuntu_rootfs那个文件夹,可以略大一些
dd if=/dev/zero of=ubuntu_rootfs.img bs=1M count=4096
 
//将该文件格式化为ext4文件系统
mkfs.ext4 ubuntu_rootfs.img

//将镜像文件挂载到一个空文件中,并将ubuntu_roofs中的文件拷贝到该空文件中
chmod 777 rootfs_maker
sudo mount ubuntu_rootfs.img rootfs_maker/
sudo cp -rfp ubuntu_rootfs/* rootfs_maker/
umount rootfs_maker/

//复制完以后用e2fsck修复及检测镜像文件系统,resize2fs减小镜像文件的大小
e2fsck -p -f ubuntu_rootfs.img
resize2fs -M ubuntu_rootfs.img

        这样我们就得到开发板的根文件系统了,把它烧录到其它开发板就可以直接使用,省去重复配置环境的工作了。

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

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

相关文章

Web浏览器的兼容性测试需要考虑哪些测试点?

测试web网站兼容性时,可以使用各种测试用例来确保网站在不同浏览器中的良好兼容性。以下是一些常见的兼容性测试用例示例: 1. 页面加载测试: - 确保网站在不同浏览器中正常加载,没有加载错误。 - 检查页面加载时间,…

Kivy UI界面

一、版本介绍 Ubuntu:18.04.6 LTS Conda:4.5.12 Python:3.6.15 Kivy:2.0.0 二、安装Kivy # 更新系统包列表 sudo apt-get update# 安装Kivy的依赖项 sudo apt-get install -y python-pip libsdl2-dev libsdl2-image-dev li…

【机器学习】:基于决策树与随机森林对数据分类

机器学习实验报告:决策树与随机森林数据分类 实验背景与目的 在机器学习领域,决策树和随机森林是两种常用的分类算法。决策树以其直观的树形结构和易于理解的特点被广泛应用于分类问题。随机森林则是一种集成学习算法,通过构建多个决策树并…

Galxe已投资Pencils Protocol,投资者阵营正不断扩大

近日,Scroll 生态项目 Penpad 将品牌进一步升级为 Pencils Protocol,全新升级后其不仅对 LaunchPad 平台进行了功能上的升级,同时其也进一步引入了 Staking、Vault 以及 Shop 等玩法,这也让 Pencils Protocol 的叙事方向不再仅限于…

“图生视频”技术创新:剪贴画秒变动画生成的实验验证与分析

在最近的研究进展中,AniClipart系统的问世标志着文本到视频生成技术的一个重要里程碑。这一系统由香港城市大学和莫纳什大学的研究者们共同开发,旨在解决将静态剪贴画图像根据文本提示自动转换成动画序列的挑战。传统的动画制作流程繁琐且耗时&#xff0…

Python 小抄

Python 备忘单 目录 1.语法和空格 2.注释 3.数字和运算 4.字符串处理 5.列表、元组和字典 6.JSON 7.循环 8.文件处理 9.函数 10.处理日期时间 11.NumPy 12.Pandas 要运行单元格,请按 ShiftEnter 或单击页面顶部的 Run(运行)。 1.语法和空格…

「每日跟读」英语常用句型公式 第15篇

「每日跟读」英语常用句型公式 第15篇 1. It’s only logical that __ 合理的做法/结论是__ It’s only logical that we should take a break (合理的做法是我们应该休息一下) It’s only logical that we work hard to make money(合理…

如何设计知识竞赛活动中的观众互动环节

知识竞赛活动过程中有多种方式进行观众互动,达到台上台下互动的效果,让台下观众参与到竞赛活动中,增加现场气氛。下面介绍几种常用观众互动环节设计方法。 一、台上选手对抗台下观众 此方案为台下观众和台上选手一起答题,如果台…

又双叒叕新增2本SCI期刊“On Hold“,慎投,有剔除风险!

本周投稿推荐 SSCI • 2区社科经管类,3.0-4.0(录用友好) EI • 计算机工程生物医学等(领域广,录用极快) CNKI • 3天内初审录用,随即出版(急录友好) SCI&EI …

[Bootloader][uboot]code总结

文章目录 1、U_BOOT_DRIVER2、DM框架dm_scan_platdatadm_extended_scan_fdt 1、U_BOOT_DRIVER 使用这个宏可以定义一个驱动实例,宏定义是 其中使用的struct driver结构体 使用的ll_entry_declare宏定义是 归结为 2、DM框架 1、 DM框架 DM模型抽象出了以下四个…

测试之路 - 精准而优雅

引子 这几年业内一直在做精准测试,大都使用工具 diff 代码改动、分析代码覆盖率这些平台集成的能力。 业务测试中,我们在技术设计和代码实现的基础上也做了一些精减和精准的测试实践,通过深入测试有针对的设计 case,发现隐藏问题…

智游剪辑1.5.0发布!

智游剪辑1.5.0发布了,快来看看更新了啥功能吧! 主页卡片升级 现在功能卡片新增图标,比以前更好看更直观 我的收藏 遇到自己喜欢的功能直接点击收藏就可以了,后面我们就能快速找到这个功能 批量ncm转mp3功能 目前看后台有很多人…

STC8增强型单片机开发【热敏电阻】

目录 一、引言 二、热敏电阻概述 三、STC8增强型单片机简介 四、基于STC8单片机的热敏电阻测温系统 五、热敏电阻测温系统的优化与扩展 提高测量精度 扩展系统功能 六、 温度计算步骤 通过ADC采样计算出热敏电阻位置的电压 通过欧姆定律计算热敏电阻的阻值 通过阻值…

Java微信小程序订阅消息提醒的实现与对接

文章目录 一、准备工作1. 注册微信小程序,并开通订阅消息功能。2. 获取小程序的AppID和AppSecret。3. 在微信小程序管理后台,设置提醒模板,并获取模板ID。4. 小程序端需要获取用户订阅允许提醒的权限(1)引导用户触发订…

win11快速安装mysql数据库系统

win11快速安装mysql数据库系统 1、下载 1.1 打开官网 1.2 向下滚动页面 1.3 进入下载选项 1.4 下载8.0.4 LTS 1.5 开始下载 1.6 下载中 2、解压 大家注意,此时解压后目录是没有data目录的。 3、数据库初始化 3.1 管理员身份打开CMD 开始菜单上,输入…

【找到所有数组中消失的数字】leetcode,python

很菜的写法: class Solution:def findDisappearedNumbers(self, nums: List[int]) -> List[int]:nlen(nums)#存1-Nnum_1[i for i in range(1,n1)]#预存数num_2[]nums.sort()for i in nums:num_1[i-1]0for i in num_1:if i!0:num_2.append(i)return num_2能过但是…

link.click()时浏览器报错The file at ‘data:image/png;base64,iVBORw

代码如下: const dataURL canvas.toDataURL({format: "png",width: 400,height: 400, });const link document.createElement("a"); link.download new Date().getTime();link.href dataURL; document.body.appendChild(link); link.click…

webpack优化构建速度示例-合理配置loader的include exclude:

实际上,babel-loader 在 Webpack 配置中默认并不包含 exclude 和 include 选项的默认值,通常,为了优化构建性能,开发者会显式地设置 exclude 和 include 选项,以便 babel-loader 只处理必要的文件。 src/index.js impo…

【漏洞复现】Secnet-智能路由系统弱口令

0x01 产品简介 Secnet安网智能AC管理系统是广州安网通信技术有限公司(简称“安网通信”)的无线AP管理系统 0x02 漏洞描述 攻击者可直接利用弱口令登录系统 0x03 搜索语法 fofa: title"安网-智能路由系统" || title"智能路由系统" || title"安网科…

做海外问卷调查有什么方法技巧?

大家好,我是橙河老师,很久没更新文章了,一方面是比较忙,另一方面是觉得关于项目介绍的文章,写的也差不多了。 后面的文章,还是着重讲解不同渠道的特点、做题技巧、人设创建这些实战性的内容。 我不像其他公…