Mobian: bringing Debian to mobile devices
Mobian is a project that aims to bring the Debian distribution to mobile devices such as smartphones and tablets. By building on the flexibility, stability, and community-driven development of Debian, Mobian aspires to create a powerful and user-friendly alternative to existing mobile operating systems. The project is actively working on reducing the delta between Mobian and Debian, and its ultimate goal is to be absorbed back into its parent distribution and to make it easy to run Debian on mobile devices.
Almost three years ago, Arnaud Ferraris announced his efforts to create a Debian image for the PinePhone, a Linux-first mobile phone made by Pine64. He described Mobian as:
[...] not a distribution, but only an overlay to Debian, bringing you instant access to tons of existing packages, while making things easier for us as we try to keep as few custom packages as possible.
A year later, Pine64 released a Mobian Community Edition of the PinePhone, with Mobian pre-installed. For each device sold, Pine64 donated $10 to the Mobian project, which in turn donated €5000 to the Debian project. On Mobian's blog, Ferraris recounted the history of the early days of the mobile distribution.
At first, Mobian was based on Debian testing and there is currently no stable release of it. The Mobian developers decided against releasing Mobian Bullseye (using Debian 11 "bullseye" released in August 2021) because there were few mobile-friendly applications in Debian then; the whole mobile Linux ecosystem was just starting to ramp up. In 2023, however, both factors have improved, and that's why the team has decided that it will release a Mobian stable version based on Debian 12 "bookworm" after it is released, which is expected later this year.
Using Mobian
![Mobian interface [Mobian interface]](https://static.lwn.net/images/2023/mobian-overview-sm.png)
Mobian's default graphical environment is Phosh, which is a Wayland-based shell for GNOME specifically designed for mobile devices. The Wayland compositor used under the hood is Phoc. Both packages were originally developed by Purism for its Librem 5, but their development has moved to GNOME.
All essential software for a mobile device is pre-installed in Mobian. There's GNOME Calls for phone or Voice over IP (VoIP) calls, Chatty for messaging (SMS messages or XMPP), the Geary email client, the GNOME Web and Firefox Extended Support Release (ESR) web browsers, the minimalist file manager Portfolio, and more.
The user can swipe up on the home bar at the bottom of the screen at any time to bring up an overview of the running applications in the top half of the screen and the available applications in the bottom half of the screen (see the image at right). A swipe up on a window in the overview closes the window. Similarly, swiping down from the top of the screen gives access to quick settings, including screen brightness, audio volume, WiFi, and Bluetooth. This area also shows notifications, for example when updates are available.
Mobian ships with Squeekboard as its on-screen keyboard, which appears when the user taps on a text box. Apart from the smaller screen, the use of the on-screen keyboard, and the mobile-friendly GNOME shell Phosh, Mobian feels like a regular Debian system with GNOME. Configuration is done using GNOME Settings, with only a small number of some mobile-specific settings for Phosh in the separate Mobile Settings app. Installing and updating software is done using GNOME Software, or with apt commands in the GNOME Console app.
The project's wiki has a list of applications and their compatibility with Mobian. The recommendation is to install from Debian packages using GNOME Software or apt, though Flatpak is also supported. Not all Flatpaks are built for the ARM architecture or optimized for use on a mobile device, however.
Just like on any regular Debian system, the user can install the openssh-server package to be able to log into the device over the network. When the device is connected to a computer using a USB-C cable, Mobian even sets up a network interface over USB, so the user can ssh into Mobian without relying on WiFi. Udev and NetworkManager combine to set up the networking on the desktop side.
The Mobian wiki has a page of tweaks for users who want to customize their system. One tweak that every user will need at some point is for scaling apps that don't fit the screen because they haven't been designed with small screens in mind. Luckily, the Mobile Settings app offers easy ways to enable scaling for individual apps.
Device support
Before installing Mobian on a mobile device, users should consult the short list of supported devices. Moreover, not all features work on every device. Each device's wiki page lists what is working and what workarounds exist. The camera and USB On-The-Go (OTG) are notable features that don't work on some devices.
Mobian primarily targets Linux-first devices, such as Pine64's PinePhone and PineTab, and Purism's Librem 5. On Pine64 devices, the user first needs to install Tow-Boot, a user-friendly distribution of the U-Boot bootloader. Because the Librem 5 doesn't support Tow-Boot yet, installation of Mobian is done with help from Jumpdrive.
Until last year, Mobian distributed a device-specific version of the U-Boot bootloader in its images. However, the switch to Tow-Boot and the expectation that users have installed the bootloader themselves, creates the opportunity to offer a single, universal Mobian image that works on all mainline mobile Linux devices. With this approach, Mobian just installs a U-Boot configuration file at /boot/extlinux/extlinux.conf containing the required boot settings. Tow-Boot (as a U-Boot distribution) parses this configuration file and correctly boots the device into Mobian.
Both Tow-Boot and Jumpdrive allow the user to boot their device into USB mass storage mode while connected to a computer's USB port. The device's internal eMMC storage is then accessible as a /dev/sdX block device on the computer. Flashing the Mobian image to this block device can be done using dd, the significantly faster bmaptool, or a graphical flashing tool.
Some Android-based smartphones are also supported by the mobile operating system if they run a mainline kernel. Currently this is the case for the Pocophone F1 and the OnePlus 6/6T. For these devices, Mobian relies on the Android bootloader. Installing Mobian needs to be done using Android tools such as Fastboot.
For users without a supported mobile device who still want to try Mobian, there are also images for x86-64. Those can be installed on a PC or in a virtual machine, as well as on tablets such as the Microsoft Surface Pro/Go line.
To install Mobian on a mobile device, users have the choice between two types of images: an installer image or a pre-built image. The first one is like a typical installation image for a desktop Linux distribution. When booting a device from this image, users follow the on-screen prompts of the Calamares installer to choose the installation target disk, set a numeric password (PIN), select the filesystem for the root partition, and enable full-disk encryption. Currently the installer images are still alpha releases. The other option is to use a pre-built image. This directly starts a pre-installed distribution, after which the user should change the default password. Note that the pre-built images don't use full-disk encryption.
Dissolve into Debian
On Debian's wiki, the Mobian team's task description makes it clear that the project wants to stay as close as possible to Debian:
Mobian is a Debian derivative aiming to integrate [mobile-friendly] software into the Debian distribution and minimize the amount of customization required for mobile devices to run Debian.
In fact, most of the packages installed in Mobian come straight from the official Debian archives. Only a small set of packages come from the Mobian archive. In his FOSDEM talk earlier this year, Ferraris explained that, of the 44 source packages in Mobian's repository, seven will be dropped shortly, three are awaiting upload to Debian, six are transitional packages that will be dropped for the next development cycle, and nine packages carry non-upstreamable patches. His conclusion was that Mobian is "not a long-term project, but meant to dissolve into Debian over time".
Mobian's roadmap emphasizes that the current focus is on reducing the differences between Mobian and Debian. The team tries to limit the number of Mobian-specific packages by uploading packages to the Debian repositories where possible. The project also works with upstream developers to make desktop applications usable on mobile devices, for example by contributing patches to wrap text on narrow screens.
Currently, unobtrusive, non-controversial changes to improve Debian on a mobile device are put in the mobile-tweaks Debian package. This includes things like GNOME settings and udev rules. Other device-specific packages with customizations are still carried in the Mobian repository, but the developers are working on pushing the necessary changes upstream and/or into Debian. A lot of this has already happened. For example, device-specific kernel command-line parameters have been folded into the devicetree, and display scaling is now automatically computed in Phoc, so Mobian doesn't need a device-specific phoc.ini configuration file anymore.
Mobian images are built using debos. The mobian-recipes repository contains the files needed to build the images for all supported devices. There are generic recipes to generate the root filesystem and then create the image file, as well as device-specific recipes with functionality such as the bootloader.
The project has a wiki page with suggestions on how to contribute to Mobian; there's also a developer's guide that presents some development best practices. The wiki contains a list of desired features that contributors can work on, as well.
Future development
In 2023, the Mobian project aims to add support for the PineTab and Librem 5 to Tow-Boot. The developers are also looking at official Mobian images for the PineTab 2 and Fairphone 4. Moreover, 2023 will see the first Mobian stable release once Debian bookworm is released. Mobian will follow the same release cycle as Debian, with most of the bug fix and security updates coming directly through Debian. For the kernel, Mobian has settled on Linux 6.1 for all supported devices, since it's a Long-Term Support (LTS) kernel.
While Phosh is installed by default and has undergone most of the testing in Mobian, the operating system also supports other desktop environments. Examples are the minimalist Sxmo, GNOME Shell, Lomiri, Plasma Mobile, and LXDE. After the Bookworm release, the Mobian team will focus on better support of those alternative desktop environments, including a Lomiri-based Mobian image.
Conclusion
Mobian is an ambitious project that has come a long way since Ferraris's first effort to run Debian on his PinePhone. For users who like the flexibility, stability, and power of Debian, Mobian is already quite usable as a "mobile computer" operating system. However, problems like the poor battery life of the Librem 5 and the low performance of PinePhone hardware mean that many users will not be satisfied with those devices as their primary phone. That is why I have not tested Mobian for calls or SMS messages on either device.
With the first Mobian stable release slated for 2023, it will be interesting to see how the mobile operating system evolves further. It will be a true success if, in a few years, Mobian doesn't exist at all anymore; instead, more mobile devices will be supported straight out of the box by Debian. But its success also depends on better mobile Linux devices and drivers.
Index entries for this article | |
---|---|
GuestArticles | Vervloesem, Koen |
Posted Apr 5, 2023 15:43 UTC (Wed)
by clump (subscriber, #27801)
[Link]
Posted Apr 6, 2023 10:13 UTC (Thu)
by ale2018 (guest, #128727)
[Link]
Posted Apr 6, 2023 12:57 UTC (Thu)
by ballombe (subscriber, #9523)
[Link]
Posted Apr 8, 2023 8:06 UTC (Sat)
by tpiekarski (guest, #138813)
[Link] (5 responses)
Posted Apr 9, 2023 19:10 UTC (Sun)
by shane (subscriber, #3335)
[Link] (2 responses)
https://wiki.mobian-project.org/doku.php?id=chatty
And an app to make phone calls:
https://wiki.mobian-project.org/doku.php?id=calls
I'm not sure what gave you the idea that this has not been looked at?
Posted Apr 11, 2023 14:23 UTC (Tue)
by gnb (subscriber, #5132)
[Link] (1 responses)
Posted Apr 11, 2023 14:51 UTC (Tue)
by shane (subscriber, #3335)
[Link]
Posted Apr 17, 2023 6:42 UTC (Mon)
by LtWorf (subscriber, #124958)
[Link] (1 responses)
Calling makes it very hot though. It becomes difficult to keep it against your face in long calls.
Posted Apr 23, 2023 15:21 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link]
New life for the "sorry, I have to go; I've left the oven on" excuse :) .
Mobian: bringing Debian to mobile devices
Waydroid seems to be supported. However, do proprietary apps, e.g. Paypal, run on a pinephone with Mobian?
Mobian: bringing Debian to mobile devices
Mobian: bringing Debian to mobile devices
Unfortunately, the the previous ones did not have much impact since the relevant hardware was discontinued
before the Debian release.
Mobian: bringing Debian to mobile devices
Mobian: bringing Debian to mobile devices
Mobian: bringing Debian to mobile devices
"That is why I have not tested Mobian for calls or SMS messages on either device."
Mobian: bringing Debian to mobile devices
Mobian: bringing Debian to mobile devices
Mobian: bringing Debian to mobile devices