正点原子STM32MP257开发板移植ubuntu24.04根文件系统(带桌面版)
本篇主要内容效果展示一、环境准备二、移植步骤1.下载、解压rootfs2.ubuntu虚拟机安装qemu-user-static3.根文件系统换软件源4.安装必要软件5.配置串口登录6.设置root账户、主机名7.网络配置8.安装桌面环境三、打包、烧写rootfs1.创建一个4GB的ext4并格式化2.拷贝根文件系统到ubuntu2404_rootfs.ext4四、烧录ubuntu2404_rootfs1.烧录测试效果展示一、环境准备✅虚拟机ubuntu24.04✅开发板正点原子STM32MP257✅根文件系统ubuntu-base-24.04.2-base-arm64.tar.gz二、移植步骤1.下载、解压rootfswgethttps://cdimage.ubuntu.com/ubuntu-base/releases/24.04/release/ubuntu-base-24.04.2-base-arm64.tar.gzmkdirubuntu2404_rootfstar-xvfubuntu-base-24.04.2-base-arm64.tar.gz-Cubuntu2404_rootfs2.ubuntu虚拟机安装qemu-user-static⚠️这里是在ubuntu虚拟机安装qemuqemu是一个提供虚拟环境的工具类似模拟器。在这里主要是在后续ubuntu虚拟机临时挂载我们制作的rootfs时可以运行rootfs里的命令进行一些配置这些命令都是aarch64架构的。安装后可以看到有多种架构的qemu这里我们用到的是aarch64。关于aarch64和arm64什么区别查阅资料后据说都是一个意思指同一个架构只是说法不同aarch64比arm64更正式apt-getinstallqemu-user-static# 拷贝aarch64架构的qemu到rootfs中cp/usr/bin/qemu-aarch64-static ubuntu2404_rootfs/usr/bin3.根文件系统换软件源⚠️ubuntu24.04更换软件源的配置文件不再是/etc/apt/source.list而是/etc/apt/source.list.d/ubuntu.sources并且修改方式也改变了具体修改如下。viubuntu2404_rootfs/etc/apt/sources.list.d/ubuntu.sources⚠️更换好软件源后在执行apt update之前需要先安装ssl相关的证书才可以访问上面的软件源。由于此时在rootfs里还无法安装软件这里得先拷贝虚拟机中的证书到rootfs。sudocp-r/etc/ssl/ ubuntu2404_rootfs/etc/# 直接拷贝整个ssl目录到根文件系统的etc目录sudochmod777ubuntu2404_rootfs/# 这里需要给根文件系统加上权限否则更新以及后续会报错⚠️接着进行apt update前需要先临时挂载到这个rootfs使用里面的apt进行前面安装的虚拟环境qemu在这里就发挥作用了。这里的挂载命令比较多我们通过一个简单的脚本来做比较方便具体路径不唯一需要根据实际确定。#!/bin/bashechoMOUNTINGsudomount-tproc /proc ~/ubuntu2404_rootfs/procsudomount-tsysfs /sys ~/ubuntu2404_rootfs/syssudomount-obind/dev ~/ubuntu2404_rootfs/devsudomount-obind/dev/pts ~/ubuntu2404_rootfs/dev/ptssudochroot~/ubuntu2404_rootfs#!/bin/bashechoUNMOUNTINGsudoumount~/ubuntu2404_rootfs/procsudoumount~/ubuntu2404_rootfs/syssudoumount~/ubuntu2404_rootfs/dev/ptssudoumount~/ubuntu2404_rootfs/dev⚠️执行mount.sh脚本可以看到以下的界面就成功挂载到了正在制作的rootfs中后续的更新、安装软件配置串口等操作均在这里执行。4.安装必要软件⚠️安装前先更新源可以看到源更换成了阿里云的也就是上面配置的aptupdate⚠️再下载必要的一些软件以下命令安装的时候需要选择一些信息随意即可。apt-getinstall-ysudolanguage-pack-en-basesshnet-toolsethtoolifupdown iputils-pinghtopvimbash-completion systemd# 其余按需添加5.配置串口登录⚠️配置文件路径sudo vi ubuntu2404_rootfs/lib/systemd/system/serial-getty.service。这是一个Linux系统管理串行控制台的服务具体配置文件的含义可见下图注释注释为UP查阅资料后自行添加仅供参考可能有误⚠️第一处修改:BindsTodev-%i⚠️第二处修改ExecStart-/sbin/agetty -a root --keep-baud 115200,38400,9600 %I $TERM6.设置root账户、主机名⚠️主机名的设置也可以省略在后续安装好桌面环境后初次登录会有设置的界面。这里是设置完后面登录后的串口终端就是这样的rootAlientek-STM32MP257:~#⚠️将上面的主机名绑定到本地回环地址名称必须和上面对应7.网络配置# 没有这个文件就创建内容如下vietc/netplan/50-cloud-init.yamlnetwork:version:2ethernets:end0:dhcp4:trueend1:dhcp4:false8.安装桌面环境⚠️ubuntu的桌面环境一般有以下几种gnome、xfce和KDE等。我们使用的ubuntu虚拟机一般都是gnome而如果想要比较轻量级的可以考虑xfce。这里我们安装的是gnome。大小大概需要3G安装时间比较久不想要桌面环境的这一步可以略过。sudoaptinstallubuntu-gnome-desktop⚠️安装完桌面环境rootfs简单的配置就完成了可以看到此时的大小大概是3.4G三、打包、烧写rootfs1.创建一个4GB的ext4并格式化ddif/dev/zeroofubuntu2404_rootfs.ext4bs1Mcount4096mkfs.ext4 ubuntu2404_rootfs.ext42.拷贝根文件系统到ubuntu2404_rootfs.ext4# 挂载ubuntu2404_rootfs.ext4到虚拟机mkdirmount_point# 创建一个目录作为挂载点sudomountubuntu2404_rootfs.ext4 mount_point/⚠️注意看是拷贝到mount_point这个目录上面将ext4挂载到的这个目录。拷贝时间比较久需要稍等一会。# 拷贝根文件系统所以内容到挂载点目录sudocp-arvubuntu2404_rootfs/* mount_point/⚠️拷贝完卸载ubuntu2404_rootfs.ext4使用ST的烧写工具烧录即可。四、烧录ubuntu2404_rootfs1.烧录测试⚠️这里我们可以复制官方提供的出厂系统固件包里的tsv文件将最后要烧写的根文件系统改成前面制作的ubuntu2404_rootfs.ext4并将这个文件放到E:\【正点原子】STM32MP257开发板\【正点原子】STM32MP257开发板A盘-基础资料\08、系统镜像\01、出厂系统镜像\01、STM32CubeProg烧录固件包这个目录下。⚠️接着就可以打开STM32CubeProgram烧写了完成后就可以得到同款ubuntu24.04了。当然这仅是简单移植ubuntu的根文件系统可能会有不少bug出现。⚠️等待烧写完成串口登录开发板就可以看到以下结果了。同时接上屏幕可以登录到桌面第一次登录会有个初始化向导也会重新让填写主机名、用户名。⚠️插上键盘和鼠标填写完用户名和一些信息就可以看到下图的效果了。

