postmarketOS (сокращенно pmOS ) — операционная система , предназначенная в первую очередь для смартфонов , основанная на дистрибутиве Alpine Linux . [2] [3] [4] [5]
postmarketOS был запущен 26 мая 2017 года [3] [6] с исходным кодом , доступным на GitHub, до миграции на GitLab в 2018 году. [7] Он способен запускать различные пользовательские интерфейсы на основе X и Wayland , такие как Plasma Mobile , [8] [9] MATE , GNOME 3 и XFCE ; [10] более поздние обновления добавили поддержку Unity8 и Phosh . [11] Он также способен запускать Docker , если в ядре устройства включены cgroups и соответствующие конфигурации. [12] Цель проекта — обеспечить десятилетний жизненный цикл для смартфонов. [13]
В отличие от многих других проектов, портирующих обычные дистрибутивы Linux на телефоны Android , postmarketOS не использует систему сборки Android или пользовательское пространство . [14] Каждый телефон имеет только один уникальный пакет, а образы установки для прошивки генерируются с помощью pmbootstrap
инструмента. [3] Проект намерен поддерживать основное ядро Linux на всех телефонах в будущем вместо часто устаревшего специфического для Android форка , чтобы уменьшить потенциальные уязвимости безопасности . [3] Несколько устройств уже могут загружаться в основное ядро. [15] [16] Проект направлен на поддержку приложений Android, изначально с использованием Anbox , который был заменен на Waydroid с версии postmarketOS v21.12. [17] [18]
Alpine Linux был выбран в качестве базового дистрибутива из-за его низких требований к хранилищу, что делает его более подходящим для старых устройств. За исключением ядра, базовая установка занимает около 6 МБ. [19] [3] [20] В марте 2024 года разработчики объявили, что postmarketOS перейдет с OpenRC на systemd в качестве своей системы инициализации для некоторых пользовательских интерфейсов. [21]
По состоянию на 2024 год это программное обеспечение, находящееся в стадии разработки и предназначенное для опытных пользователей . [22]
В рамках проекта были опубликованы различные инструменты, в том числе:
pmbootstrap
, [23] [24] утилита для облегчения процесса разработки с помощью кросс-компиляции ;osk-sdl
, [25] [26] виртуальная клавиатура , позволяющая расшифровывать пароль во время запуска (на устройстве с полным шифрованием диска);charging-sdl
, [27] приложение, содержащееся в initramfs, для отображения анимации, когда телефон заряжается в выключенном состоянии.По состоянию на май 2020 года более двухсот устройств способны загружать операционную систему, в том числе 92 с поддержкой Wi-Fi. [28] [29] Сюда входят многие смартфоны и планшеты, которые изначально работали под управлением Android, [30] [31], а также некоторые смартфоны Nokia на базе Linux, такие как N900 [32] и N9 . [33] [15] После того, как проект Sandcastle от Corellium перенес ядро Linux на некоторые версии iPhone, postmarketOS также загружалась на нем, хотя на данный момент постоянная прошивка не поддерживается. [34] По состоянию на май 2021 года поддержка носимых устройств (включая Google Glass и умные часы, такие как LG G Watch ) была улучшена за счет интеграции с пользовательским интерфейсом AsteroidOS и работы над основным ядром для LG G Watch R. [ 35]
В 2018 году ни одно устройство еще не могло совершать телефонные звонки с postmarketOS, [36] хотя значительные усилия были предприняты в этом направлении. К 2020 году ряд устройств были полностью или в основном поддержаны, в том числе для телефонных звонков, SMS-сообщений и мобильных данных. К ним относятся BQ Aquaris X5 , Librem 5 , Nokia N900 , Motorola Moto G4 Play , Samsung Galaxy A3 (2015), Samsung Galaxy A5 (2015) и Wileyfox Swift . [37]
Кроме того, в 2020 году был выпущен PinePhone с postmarketOS Community Edition в качестве собственной операционной системы. [38]
Процесс разработки для того, чтобы сделать новое устройство совместимым с операционной системой, состоит из создания пакета, специфичного для телефона, с помощью pmbootstrap
инструмента. Для этого часто необходимо использование ядра Linux от оригинального производителя устройства. Исходный код оригинального ядра часто становится доступным благодаря соблюдению требований лицензии GPLv2 , но некоторые драйверы, необходимые для работы устройства, могут быть недоступны и, следовательно, должны быть созданы заново. [39] [23] Примерами являются драйверы графического процессора , такие как Lima , у которого есть проприетарный эквивалент в пользовательском пространстве на Android , который не подчиняется требованиям GPLv2 .
Похоже, что камера работает только у PinePhone [40] и нескольких других устройств. Для Fairphone она в разработке .
OnePlus6 находится в разработке для поддержки Volte . [41]