# Moving to Tow-Boot: Towards Device-Independant Images

DevFeed: [Moving to Tow-Boot: Towards Device-Independant Images](<https://devfeed.tech/articles/moving-to-tow-boot-towards-device-independant-images-34226.md>)

Original publisher: [Read original article](<https://blog.mobian.org/posts/2022/03/30/universal-images/>)

Author: Mobian team

Published: 2022-03-30T00:00:00Z

Content type: release

Language: en

Sources: [Mobian's Blog](<https://devfeed.tech/sources/mobian-s-blog.md>)

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

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [boot](<https://devfeed.tech/tags/boot.md>), [bootloader](<https://devfeed.tech/tags/bootloader.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [devices](<https://devfeed.tech/tags/devices.md>), [firmware](<https://devfeed.tech/tags/firmware.md>), [install](<https://devfeed.tech/tags/install.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [partitions](<https://devfeed.tech/tags/partitions.md>), [storage](<https://devfeed.tech/tags/storage.md>), [update](<https://devfeed.tech/tags/update.md>)

## AI overview

Mobian explains its move toward device-independent images by requiring PinePhone and PinePhone Pro users to install Tow-Boot before flashing Mobian images. The change stops Mobian from embedding device-specific bootloader copies; existing installations should continue booting, while distribution-installed u-boot is deprecated.

## Source excerpt

Mobian (and most of the Arm Linux ecosystem) have been dealing with device-specific boot sequences since our inception. However, recent changes have made it possible to standardise these. This blog post will discuss how these changes affect Mobian and the long term goal of creating a universal image for Mobian devices. Every problem has a solution Each ARM-based SoC implements its own boot sequence, looking for a bootloader at different locations on different storage devices. For example, the OG PinePhone's Allwinner A64 looks for it at an 8KiB offset, first on the SD card, then on the eMMC. The PinePhone Pro's RK3399 expects it to be either on a SPI flash device, or at offset 32KiB on the eMMC or the SD card. Until now, we dealt with those differences by generating per-device images, each one embedding a copy of the bootloader (u-boot in our case) at the exact offset expected by the SoC. However, this isn't very practical, as it prevents us from generating device-independent images, and it can have annoying side effects: in some cases, the bootloader can remain untouched on an SD card even after reformatting. Fortunately, there is way to work around this problem: by letting users install the bootloader themselves, either on the SPI flash (for devices including one) or the eMMC's boot partitions (which are left untouched when flashing new images to the device), we can stop embedding our own copy of the bootloader. Following the trend across the Mobile Linux community, we therefore settled for Tow-Boot as the recommended bootloader and will now require PinePhone (OG and Pro versions) users to install it before flashing a Mobian image to their devices. Existing Installs The most important part of this change is that it will not break existing installs. Distribution-installed u-boot is however deprecated and will not receive updates. If you do nothing but update, you will see the u-boot-sunxi (PinePhone) or u-boot-rockchip (PinePhone Pro) package removed. Removing it w