相关新闻

第12课:模块与包管理

第12课:模块与包管理

12_modules_and_packages.py 一、课程目标 序号 学习目标 ① 理解模块的概念和作用 ② 掌握导入模块的各种方式 ③ 熟悉Python常用的内置模块 ④ 学会创建和使用自定义模块 ⑤ 理解包的创建和结构 ⑥ 学会安装和使用第三方库 ⑦ 理解模块搜索路径 二、知识讲解 2.1 模块概述 …

2026/10/10 5:23:09 阅读更多 →
Vike框架终极指南:如何用模块化思维构建稳定高效的企业级应用

Vike框架终极指南:如何用模块化思维构建稳定高效的企业级应用

Vike框架终极指南:如何用模块化思维构建稳定高效的企业级应用 【免费下载链接】vike (Replaces Next.js/Nuxt) 🔨 Build mission-critical applications with stability and development freedom. 项目地址: https://gitcode.com/GitHub_Trending/vi/v…

2026/10/10 6:06:25 阅读更多 →
Lunalytics核心功能解析:HTTP、TCP与Docker容器监控全攻略

Lunalytics核心功能解析:HTTP、TCP与Docker容器监控全攻略

Lunalytics核心功能解析:HTTP、TCP与Docker容器监控全攻略 【免费下载链接】Lunalytics 🚀 Open source monitoring tool built with Node.js 项目地址: https://gitcode.com/gh_mirrors/lu/Lunalytics Lunalytics是一款基于Node.js构建的开源监控…

