安卓手机原生运行 ARM Ubuntu 24.04 桌面版(一)
内容提要
本文介绍了在安卓手机上运行Ubuntu操作系统的方法,包括尝试运行未发布的ARM架构的Ubuntu 24.04桌面版本。作者通过构建系统和验证环境,探索了更简单、可持续的维护方案。文章还提到了Ubuntu移动操作系统和Ubuntu Touch项目的历史,以及设备树的作用和特点。最后,作者介绍了构建可用的引导内容的步骤。
延伸解读
为何选择桌面版而非 Ubuntu Touch
文章提到 Ubuntu Touch 项目因市场反馈不佳于 2017 年停止维护,后由社区接手,目前支持设备有限;Ubuntu Phone 也在 2014 年被放弃。因此作者选择适配标准 Ubuntu 桌面版,而非专为手机设计的系统。这反映出官方移动系统生态的萎缩,也意味着用户若想获得较新的软件支持,可能需自行解决硬件适配问题。
镜像来源与下载技巧
作者发现预构建的 ARM 版 Ubuntu 镜像来自 Asahi 项目,但直接拼接 URL 无法下载。通过分析安装脚本,发现实际下载地址需在路径中加入 /os/ 目录,最终得到可用的 zip 包。这提示读者在获取非官方镜像时,需留意安装程序的内部逻辑,而非仅依赖表面链接。
分区调整与还原要点
文章详细描述了在 TWRP 下使用 parted 删除旧分区并新建 esp、ubuntu-boot、ubuntu-os 三个分区的过程,随后通过 dd 命令将 boot.img 和 root.img 写入对应分区,并手动格式化 esp 分区、复制 EFI 文件。这些步骤要求操作者熟悉分区工具和命令行,且需注意分区大小与镜像匹配,否则可能导致写入失败。
首次启动失败与设备树问题
首次启动时 GRUB 界面正常显示,但随后报错“Invalid header detected on UEFI supplied FDT, ignoring”,指向设备树配置问题。作者解释设备树用于描述硬件,使内核与硬件解耦,而当前镜像中的内核和设备树可能不适用于该手机。这揭示了跨设备移植 Linux 时,硬件描述文件的关键性,也说明仅靠通用镜像难以直接启动。
Q&A
如何在安卓手机上运行ARM架构的Ubuntu 24.04桌面版?
可以通过构建系统和验证环境来实现,具体步骤包括获取预构建的镜像、重新划分磁盘分区、以及将镜像还原到手机分区中。
Ubuntu Touch项目为何被放弃?
由于市场反馈不佳,Canonical在2017年宣布停止维护Ubuntu Touch项目,之后该项目转为社区产品。
设备树在Linux中的作用是什么?
设备树用于描述硬件配置,使得内核可以独立于硬件运行,增强了系统的可移植性和动态加载能力。
如何获取ARM架构的Ubuntu桌面版镜像?
可以使用curl命令下载预构建的ARM架构Ubuntu桌面版镜像,具体命令为curl -sL https://ubuntuasahi.org/install | bash。
在安卓手机上安装Ubuntu时需要注意哪些分区设置?
需要重新划分磁盘分区,创建esp、boot和root分区,以适应Ubuntu镜像的安装需求。
启动Ubuntu时遇到的设备树配置错误如何解决?
需要检查设备树的配置是否正确,可能需要重新生成符合手机硬件的设备树文件。