LWN:Mobian - 在移动设备上运行Debian!

关注了就能看到更多这么棒的文章哦~

Mobian: bringing Debian to mobile devices

April 4, 2023
This article was contributed by Koen Vervloesem
DeepL assisted translation
https://lwn.net/Articles/928211/

Mobian 是一个旨在将 Debian 发行版引入移动设备(如智能手机和平板电脑)的项目。Mobian 项目希望在 Debian 的灵活性、稳定性和社区驱动的开发基础之上创造一个强大的、用户友好的、替代现有移动操作系统的项目。该项目正积极致力于减少 Mobian 和 Debian 之间的差距,最终目标是能被吸收回到 Debian 发行版里,从而使 Debian 在移动设备上的运行变得简单。

差不多三年前,Arnaud Ferraris 宣布他正致力于为 PinePhone (这是一个由 Pine64 制造的以 Linux 为先的手机)创建一个 Debian 映像。他对 Mobian 的描述是:

[……]不是一个发行版,而只是 Debian 的一个 overlay 叠加层,能让你马上使用到大量现有软件包,同时使我们的工作更容易,因为我们都希望尽量少使用自定义的软件包。

一年后,Pine64 发布了 PinePhone 的 Mobian 社区版,并预装了 Mobian。每售出一台设备,Pine64 就向 Mobian 项目捐赠 10 美元,而 Mobian 项目则向 Debian 项目捐赠了 5000 欧元。在 Mobian 的博客上,Ferraris 讲述了这个移动发行版早期的历史。

起初,Mobian 是基于 Debian testing 版本的,目前也没有稳定的版本。Mobian 开发者决定不发布 Mobian Bullseye(其使用了 2021 年 8 月发布的 Debian 11 "bullseye"),因为那时 Debian 中很少有对移动应用友好应用软件;整个移动 Linux 生态系统刚刚开始夯实。然而,在 2023 年,这两个因素都有了改善,这就是为什么团队决定在 Debian 12 "bookworm" 发布后就发布 Mobian stable 版本的原因,预计将在今年晚些时候发布。

Using Mobian

Mobian 的默认图形环境是 Phosh,这是一个基于 Wayland 的 GNOME shell,专门为移动设备设计。其所基于的 Wayland 合成器(compositor)是 Phoc。这两个软件包最初都是由 Purism 为其 Librem 5 开发的,但它们的开发已经迁移到 GNOME。

移动设备所需的所有最基本的软件都已经预装在 Mobian 中了。其中包括用于电话或 IP 语音(VoIP)通话的 GNOME Calls,用于消息(短信或 XMPP)的 Chatty,Geary 电子邮件客户端,GNOME Web 和 Firefox Extended Support Release(ESR)网络浏览器,极简的文件管理器 Portfolio,等等。

fbdc4a1f9bbd4dbdc2635495d1b4f4dd.png

[Mobian 界面]

用户可以在任意时刻向上滑动屏幕底部的 home bar,在屏幕的上半部分就会显示正在运行的应用程序的概览,在屏幕的下半部分显示可用的应用程序(见上)。在概览中的一个窗口位置上滑,就会关闭该窗口。同样,从屏幕顶部向下滑动可以访问快速设置,包括屏幕亮度、音频音量、WiFi 和蓝牙。这个区域也显示通知,比如说出现了可用更新的时候。

Mobian 使用 Squeekboard 作为其屏幕键盘,当用户点击文本框时就会出现。除了屏幕比较小、使用屏幕键盘、以及适配移动场景的 GNOME shell Phosh 之外,Mobian 感觉就像一个带有 GNOME 的普通 Debian 系统。对它进行配置是通过 GNOME Settings 来完成的,只有少量的一些针对 Phosh 的移动设备特有的设置是在独立的 Mobile Settings 应用中。安装和更新软件是使用 GNOME Software,或者在 GNOME Console 控制台中使用 apt 命令。

这个项目的 Wiki 页面有一个应用程序列表,以及它们与 Mobian 的兼容性。建议首选使用 GNOME Software 或 apt 从 Debian 软件包中安装,尽管也支持了 Flatpak。并不是所有的 Flatpak 都是为 ARM 架构构建的,通常也没有为在移动设备上使用而进行过优化。

就像在任何常规的 Debian 系统上一样,用户可以安装 openssh-server 软件包,以便能够通过网络来远程登录到设备上。当设备使用 USB-C 线连接到电脑上时,Mobian 甚至通过 USB 设置了一个网络接口,所以用户可以不依赖 WiFi 就可以 ssh 到 Mobian。并且 Udev 和 NetworkManager 结合起来实现了在 PC 上设置网络。

Mobian wiki 上有一个 tweaks 页面,供想要自定义系统的用户使用。每个用户都有可能会需要到的一个 tweak 调整,就是对那些因为没有考虑到小屏幕而无法适应屏幕的应用程序进行缩放(scaling)。幸运的是,Mobile Settings 应用程序提供了很简单的方法来启用个别应用程序的缩放功能。

Device support

在移动设备上安装 Mobian 之前,用户应该查阅一下支持设备列表,非常简短。此外并不是所有的功能都能在每个设备上正常运行的。每个设备的 wiki 页面都列出了哪些功能可以使用,以及存在哪些方法可以变通地实现。相机和 USB On-The-Go(OTG)就是在某些设备上无法正常工作的典型例子。

Mobian 主要针对那些 Linux 优先的设备,如 Pine64 的 PinePhone 和 PineTab,以及 Purism 的 Librem 5。在 Pine64 设备上,用户首先需要安装 Tow-Boot,这是一个用户友好的 U-Boot 引导程序发行版。因为 Librem 5 还不支持 Tow-Boot,所以 Mobian 的安装需要在 Jumpdrive 的帮助下完成。

直到去年,Mobian 在其镜像中分发了一个针对特定设备版本的 U-Boot 引导程序。然而,如果切换过去使用 Tow-Boot 并且期望用户自己安装引导程序,就可以实现提供一个单一的、通用的 Mobian 镜像并可以在所有 mainline mobile Linux 设备上运行。通过这种方法,Mobian 只是在/boot/extlinux/extlinux.conf 安装一个 U-Boot 配置文件,其中包含所需的 boot setting。Tow-Boot(作为一个 U-Boot 发行版)来解析这个配置文件,并正确地将设备启动到 Mobian。

Tow-Boot 和 Jumpdrive 都允许用户在连接到电脑的 USB 端口时将他们的设备设置到 USB mass storage (U 盘)模式。然后设备的内部 eMMC 存储可以作为计算机上的 /dev/sdX 这种 block 设备来访问到。将 Mobian 镜像烧写到这个 block 设备上的方法很多,可以使用 dd、速度更快的 bmaptool 或图形化的烧写工具。

一些基于安卓的智能手机如果运行 mainline kernel,也可以运行这个移动操作系统。目前,Pocophone F1 和 OnePlus 6/6T 就是这种情况。对于这些设备,Mobian 会依赖其 Android bootloader。安装 Mobian 需要使用安卓工具(如 Fastboot)来完成。

对于没有已经支持的移动设备但仍想尝试一下 Mobian 的用户,也有 x86-64 的镜像文件可用。可以安装在 PC 上或虚拟机中,也可以安装在平板电脑上,如微软 Surface Pro/Go 系列。

要在移动设备上安装 Mobian 的话,用户可以选择两种类型的映像文件:installer image,或 pre-built image。第一种就像一个典型的桌面 Linux 发行版的安装镜像一样。当从这个镜像启动设备时,用户按照 Calamares 安装程序的屏幕提示,选择安装目标磁盘,设置数字密码(PIN),选择根分区的文件系统,并启用全盘加密。目前,installer image 仍然是 alpha 版本。另一个选择是使用 pre-built 预先构建好的镜像。这会直接启动一个预装好的发行版,之后用户应该修改默认密码。请注意,pre-built 镜像不使用全盘加密。

Dissolve into Debian

在 Debian 的 wiki 上,Mobian 团队的任务描述里很清楚地表明,该项目希望尽可能地与 Debian 保持一致:

Mobian 是一个 Debian 的衍生物,旨在将[对移动设备友好的]软件整合到 Debian 发行版中,并尽量减少移动设备运行 Debian 所需的定制工作。

事实上,大部分安装在 Mobian 中的软件包都直接来自 Debian 的官方软件仓库。只有一小部分软件包来自于 Mobian 的软件仓库。在今年早些时候的 FOSDEM 演讲中,Ferraris 解释说,在 Mobian 资料库中的 44 个源代码包中,有 7 个很快就会被放弃,3个正在等待上传到 Debian,6 个是过渡包,将在下一个开发周期被放弃,还有 9 个包带有尚未合入 upstream 的 patch。他的结论是,Mobian "不是一个长期项目,而是要随着时间的推移溶入 Debian"。

Mobian 的路线图强调,目前的重点是减少 Mobian 和 Debian 之间的差异。该团队试图通过在可能的情况下将软件包上传到 Debian 软件库来限制 Mobian 专用软件包的数量。该项目还与上游开发者合作,使桌面应用程序在移动设备上可用,例如通过贡献 patch 来把窄屏幕上的文本换行显示。

目前,在移动设备上改进 Debian 的那些没有争议的、无伤大雅的改动都放在 mobile-tweaks Debian 软件包中了。包括像 GNOME Settings 和 udev 规则文件等。其他针对特定设备的定制软件包仍然在 Mobian 仓库中,但开发者正在努力将必要的修改推到 upstream 和/或 Debian 中。很多工作都已经完成了。例如,特定设备的内核命令行参数已经被包含到相应的 device tree 里面,显示缩放现在是在 Phoc 中自动计算出来的,所以 Mobian 不再需要每个设备特有的 phoc.ini 配置文件了。

Mobian 映像是使用 debos 构建的。mobian-recipes 资源库包含了为所有支持的设备构建镜像所需的文件。这里有生成 root 文件系统和创建镜像文件的通用 recipe,也有针对特定设备上特定功能(如 bootloader)的 recipe。

该项目有一个 wiki 页面,其中有关于如何为 Mobian 做贡献的建议;还有一个开发者指南,介绍了一些开发方面的最佳实践建议。wiki 也包含了一个理想的功能列表,贡献者可以从中挑选工作内容。

Future development

在 2023 年,Mobian 项目的主要目标是为 Tow-Boot 增加对 PineTab 和 Librem 5 的支持。开发人员还在研究 PineTab 2 和 Fairphone 4 的官方 Mobian 镜像。此外,一旦 Debian bookworm 发布,2023 年将看到第一个 Mobian stable 版本。Mobian 将遵循与 Debian 相同的发布周期,大部分的 bug fix 和 security update 将直接通过 Debian 进行。对于内核来说,Mobian 已经为所有支持的设备选定了 Linux 6.1,因为它是一个长期支持(LTS)的内核。

虽然 Phosh 是默认安装上来的,并且经历了 Mobian 中的大部分测试,但该操作系统也支持其他桌面环境。例如极简主义的 Sxmo、GNOME Shell、Lomiri、Plasma Mobile 和 LXDE。在 bookworm 发布之后,Mobian 团队将专注于更好地支持这些其他的桌面环境,包括一个基于 Lomiri 的 Mobian 镜像。

Conclusion

Mobian 是一个雄心勃勃的项目,自从 Ferraris 第一次努力在他的 PinePhone 上运行 Debian 以来,已经取得了长足的进步。对于喜欢 Debian 的灵活性、稳定性和强大能力的用户来说,Mobian 作为一个 "mobile computer"操作系统来说,已经能达到可用性的要求了。然而,像 Librem 5 的电池寿命太短,以及 PinePhone 硬件性能太低这样的问题,意味着许多用户不会满足于使用这些设备作为他们的主要手机。这就是为什么我没有在这两种设备上测试 Mobian 的通话或短信。

随着第一个 Mobian 稳定版本定于 2023 年发布,很期待看到这个移动操作系统如何进一步发展。如果几年后 Mobian 不再存在,而更多的移动设备将被 Debian 直接支持,这将是此项目真正的成功。但它能成功与否,也取决于更好的移动 Linux 设备和驱动。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

format,png

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值