2026/10/7 6:35:05 阅读更多 →

最新新闻

极点五笔10周年版:确定性优先的五笔输入法重构

极点五笔10周年版:确定性优先的五笔输入法重构

1. 项目概述:这不只是一个输入法,而是一次对中文输入底层逻辑的重新校准“极点五笔:10周年版全面升级体验”——看到这个标题,我第一反应不是点开下载,而是下意识摸了摸键盘右下角那块被手指磨得发亮的空格键。十年&am…

2026/10/10 6:05:48 阅读更多 →
GEO优化采购有哪些陷阱?传播易如何凭硬核资质实现落地增效?

GEO优化采购有哪些陷阱?传播易如何凭硬核资质实现落地增效?

**一、行业现状与投放核心价值**随着生成式AI全面渗透全网检索场景,传统SEO依托关键词排名引流的营销模式红利逐步消退。区别于传统搜索引擎优化,GEO(Generative Engine Optimization)优化聚焦AI大模型信息采信、内容溯源、权威背书核心逻辑,…

2026/10/10 6:05:48 阅读更多 →
GEO采购避坑与效果落地 传播易适配全平台AI搜索引用优化服务

GEO采购避坑与效果落地 传播易适配全平台AI搜索引用优化服务

随着ChatGPT、DeepSeek、豆包、Kimi等生成式AI工具的规模化普及,全网用户搜索逻辑迎来根本性变革,传统关键词检索模式加速退场,对话式问答、AI智能答疑成为用户获取信息、消费决策的主流方式。在此行业变革下,生成式引擎优化(GEO)…

2026/10/10 6:05:48 阅读更多 →
传播易GEO品牌生态搭建 权威媒体内容赋能 企业AI信任背书优化

传播易GEO品牌生态搭建 权威媒体内容赋能 企业AI信任背书优化

2026年,生成式AI全面重构商业流量分发与B2B采购决策底层逻辑。权威行业调研数据显示,超60%的B2B采购全流程已由AI辅助完成,企业采购决策者普遍通过豆包、DeepSeek等主流大模型,完成供应商筛选、品牌实力对比、资质核验、方案甄选等…

2026/10/10 6:05:48 阅读更多 →
看空期权怎么选?行权价、期限与波动率的实战筛选逻辑

看空期权怎么选?行权价、期限与波动率的实战筛选逻辑

期权这东西,尤其是看空方向的期权,很多朋友一听就觉得是“赌跌”,要么觉得太复杂不敢碰,要么就是光盯着“亏光”和“暴富”两个极端。我平时跟人聊投资,发现大家对看空期权(认沽期权、看跌期权)…

2026/10/10 6:05:48 阅读更多 →
AI大模型如何抓取和推荐盐城本地商户?GEO技术链路与POI权重算法拆解

AI大模型如何抓取和推荐盐城本地商户?GEO技术链路与POI权重算法拆解

一、技术背景:AI大模型正在重构本地服务流量分发 2026年以来,以DeepSeek R1、豆包、文心一言、通义千问为代表的AI大模型在本地服务查询场景中的渗透率持续攀升。用户查询"盐城哪家海鲜餐厅好吃"“盐城汽修店推荐”"盐城周边民宿哪家性价…

2026/10/10 6:04:47 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →