# Mobile NixOS news

RSS feed for Mobile NixOS

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## August and September 2021 round-up

DevFeed: [August and September 2021 round-up](<https://devfeed.tech/articles/august-and-september-2021-round-up-32475.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-10-05-august-september-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-10-05T00:00:00Z

Content type: article

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [mruby](<https://devfeed.tech/topics/mruby.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [library](<https://devfeed.tech/tags/library.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [user-interface](<https://devfeed.tech/tags/user-interface.md>)

### AI overview

This Mobile NixOS project update covers merged work from August and September 2021, including automated validation of kernel configurations and a rewrite of early user-interface bindings using native code bindings. The changes improve build-time error reporting and debuggability.

### Source excerpt

This update is the nineteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the two months 11 pull requests were merged. This report is not a report of flashy new features. Foundational work to make it possible to finish work on flashy new features had to be made. Validated kernel configurations One of the hardest tasks with doing a port, whether it's your first or your tenth, is figuring out the kernel configuration options that needs to be set, and those that should not be set. With the changes in #410, it is now entirely automated and part of both the normalization step, and the usual build steps. It means that when you normalize a kernel configuration with the tooling, the options that are required to be set or unset are set or unset accordingly automatically for the developer. Since it is also validated at build time, it means that any changes in the configurations that has not been handled by the maintainer will cause an obvious build failure with appropriate error messages. Hopefully this means that future ports are this much more trivial. Rewritten early user interface bindings While working on an upcoming feature requiring further use of the early user interface for Mobile NixOS, it was found that the FFI bindings for them were a dead-end. These bindings worked seemingly well enough, but had issues. The more easily observable issue was the lack of proper ownership tracking for the FFI object, which meant that anything made through the mruby bindings needed to be tracked manually or else garbage collection would free up resources it shouldn't have freed. The workarounds seemed enough. They were not, when tested against more and more complex applications. Further causing issues, the FFI bindings were basically not debuggable. Whenever a crash happened, it crashed way too late to allow debuggi

## Mobile NixOS July 2021 project update

DevFeed: [Mobile NixOS July 2021 project update](<https://devfeed.tech/articles/july-2021-round-up-32474.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-08-03-july-2021-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-08-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Library](<https://devfeed.tech/topics/library.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [fontawesome](<https://devfeed.tech/tags/fontawesome.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [gui](<https://devfeed.tech/tags/gui.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [packaging](<https://devfeed.tech/tags/packaging.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The July 2021 Mobile NixOS update reports merged project changes, including redesigned stage-1 applications, TrueType font support in the GUI toolkit, packaging improvements, image fixes, and PinePhone updates.

### Source excerpt

This update is the eighteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the two months 12 pull requests were merged. Stage-1 apps re-design The applications for stage-1 were redesigned in #364. Though it is an understatement to imply that they only were redesigned. While, yes, this follows the design language of the redesigned website, some work was needed to achieve the result. First, support for truetype fonts needed to be added to the GUI toolkit. While it may seem like it's not required for this limited use case, in reality this not only allows using more fonts than the hardcoded ones, it allows scalable fonts. With these changes, text should be big and readable on all devices. Truetype fonts support also gives us the ability to fall back to other fonts. This initial implementation falls back to FontAwesome, giving us access to the full library of glyphs, rather than a selected subset. In addition to these user-facing changes, a lot of work was done to rework some parts of the implementation and packaging of these applications. This should reduce the burden on packaging new features or applications made with this toolkit. In another pull request, large images were fixed. This fixes corruption with images with higher resolution devices. Notable changes Device-specific changes Pinephone improvements A flurry of changes for the Pinephone, most authored by @tomfitzhenry. Succinctly, updates to the latest revisions for the different mainline components, and other fixes and feature enablement. Pinephone pull requests merged in July (7) Ports No new port were made in April. There is still a total of 21 devices you can build for.

## May and June 2021 round-up

DevFeed: [May and June 2021 round-up](<https://devfeed.tech/articles/may-and-june-2021-round-up-32473.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-07-06-may-june-2021-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-07-06T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [btrfs](<https://devfeed.tech/topics/btrfs.md>), [boot](<https://devfeed.tech/topics/boot.md>), [Arm](<https://devfeed.tech/topics/arm.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [btrfs](<https://devfeed.tech/tags/btrfs.md>), [crash](<https://devfeed.tech/tags/crash.md>), [devices](<https://devfeed.tech/tags/devices.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [series](<https://devfeed.tech/tags/series.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The May and June 2021 Mobile NixOS project update reports merged changes, ongoing Plasma Mobile and Nixpkgs work, recovery and boot menu improvements, a tracked reproducible crash, BTRFS support for custom images, camera enablement on Pinephone, and support for three additional devices.

### Source excerpt

This update is the seventeenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the two months 10 pull requests were merged. Not too different from last update, work has happened, but not present as merged pull requests in the Mobile NixOS repository. In addition, some time was spent by the main author working on a side-project, unrelated to Mobile NixOS, but related to NixOS on ARM. Fear not, work is not really expected to slow down. What's been done elsewhere Let's not forget the still in-progress Plasma Mobile work. The initial pull request now includes only Plasma Mobile itself, while a new pull request was opened for the Plasma Mobile applications (#125156). Doing so should make it easier to finish up and land the changes, as it's simply too big otherwise. Work upstream on Nixpkgs has been started to refresh the Anbox module (#125600). Preview of what's coming While a more in-depth write-up will come with the next update, pull request #364 refreshes the recovery and boot menu appearance. While working on this refresh, time was spent tracking down a rare, but reproducible crash. Notable changes Allow using specialArgs for use with Nix flakes (#354) [@Pacman99] When building custom images, BTRFS can be used for the filesystem (#256) [@lheckemann] Device-specific changes Pinephone improvements Enable camera (#355) [@zhaofengli] (See also Nixpkgs#121722) Ports Support for three new devices was merged in this period. Amazon Fire 7 (7th generation) (2017) [@samueldr] (#311) Motorola Moto G5 Plus [@telent] (#359) motorola moto g(8) [@samueldr] (#369) Bringing the total of devices to 21.

## March and April 2021 round-up

DevFeed: [March and April 2021 round-up](<https://devfeed.tech/articles/march-and-april-2021-round-up-32472.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-05-04-march-april-2021-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-05-04T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>), [Wayland](<https://devfeed.tech/topics/wayland.md>)

Tags: [mobile](<https://devfeed.tech/tags/mobile.md>), [updates](<https://devfeed.tech/tags/updates.md>), [wayland](<https://devfeed.tech/tags/wayland.md>)

### AI overview

This March-April 2021 Mobile NixOS project update reports 11 merged pull requests, progress toward Plasma Mobile and Phosh support in NixOS, and improvements for PinePhone and other devices. The period ended with support for 18 devices.

### Source excerpt

This update is the sixteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the two months 11 pull requests were merged. This sounds like there's not much that has been happening, but this is only half of the story. Plasma Mobile support in NixOS A good portion of my time has been spent working on adding support for Plasma Mobile in NixOS. The pull request needs some work still, as there are issues, mainly dealing with Wayland and Plasma integration with NixOS. With that said, a draft for a Mobile NixOS demo image using Plasma Mobile was also made. It relies on the NixOS changes. After all, Mobile NixOS is a superset composed on top of NixOS. I wouldn't recommend anyone to use it at the moment, but it's not a disaster. It's the final paper cuts, the final 10% that needs 90% of the work. It's close to being done, yet far from being over. Phosh support in NixOS Some community members, starting way back in May 2020, and even before, were working on their side on adding Phosh support in NixOS @zhaofengli ran the last mile in #121226, with the initial support for Phosh in NixOS. There is also an example configuration demo system for Phosh for Mobile NixOS. Since Phosh is already being built in Nixpkgs, you can take inspiration from that example configuration and start using it at this moment. I invite you to follow through to the different pull requests, and thank the involved individuals. Device-specific changes Pinephone improvements The kernel was updated (#321) Sound support was fixed (#337) Gadget mode was fixed (#340) Ports Support for one new device was merged in this period. Pine64 PineTab (pine64-pinetab) [@zhaofengli] (#331) Bringing the total of devices to 18.

## February 2021 round-up

DevFeed: [February 2021 round-up](<https://devfeed.tech/articles/february-2021-round-up-32471.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-03-02-february-2021-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-03-02T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Nix](<https://devfeed.tech/topics/nix.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Android](<https://devfeed.tech/topics/android.md>), [boot](<https://devfeed.tech/topics/boot.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [boot](<https://devfeed.tech/tags/boot.md>), [cross-compilation](<https://devfeed.tech/tags/cross-compilation.md>), [flashing](<https://devfeed.tech/tags/flashing.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [update](<https://devfeed.tech/tags/update.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

This fifteenth Mobile NixOS project update reports 18 merged pull requests and describes more hermetic evaluation without NIX_PATH, completed stage-0 boot features, restored armv7 support, and Android flashable ZIP support.

### Source excerpt

This update is the fifteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the month 18 pull requests were merged. Compared to the last month, they're more subtle changes. More hermetic evaluation This started off the work from @eamsden, where uses of <nixpkgs> were removed almost everywhere in #238. With the changes, the value <nixpkgs> is now used only at one location, at the start of the evaluation, in a way that can be overridden easily if needed. This means that evaluation now works fine without a NIX_PATH. This is useful to allow users of Nix flakes to use the project. Similar changes were made in #310 to rely on a single <nixpkgs> value for release.nix and example configuration evaluations. Finalize stage-0 When #262 was merged in December, it was done so with two main features missing. Time was taken to finish the boot features for stage-0 in #300. When a device supports stage-0 boot, a new toggle is shown in the generations list allowing the user to skip rebooting into the generation's kernel. When booting a generation, the device tree built from the same kernel source tree is now used. The pull request itself contains technical details. This was less trivial than expected. armv7 works again Using armv7 with Nixpkgs or NixOS is not always easy. There is no binary cache, and cross-compilation is as YMMV as it is for AArch64. This is the reason why armv7 Mobile NixOS devices haven't seen much work done and things slowly started not working. With #306 time was taken to ensure contributors with armv7 devices wouldn't be left with hard to debug issues from Mobile NixOS itself. With this work finally taken care of, there is a recent known good starting point to use for armv7 devices. A few recent WIP device ports were made on top of these changes. Stay tuned as they may become supported devices a

## January 2021 round-up

DevFeed: [January 2021 round-up](<https://devfeed.tech/articles/january-2021-round-up-32470.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-02-02-january-2021-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-02-02T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [USB](<https://devfeed.tech/topics/usb.md>), [Android](<https://devfeed.tech/topics/android.md>), [Shizuku](<https://devfeed.tech/topics/shizuku.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Linux](<https://devfeed.tech/topics/linux.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [render](<https://devfeed.tech/tags/render.md>), [usb](<https://devfeed.tech/tags/usb.md>), [user-interfaces](<https://devfeed.tech/tags/user-interfaces.md>)

### AI overview

The January 2021 Mobile NixOS round-up reports merged project changes, including USB gadget modes, target disk mode for selected devices, broader ADB support on Android-based devices, DRM rendering support during early boot, and a libinput input driver.

### Source excerpt

This update is the fourteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the month 18 pull requests were merged. Buckle-up, this month there's a lot to say. Go go all USB gadget modes A couple changes this month are related to USB gadget mode. This is the name of the feature allowing a device (your cellphone) to be used as a USB device on your computer. Target disk mode This is not a fresh feature, the implementation pull request was opened in March 2020. Once a device is booted with this example system, the device's internal storage is made available over USB, as if it was a USB mass storage device. The feature is limited to select devices, as it can be easily misused. The pine64-pinephone and asus-dumo devices are configured for this feature. It is limited as the block device to export has to be configured on a per-device basis. A further reason is the following: Warning Target disk mode should not be used to export the full drive of Android-based devices as it becomes trivial to brick a device. Some of their partitions should not be touched. This is because for most Android-based devices, part of their basic firmware needed for booting is found on the main block device. Erasing or modifying the wrong partition would be like erasing the BIOS from your computer. Broader ADB support Time was taken to understand why ADB didn't work on newer Android-based devices. It was initially suspected that the ADB daemon was incompatible with GadgetFS and FunctionFS. It was much more trivial. The FunctionFS feature of the kernel needed the daemon to be started at a specific moment during the configuration, rather than at any time after. With the fixes in #290 any device with GadgetFS can use ADB. This means inspecting newer Android-based devices is easier, as it will most likely work if the device boots with

## Mobile NixOS Project Progress During 2020

DevFeed: [Mobile NixOS Project Progress During 2020](<https://devfeed.tech/articles/2020-in-the-rear-view-mirror-32469.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-01-11-2020-in-the-rear-view-mirror.html>)

Author: Samuel Dionne-Riel

Published: 2021-01-11T00:00:00Z

Content type: article

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [modules](<https://devfeed.tech/topics/modules.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [continuous](<https://devfeed.tech/tags/continuous.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [modules](<https://devfeed.tech/tags/modules.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>)

### AI overview

A retrospective on Mobile NixOS progress during 2020, covering project activity, stage-1 improvements, continuous delivery builds, and expanded device support.

### Source excerpt

The year 2020 was my first full calendar year dedicated to working on the Mobile NixOS project. Let's look at the progress, from the state of the project before January 2020, up to the state after December 2020. Comparisons will start from the last commit of 2019, 7803d9ec0e35fe602f75d08e6bcb6db720ad897c. They are compared against the last commit for 2020, d5869523869eb029b712a3f2b7b1c3199874f221. You might also be interested in looking at all the merged pull requests for 2020. Some numbers They're quite arbitrary. I don't know what other relevant stats could be used here. 111 merged pull requests 805 commits (skipping merge commits) 10 commit authors (filtering duplicates) Devices: 10 -> 16 Modules: 39 -> 56 (Nix files in modules/) And here's what cloc reveals: [nix-shell:~/.../mobile-nixos/2019]$ cloc . 274 text files. 263 unique files. 36 files ignored. -------------------------------------------------------------------------------- Language files blank comment code -------------------------------------------------------------------------------- diff 55 741 2623 16308 Nix 108 719 772 4311 SVG 7 4 4 2950 LESS 24 263 333 1257 Ruby 16 147 85 706 AsciiDoc 7 130 3 243 XML 5 19 12 160 ERB 8 4 0 89 Markdown 4 43 0 85 Lua 1 15 41 58 Bourne Again Shell 2 9 10 21 C/C++ Header 1 13 35 21 C 1 1 0 17 -------------------------------------------------------------------------------- SUM: 239 2108 3918 26226 -------------------------------------------------------------------------------- [nix-shell:~/.../mobile-nixos/2020]$ cloc . 482 text files. 463 unique files. 54 files ignored. -------------------------------------------------------------------------------- Language files blank comment code -------------------------------------------------------------------------------- diff 89 1429 5081 22047 Nix 170 1266 1149 7576 Ruby 76 690 575 4132 SVG 10 4 4 3538 LESS 25 291 334 1413 JSON 6 0 0 959 AsciiDoc 25 396 3 844 XML 5 19 12 160 Markdown 8 88 0 159 ERB 10 23 0 130 Lua 1 15 41 58 YA

## December 2020 round-up

DevFeed: [December 2020 round-up](<https://devfeed.tech/articles/december-2020-round-up-32468.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2021-01-05-december-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2021-01-05T00:00:00Z

Content type: article

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [boot](<https://devfeed.tech/topics/boot.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [UEFI](<https://devfeed.tech/topics/uefi.md>), [x86](<https://devfeed.tech/topics/x86.md>), [qemu](<https://devfeed.tech/topics/qemu.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>), [touchscreen](<https://devfeed.tech/topics/touchscreen.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [boot](<https://devfeed.tech/tags/boot.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [qemu](<https://devfeed.tech/tags/qemu.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>), [touchscreen](<https://devfeed.tech/tags/touchscreen.md>), [uefi](<https://devfeed.tech/tags/uefi.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

This December 2020 Mobile NixOS project update covers a stage-0 boot scheme that can boot a generation's kernel and stage-1 image, with support verified on the Pinephone and available for UEFI x86_64 devices. It also reports Pinephone Crust firmware support, introduces a generic UEFI x86_64 build, and removes qemu-x86_64 in favor of a more generic device.

### Source excerpt

This update is the thirteenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the month 12 pull requests were merged. Some interesting improvements landed, let's dive in. stage-0: boot in generation kernel+initrd One of the biggest flaw with the approach Mobile NixOS takes with the boot flow is that it completely ignores the system generation's kernel and stage-1 image. In turn, this reduces some of the benefits from NixOS, by reducing the coherency of the running system; the kernel and stage-1 are managed out of band. With the changes from #262, devices can opt-in to a stage-0 scheme. A stage-0 image is the same as a stage-1 image, except that it will use kexec to boot into the generation's kernel and stage-1 image. Devices, and their kernels, need to support kexec. This is not a given for vendor kernels. At the time being, none of the Android-based devices (all using the vendor kernels) can use this feature. On the bright side, the Pinephone has been verified to work well. Additionally, UEFI x86_64 based devices, too, can use the stage-0 scheme. Device-specific changes pine64-pinephone: Crust firmware support With the addition of the or1k toolchain to Nixpkgs, @noneucat was able to finish the pull request adding Crust support to the Pinephone. Details about Crust can be found on their project page. To use U-Boot with Crust, you will need to build it, then install it manually on your boot media. (A helper to upgrade the firmware is planned for the future.) Not related to Crust, the usual kernel upgrade for the Pinephone has been made. Introduction of uefi-x86_64 The introduction of the Generic UEFI build (x86_64) "device" may seem odd. It is meant to be used on a standard computer. But a standard computer is not a mobile device. Really, this is a dogfooding measure. With this change, it is now possib

## November 2020 round-up

DevFeed: [November 2020 round-up](<https://devfeed.tech/articles/november-2020-round-up-32467.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-12-01-november-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-12-01T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [feature](<https://devfeed.tech/tags/feature.md>), [filesystems](<https://devfeed.tech/tags/filesystems.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>)

### AI overview

The November 2020 Mobile NixOS project roundup describes merged improvements to the stage-1 boot process, including boot progress reporting, clearer and interactive error handling, reboot and power-off controls, and support for decrypting LUKS-encrypted root filesystems. The on-screen and physical keyboard interface is limited to the US QWERTY layout.

### Source excerpt

This update is the twelfth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the month 13 pull requests were merged. Some major improvements landed, let's take a peek. Progress in stage-1 The boot splash utility now shows the progress of the boot. This is done with a simple progress bar shows how much of the tasks have been handled. Long-running tasks can provide a message to show so the user knows things aren't necessarily hung. Speaking of hung tasks. Our init now detects when no tasks resolved in a given amount of time. When this happens, the boot is being failed with, hopefully enough context in the error message to help the user. Speaking of error messages. Error messages are now less of a dead-end for our users. The interface has been reviewed to put the text message front and center. Previously we were showing a big image because we didn't even have text rendering at this state. Now that we do, let's use it. In addition to that, the error applet is now somewhat interactive. There is now a cancellable countdown; when the time is elapsed the kernel is crashed, which allows the platform to do its default action (generally reboot). When canceled, the user can select different options, either through the touch screen, using a mouse, a keyboard or using volume-keys navigation. The user can select to power off their device, which default action (so mashing the power key will power off the device). Depending on whether the platform supports it, the usual different reboot options are given. Encrypted root filesystem support Thought we were done with stage-1 updates? No! What if it was now able to decrypt LUKS encrypted filesystems? Well it can! For now, this is mainly the plumbing to make it all work. Getting a LUKS encrypted filesystem on your device is left as an exercise to the reader. Our stage-1 can

## October 2020 round-up

DevFeed: [October 2020 round-up](<https://devfeed.tech/articles/october-2020-round-up-32466.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-11-03-october-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-11-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Kernel](<https://devfeed.tech/topics/kernel.md>), [kernel-builder](<https://devfeed.tech/topics/kernel-builder.md>), [make](<https://devfeed.tech/topics/make.md>), [systemd](<https://devfeed.tech/topics/systemd.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [devices](<https://devfeed.tech/tags/devices.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [kernel-builder](<https://devfeed.tech/tags/kernel-builder.md>), [make](<https://devfeed.tech/tags/make.md>), [systemd](<https://devfeed.tech/tags/systemd.md>)

### AI overview

The October 2020 Mobile NixOS project update covers merged changes including redesigned kernel-builder ergonomics, compiling kernels once for some devices, and improved PinePhone modem integration through a systemd service. LTE data support was verified, while calls and SMS remained planned for later testing.

### Source excerpt

This update is the eleventh in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes During the month 14 pull requests were merged. Some interesting changes were made during the month, let's look at some of them. Re-done kernel builder ergonomics The goal of this change is to make the kernel derivations as lean as possible, relying on the builder, rather than relying on copy-pasting common patterns around. This is a change that was needed since the project was started. Though, it could not have happened much earlier than this late in the project. This is because multiple different quirky kernels needed to exist to properly show what needed to be abstracted. With this, all common patterns for quirks have been identified and put behind flags. Those flags are described in Notes about the kernel builder. End-users shouldn't see any difference, this will help people who make ports. Compile kernels only once While testing the previous change, it was observed by @danielfullmer that kernel compilation happened twice for some devices. This was not a regression. Though looking at things trying to find problems you are bound to see the existing flaws! This was worked around by doing everything in one make invocation. The end-result is that some kernel builds will finish twice as quickly! Pinephone Modem support improvements Simply put, the modem has been verified to work with LTE data. With that said, there's more to it. End-users shouldn't have to care about a deeply-rooted /sys fs path to turn the modem off or on. This is why the modem-control service has been added. It mirrors the modem's state using bindsTo and wantedBy. With this service, the modem is better integrated with systemd, but more importantly the user can stop and start it using systemctl, rather than to dig for a particular less user-friendly path. Calls and SM

## August and September 2020 round-up

DevFeed: [August and September 2020 round-up](<https://devfeed.tech/articles/august-and-september-2020-round-up-32465.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-10-06-august-september-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-10-06T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>)

Tags: [kernel-builder](<https://devfeed.tech/tags/kernel-builder.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [series](<https://devfeed.tech/tags/series.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

This tenth Mobile NixOS project update covers merged changes from August and September 2020, including forced kernel configuration normalization, the experimental Autoporter tooling for device porting, and one completed port.

### Source excerpt

This update is the tenth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes As with the last update, a big part of the 10 pull requests merged were bug fixes or minor changes. Here's a quick look at some of the nicer things achieved. Forced kernel configuration normalization The kernel-builder infrastructure now forces the configuration file used in its build to be normalized. What is normalization? Simply put, it's about updating the kernel configuration file so all of the options represent the values set in the current kernel build. This is a somewhat breaking change, as it forces kernel configurations to be kept up to date even if no changes were made by the maintainer. Though this makes the final build somewhat more declarative, as options removed and new options will be reflected in the kernel configuration in the repository. Autoporter The new Mobile NixOS Autoporter project is an experimental tooling intended to expedite the first step in porting to a new device. In a few words, it finds as many facts about a given device as it can. The current implementation uses pre-expanded factory images from OEM, but plans are in the work to work from files the user provide instead or in addition of. This enables the porter-developer to start from known true values for the device, rather than needing them to find out those values. The more valuable ones are the subtle ones, like the USB gadget modes, or system as root. It does not provide a complete skeleton yet. Mainly for now it's missing the kernel derivation. Though we might be able to provide likely source locations depending on some factors. All of this is not theoretical. We already have one port done through following this process! Look at the pull request #205 where the commits also tries to show the work that was needed to go from the skeleton files to a w

## Mobile NixOS July 2020 Roundup Covers Device Ports, External Definitions, and Boot GUI Updates

DevFeed: [Mobile NixOS July 2020 Roundup Covers Device Ports, External Definitions, and Boot GUI Updates](<https://devfeed.tech/articles/july-2020-round-up-32464.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-08-04-july-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-08-04T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Android](<https://devfeed.tech/topics/android.md>), [TWRP (software)](<https://devfeed.tech/topics/twrp.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [SOC](<https://devfeed.tech/topics/soc.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [asus](<https://devfeed.tech/tags/asus.md>), [boot-process](<https://devfeed.tech/tags/boot-process.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [development](<https://devfeed.tech/tags/development.md>), [display](<https://devfeed.tech/tags/display.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [power](<https://devfeed.tech/tags/power.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>), [soc](<https://devfeed.tech/tags/soc.md>), [touchscreen](<https://devfeed.tech/tags/touchscreen.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>), [volume](<https://devfeed.tech/tags/volume.md>)

### AI overview

This Mobile NixOS project update covers merged bug fixes and minor changes, an Asus Zenfone Max Plus (M1) port, external device definitions, and updates to the boot GUI. The GUI changes add independent mouse and touchscreen support, keyboard-driven input, and navigation with volume keys and the power button.

### Source excerpt

This update is the ninth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes As with last month, a big part of the 10 pull requests merged were bug fixes or minor changes. Though some valuable work was also finished. Asus Zenfone Max Plus (M1) The port for asus-x018d is mainly notable for being the only alternative system to the OEM-provided Android system, with the exception to a TWRP that is using the OEM-built kernel. This means that, for the first time, Mobile NixOS this is the only alternative system for a device, including other Android-based systems. Finishing with a last note, this device has an older Mediatek SoC, compared to the other ported Mediatek device. There is not much to say, except that it was found that older Mediatek devices may exhibit a similar quirk to Qualcomm devices, where the framebuffer has to be refreshed explicitly for the display to be updated. External device definitions I hesitate to openly discuss about this pull request, as it might make contributors think they should not contribute their devices back. #162 adds a mechanism to maintain and build external device definitions. These external definitions should only be used for devices that are not welcome to the main project. The main reason a device would not be welcome is if it is not a "Mobile device". An example of such a device is the Pinebook Pro, which is a laptop. Another example would be porting to SBCs like a Raspberry Pi. Updates for the boot GUI This change, #189, is where most if this month's development time was spent. The toolkit used for the boot GUI has been forked and adapted to serve the goal of providing a GUI for mobile devices better. As part of the changes, some minor UX (User eXperience) changes have been made, but more importantly, major changes like properly supporting mouse and touch screens in an indep

## Mobile NixOS June 2020 Project Update

DevFeed: [Mobile NixOS June 2020 Project Update](<https://devfeed.tech/articles/june-2020-round-up-32463.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-07-07-june-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-07-07T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Development](<https://devfeed.tech/topics/development.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>)

Tags: [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [development](<https://devfeed.tech/tags/development.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>)

### AI overview

This Mobile NixOS project update covers merged changes from June 2020, including Bluetooth support for the PinePhone and a new Xiaomi Redmi Note 8 Pro port. It also reports that the project reached 12 supported devices.

### Source excerpt

This update is the eighth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes Most of the 9 pull requests merged were trivial or minor changes. Though there's still some notable changes. Pinephone bluetooth support It turns out all it needed was a trivial fix. Giving it the firmware it wanted adds proper support for bluetooth on the Pinephone. If you are using the examples/demo rootfs, its configuration does not currently configure the system for audio with bluetooth. The instructions to configure audio for bluetooth are the same as usual, as Mobile NixOS is composed on top of NixOS. Redmi Note 8 Pro The port for xiaomi-begonia is mainly notable for being the first port for a Mediatek SoC. I am singling out this port as a proof that the breadth-first development style is working well. Since Mobile NixOS had many abstractions needed for the existing different platforms, this new platform, and device, was ported without a sweat. This also paves the way for other Mediatek ports by providing a working example. Coupled with #175, another, older, Mediatek device (merged in early July), there is enough material to give clues for future ports by community members. New ports One new device was merged this month. Xiaomi Redmi Note 8 Pro (xiaomi-begonia) [@samueldr] (#171) Bringing the total of devices to 12.

## Mobile NixOS May 2020 Roundup: Documentation, Architecture Cleanup, and a New Example System

DevFeed: [Mobile NixOS May 2020 Roundup: Documentation, Architecture Cleanup, and a New Example System](<https://devfeed.tech/articles/may-2020-round-up-32462.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-06-02-may-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-06-02T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Code](<https://devfeed.tech/topics/code.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [systems](<https://devfeed.tech/topics/systems.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [touchscreen](<https://devfeed.tech/topics/touchscreen.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [cleanup](<https://devfeed.tech/tags/cleanup.md>), [display](<https://devfeed.tech/tags/display.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [interface](<https://devfeed.tech/tags/interface.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [series](<https://devfeed.tech/tags/series.md>), [touchscreen](<https://devfeed.tech/tags/touchscreen.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The May 2020 Mobile NixOS update covers merged documentation and architecture changes, including replacing the device.info option with discrete, well-defined options. It also introduces an examples/hello system that can be cross-compiled and helps users test ports, including touchscreen and display support.

### Source excerpt

This update is the seventh in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes 11 PRs were merged during the month. Changes are mostly cleanup and documentation related. Documentation changes The biggest change is the addition of an overview of the terms used to define a device (#148). This documentation section should help better understand how devices are composed. The README (#138) as shown on GitHub has been reviewed to better guide users and contributors around the ecosystem, borrowing the organization of the main Nixpkgs README. Though the main reason for this change is that the README started to diverge with the documentation. Removing all examples and referring to the actual documentation files reduces the burden of maintaining multiple documentation fragments. Code and architecture cleanup Through some of the pull requests, a bunch of either dead, or ossified code was found and removed. The main user-facing change is the removal of device.info. The device.info option was a mixed bag of misshapen, undefined options that were at the foundation of all device definitions. The replacement are discrete well-defined options that are defined in understandable categories. Systems define options that they use, making it easier to understand why an option is defined. The main consequence of that change is that the current work-in-progress ports will need to be reviewed to use the new options. As part of #155, additional cleanup was made in the first few commits. New examples/hello system While technically a new feature, the new examples/hello system (#155) is more of a first-user-experience "bugfix" than a useful new feature. This introduces a new example system that can be cross-compiled entirely, and shows an interface to the end-user. This helps fix the biggest complaint about the project: the default build loo

## April 2020 round-up

DevFeed: [April 2020 round-up](<https://devfeed.tech/articles/april-2020-round-up-32461.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-05-06-april-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-05-06T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [Wi-Fi](<https://devfeed.tech/topics/wi-fi.md>), [Qualcomm](<https://devfeed.tech/topics/qualcomm.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [qualcomm](<https://devfeed.tech/tags/qualcomm.md>), [series](<https://devfeed.tech/tags/series.md>), [updates](<https://devfeed.tech/tags/updates.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>)

### AI overview

The April 2020 Mobile NixOS project update reports 11 merged pull requests, including device-specific documentation, a supported way to include device configuration, WCNSS WLAN support for one Qualcomm-based device, an initrd configuration change, LED control during boot, and Linux kernel cleanup patches.

### Source excerpt

This update is the sixth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes 11 PRs were merged during the month. Not an exciting month with fun and visible progress, but let's point out interesting changes Device specific website pages The Devices List section is now formatted as a table, and links to one page per device. This page can contain device-specific notes, and generally contains generic instructions depending on the device type. The side-bar uses generated content, but the page will use the README.adoc file when found in the device directory. All of this is part of PR #120. Supported way to include from system configuration In PR #123 a supported way to include a device configuration to the system configuration was added. The Getting Started page explains the details. This is useful when combined with the next higlighted changes. The device specific configuration doesn't have to be handled by the end-user, the Mobile NixOS configuration handles it. WCNSS WLAN quirk PR #126 adds support for WCNSS WLAN in Mobile NixOS, while enabling it for the only device that supports it. This is the simplest Wi-Fi setup for Qualcomm-based hardware. Sadly, for other devices it's much more involved. Though, this does mean that we now have Wi-Fi support for one more device! Bonus change: Buried in that same PR, we now use boot.initrd.enable = false rather than using isContainer. This fixes a couple of weird and annoying issues with the running system. Device-specific polishing PR #126 PR #128 These start implementing some polishing, in what I hope becomes the gold standard for device ports. First, we configure the LEDs so the Linux kernel controls it during boot (z00t, oneplus3). This provides a tangible proof to the end-user that the kernel is currently in control and running. Then, for asus-z00t, some kernel cleanup p

## March 2020 round-up

DevFeed: [March 2020 round-up](<https://devfeed.tech/articles/march-2020-round-up-32460.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-04-07-march-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-04-07T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [boot](<https://devfeed.tech/topics/boot.md>), [Cross-Compilation](<https://devfeed.tech/topics/cross-compilation.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [Wi-Fi](<https://devfeed.tech/topics/wi-fi.md>)

Tags: [boot](<https://devfeed.tech/tags/boot.md>), [cross-compilation](<https://devfeed.tech/tags/cross-compilation.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [update](<https://devfeed.tech/tags/update.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>)

### AI overview

This March 2020 Mobile NixOS project update reports 17 merged pull requests, including PinePhone support through a new U-Boot system type. It also covers universal stage-2 images, Hydra-based continuous builds, pre-built rootfs images, and progress toward cross-compilation.

### Source excerpt

This update is the fifth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes 17 PRs were merged during the month. (The link says 18, but one of them was, to me, late in February, read the previous news item). Let's look at some of these. Pine64 Pinephone "Braveheart" This was teased about on the author's twitter account. The inexpensive Pinephone is the latest new device added to Mobile NixOS. This brings a bit more than only a new device. This is the fourth system type added to Mobile NixOS. The added system type (U-Boot) in theory will give us the ability to support any U-Boot-based system in a common way. In practice the still unmerged and WIP #94 shows how this is true by using U-Boot with another Pine64 device, the Pinebook Pro. A nice thing that was verified again with this new device port is that the stage-2 image (the rootfs, the system.img) is indeed universal. It is using the same AArch64 build of the system image as Android-based devices, and Depthcharge-based devices. Our build for the Pinephone relies on the downstream kernel from the Pine64 community, with only one added patch. The same is done for the U-Boot build. The added patches are user-experience-focused patches that are using the RGB LED of the phone to show the boot status. Other than that, the hardware support is not complete, but it is supported at the same level as other devices, plus Wi-Fi working. See PR #96 for all the details. Hydra builds This is not entirely an in-repository change. There's #97 and #133 that are relevant to this. The mobile-nixos:unstable jobset on Hydra is the other part of the puzzle. What this gives us is automatic continuous builds of Mobile NixOS against the nixos-unstable NixOS channel. From this, we can track changes that break the Mobile NixOS builds, and track internal breakage to some parts of Mobile Nix

## Mobile NixOS February 2020 round-up: graphical boot selection and project updates

DevFeed: [Mobile NixOS February 2020 round-up: graphical boot selection and project updates](<https://devfeed.tech/articles/february-2020-round-up-32459.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-03-03-february-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-03-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [GUI](<https://devfeed.tech/topics/gui.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Library](<https://devfeed.tech/topics/library.md>), [mruby](<https://devfeed.tech/topics/mruby.md>), [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [Simple DirectMedia Layer](<https://devfeed.tech/topics/sdl.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [gui](<https://devfeed.tech/tags/gui.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [news](<https://devfeed.tech/tags/news.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [sdl](<https://devfeed.tech/tags/sdl.md>), [simulator](<https://devfeed.tech/tags/simulator.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The February 2020 Mobile NixOS update reports three merged pull requests and four new projects in the organization. It highlights a working graphical boot selection for Mobile NixOS platforms, built with LittlevGL and mruby bindings, while noting that it is not yet a feature-complete generic bootloader replacement.

### Source excerpt

This update is the fourth in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes 3 PRs were merged during the month. This is not cheating, the last merged PR was merged late on the 29th. This is not development slowing down. Far from it. Four new projects were added to the Mobile NixOS GitHub organization related to this month's work. Keep on reading. Graphical boot selection Hot on the heels of the re-written init, and as teased, a working graphical boot selection is now available for Mobile NixOS platforms. There is more than meets the eye in pull request #80. To make this possible, a GUI toolkit of relatively small weight has to be found. After some research, it was found in the LittlevGL library. While it is geared more towards actual embedded development, it does have a Linux framebuffer backend, support for evdev input. This is all standard stuff that is well supported on all targets. What is really nice with that library is it also supports a "simulator" target, which is basically an SDL window. With that said, I personally don't want to write C, especially in complex use cases. I already worked on mruby integration for the Mobile NixOS stage-1. It was only natural to write mruby bindings for LittleVGL. With all the exposition done. What does this look like? The header image of this news post is composed of four devices running the GUI. An actual screenshot of the GUI follows, for better clarity. This is not a feature complete generic replacement for a bootloader. Though, it can become one when kexec support is added in the future. Additionally, as touched upon in the pull request, these bindings will allow us to improve the graphical boot process. In a future improvement we'll be able to add information about the current running step, and better failure state reporting. Ports No new port were made in Februa

## Mobile NixOS January 2020 Round-Up: New Stage-1 Init and Planned Early-Boot UI

DevFeed: [Mobile NixOS January 2020 Round-Up: New Stage-1 Init and Planned Early-Boot UI](<https://devfeed.tech/articles/january-2020-round-up-32458.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-02-04-january-2020-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-02-04T00:00:00Z

Content type: article

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Boot Process](<https://devfeed.tech/topics/boot-process.md>), [USB](<https://devfeed.tech/topics/usb.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [boot-process](<https://devfeed.tech/tags/boot-process.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [logs](<https://devfeed.tech/tags/logs.md>), [recovery](<https://devfeed.tech/tags/recovery.md>), [saving](<https://devfeed.tech/tags/saving.md>), [ui](<https://devfeed.tech/tags/ui.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

The January 2020 Mobile NixOS update describes a redesigned stage-1 init with USB gadget handling, USB networking, firmware loading, log multiplexing and saving, reboot and poweroff support, and handling for configured special file systems. Its dependency-based design reduced reliance on sleep and wait times and made boot steps quicker. Work was also in progress on a graphical early-boot interface for recovery, generation selection, and eventually entering a passphrase for an encrypted system.

### Source excerpt

This update is the third in a series of regular updates on the state of the project. Usually, only changes that have been accepted and merged in Mobile NixOS in the given month are chronicled here. There's always more work currently in-progress. Notable changes Only 1 PR was merged during the month. Though, keep on reading, as one of the biggest PR, started in mid-December, was the main focus of the month. New Stage-1 init This is quite the misnomer, while true, that the PR mainly introduced a completely re-done init, it brought much more. "New-style" USB gadget (gadgetfs) handling. USB Networking for newer devices. Vendor partition firmware loading. Logs multiplexing and saving in stage-1. Proper reboot and poweroff in stage-1. Actual handling of NixOS-configured specialFileSystems. This new init is built using a dependencies-based system, reducing the complexities from the inflexible "big script" approach of the previous init. With this new approach, we can simply dump all of the things we need to happen in the init, tell them how they're linked, and boot. The current implementation is naïve, but even with a naïve approach, the benefits are apparent. First, the developer does not need to care about the ordering of things, only describing what has to be, and what to do. Then, the relatively surprising part: this made things a bit quicker to boot. This reduced reliance on sleep and wait times during the boot to provide assurance that things were ready, meaning that steps happen much quicker in succession. To the annoyance of the author, this means that the well-choreographed boot images whizz by too quickly, reducing their meaningfulness. In the end, this is a hidden change, that serves mainly to ensure a rock-solid foundation for what's coming soon. See the PR for more details. Upcoming changes Speaking of coming soon, As previewed in a tweet, work is in progress to provide a graphical interface that can be used in early boot. This can be used to make a "recovery"

## December 2019 round-up

DevFeed: [December 2019 round-up](<https://devfeed.tech/articles/december-2019-round-up-32457.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2020-01-08-december-2019-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2020-01-08T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [qemu](<https://devfeed.tech/topics/qemu.md>), [xfce](<https://devfeed.tech/topics/xfce.md>), [adb](<https://devfeed.tech/topics/adb.md>), [boot](<https://devfeed.tech/topics/boot.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [color](<https://devfeed.tech/topics/color.md>), [x86](<https://devfeed.tech/topics/x86.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [boot](<https://devfeed.tech/tags/boot.md>), [color](<https://devfeed.tech/tags/color.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [qemu](<https://devfeed.tech/tags/qemu.md>), [x86-64](<https://devfeed.tech/tags/x86-64.md>), [xfce](<https://devfeed.tech/tags/xfce.md>)

### AI overview

This December 2019 Mobile NixOS project update summarizes merged changes, including a more touch-accessible example system, QEMU fixes with portrait-mode VGA BIOS support, stage-1 boot and failure-state improvements, adb fixes, Google Pixel 2 framebuffer fixes, and support for the Xiaomi Redmi Note 7.

### Source excerpt

This update is the second in a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes Among the changes, and the 10 PRs merged, these changes are highlighted. Make the demo more useful on a touch device These are changes to the "example" system. This is a finalized version of the demo system that was running on the devices during NixCon 2019. The main difference is that this is not a raw XFCE desktop, but a pre-configured system that is more accessible on touch devices. The onboard on-screen keyboard is configured to be of a useful height. Additionally, XFWM has been replaced with Awesome WM configured to maximize all windows. This is still not an appropriate mobile environment, only a collection of configuration that makes it work well enough to test things up. Read more in pull request #63. Enhance QEMU Device The x86_64 based QEMU VM has seen fixes to, first, make it actually work right. What's more interesting in this PR is the patched VGA BIOS that rotates the expected resolutions (720p, 1080p) on their side in portrait mode. This is especially helpful when working on purely software things like improving the example system. These changes are part of pull request #59. Different stage-1 fixes The root filesystem is configured to expand to the size of its backing partition during boot. Part of pull request #61. Critical failure states are graphically reported. As documented, a full-screen color-coded "sad phone" gives a general idea of the error encountered. Part of pull request #58. Other notable changes #41 fixing adb for stage-2. #67 which fixes spurious framebuffer failures on Google Pixel 2. Ports One new device has been merged during December. Xiaomi Redmi Note 7 (xiaomi-lavender) [@samueldr] (#28) Bringing the total of devices to 10.

## November 2019 round-up

DevFeed: [November 2019 round-up](<https://devfeed.tech/articles/november-2019-round-up-32456.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2019-12-03-november-2019-round-up.html>)

Author: Samuel Dionne-Riel

Published: 2019-12-03T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [console](<https://devfeed.tech/topics/console.md>), [modules](<https://devfeed.tech/topics/modules.md>)

Tags: [mobile](<https://devfeed.tech/tags/mobile.md>), [modules](<https://devfeed.tech/tags/modules.md>), [news](<https://devfeed.tech/tags/news.md>), [tooling](<https://devfeed.tech/tags/tooling.md>), [updates](<https://devfeed.tech/tags/updates.md>)

### AI overview

A November 2019 Mobile NixOS project roundup describes merged changes, including fbterm modules that provide a read-only userspace console view when enabled. It also explains how the documentation and website are generated using the same tooling and lists three newly merged device ports: Google Pixel XL, Google Pixel 2, and Xiaomi A1.

### Source excerpt

This update is the first of a series of regular updates on the state of the project. Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There's always more work currently in-progress. Notable changes Among the changes, and the 10 PRs merged, these changes are highlighted. initrd: add fbterm modules When the new mobile.boot.stage-1.fbterm options are enabled, a userspace implementation of a console is started, attached to the output of tty1. As of right now, this is a read-only view of the console. This is still extremely useful on targets where the kernel-based virtual consoles will not work. As long as the framebuffer is setup, you can use the console to observe what is going on. Added in pull request #46 by @lheckemann Documentation and website framework This was briefly highlighted in the last news item, though let's describe how the documentation and website generation ticks. The generated documentation in the repository is always built using the same exact tooling as the website. In fact, the website is only adding files to the documentation directory to build itself. This gives us the advantage of the documentation being trivial to build locally. ~/.../mobile-nixos $ nix-build ./doc/ these derivations will be built: /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-mobile-nixos-docs.drv [...] /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-mobile-nixos-docs ~/.../mobile-nixos $ ls -l result/index.html -r--r--r-- 4 root root 1541 Dec 31 1969 result/index.html ~/.../mobile-nixos/mobile-nixos-website $ xdg-open result/index.html [...] The documentation, minus the news items, will open in your web browser, and work just like this website. The styles, the site map, everything is generated 1:1 compared to the website. The mobile-nixos-website repository holds the machinery that updates the site, in addition to the news items. This is where content specific for the website is written. You may also want to subscribe to the new RSS feed. New por

## NixCon Wrap-Up and Website

DevFeed: [NixCon Wrap-Up and Website](<https://devfeed.tech/articles/nixcon-wrap-up-and-website-32455.md>)

Original publisher: [Read original article](<https://mobile.nixos.org/news/2019-11-15-nixcon-wrap-up.html>)

Author: Samuel Dionne-Riel

Published: 2019-11-15T00:00:00Z

Content type: news

Language: en

Sources: [Mobile NixOS news](<https://devfeed.tech/sources/mobile-nixos-news.md>)

Topics: [Mobile](<https://devfeed.tech/topics/mobile.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Website](<https://devfeed.tech/topics/website.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [contributors](<https://devfeed.tech/tags/contributors.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [website](<https://devfeed.tech/tags/website.md>)

### AI overview

A wrap-up of Mobile NixOS activities at NixCon 2019, including a recorded talk, a new website that integrates documentation, Hackday contributions, and documentation gaps in the porting process.

### Source excerpt

This past October, on the 25th, a talk about Mobile NixOS was held at NixCon 2019, in Brno, Czechia. The talk was recorded and is on the NixCon YouTube page. Bringing us to the next point: this new and shiny website. This is was described as the next step for the project. This website is built by blurring the difference between the documentation of the project and the website. This means that, hopefully, neither the website or the documentation will lag behind in relevance. Additionally, building the site and contributing should be as simple as contributing to the documentation. Hopefully simple enough. Last, but not least, a few notes about the Hackday at the 2019 NixCon. I was left with approximately no time to work on things myself, but instead was found surrounded by bright individuals contributing neat stuff to the project. Those pull requests are a good sample of what was done, though early work on the OnePlus 5 was not advanced enough to be contributed back. Wrapping this all nicely, I found that the main issue contributors around me had was the lack of documentation about the porting process. I knew it was an issue, hopefully this new website and progressing documentation helps.