Установка linux на arm-based машины (компьютеры, смартфоны и прочее)
Что необходимо для портирования какого-либо дистрибутива GNU/linux на arm-систему? C х86 все всегда было понятно, качаешь дистрибутив, будь то бунта, федора, арч и устанавливаешь, дело остается за драйверами устройств, ответственность за которые ложится собственно на производителей устройств, но иногда можно найти и свободные дрова.
С arm все совершенно непонятно. Целая туча различных SoC, и еще большая туча различных дистрибутивов для каждой их них. То есть, грубо говоря, дистр Дебиана для ARMv7 SoC от Broadcom не подойдет для ARMv7 SoC от Allwinner, им по меньшей мере нужны различные ядра, хотя набор команд у них один и тот же. Вот и вопрос — как портируется ядро и дистр под конкретную SoC? Какую информацию должен предоставить разработчик SoC’a сообществу для создания порта (исходники дров, даташиты)?
даташит на soc, даташит на борду, драйвера на soc и всё внешнее что есть на борде
всего этого ты никогда не увидишь либо увидишь только в виде блобов
если повезёт, часть поддуржки soc можешь увидеть в модифицированных производителем исходниках какого-нибудь ядра 2.6.8 времён андропова, которое собирается только опять же модифицированным компилятором
это из моего опыта с роутерными mips
А если к примеру взять Raspberry Pi, для которой доступны Raspbian и Pidora, созданные вроде как сообществом, они тоже завязаны на блобах для Broadcom BCM2835?
Raspberry Pi can use a VideoCore IV GPU via a binary blob
На х86-based машинах видеокарточки тоже зачастую через блобы работают. Но при этом один_и_тот_же дистр демьяна я могу установить как на какой-нибудь пень 4, так и на свой новенький Haswell. Речь идет не о конкретном элементе SoC’a (видеочипе в данном случае), а о SoC’e в целом. Несмотря на одинаковые наборы команд (в одном случае x86, в другом ARMv7), для каждого ARMv7 SoC’a делают индивидуальный дист. Вопрос даже не зачем (дело, как я понимаю, в отсутствии присущей IBM-pc унификации, во главе которой стоит дядя BIOS), а как? Сырцы дистров и ядра у меня есть, спасибо GNU GPL, что дальше? Что нужно получить от производителя SoC’a, что уже есть у тех, кто двигает Pidoru и Raspbian.
Зачем усложнять то? Ставь тот же дебиан и усе.
Что необходимо для портирования какого-либо дистрибутива GNU/linux на arm-систему?
Сырцы дистров и ядра у меня есть
нет, нету, скорее всего. я уже написал, в ядре должна быть поддержка конкретной soc, даже чтобы просто стартануть голое ядро с консолью на uart
Что нужно получить от производителя SoC’a
без NDA ты ничего не получишь
«тот же дебиан» поставить нельзя, его нужно как-то изменить, пропатчтить. У каждого арм’a дебиан свой уникальный, если вообще есть, вопрос в том, как его делают, как подготавливают дистр для работы на каждой arm-SoC.
поставить нельзя, его нужно как-то изменить, пропатчтить
Raspbian есть вроде 🙂
ждут когда производитель soc или устройств на нём даст sdk/закоммитит поддержку в ядро
Как его получили? Я мало чего понимаю в разработке, пожтому ожидаю ответа, типа «разрабы Raspbian’a взяли за основу то-то, дополнили тем-то, скомпилили так-то, в этом им помог тот-то, предоставив им вот-это»
Думаю стоит посетить страничку проекта. Должна быть информация.
Признаюсь, что ниуя там не понял, поэтому и спросил тут.
Тогда ждем аналитиков.
Тут ты не совсем понял. Для ARM-девайса нужна rootfs и ядро.
Первое — довольно универсально, то есть пойдёт на любой ARM-машине, но есть нюансы вроде поддержки hardfp, и тд — пойдёт уже не на всех машинах, но где пойдёт там будет быстрее. Так что именно отдельный дистрибутив на каждую машину не нужен.
А вот ядро — то да, как тебе сказали, без драйверов ты даже голой консоли не получишь. А вот если есть работающее ядро — можно уже и rootfs запустить.
Разве что тебе ещё могут понадобиться иксовые драйвера для нужного графического ускорителя кроме ядерных.
Установка Linux на дешёвые ARM-нетбуки
Сделать дешёвый компьютер можно и без Raspberry Pi. Один из вариантов — поставить дистрибутив Linux на какой-нибудь ARM-нетбук под Android. Например, китайский нетбук WM8650 (производство WonderMedia Technologies) стоит примерно 50 евро. Это немного дороже Raspberry Pi, и у него нет хорошего GPU, зато есть монитор, корпус, аккумулятор, тачпад и т.д.
Один из линуксоидов опубликовал подробное описание, как поставить на нетбук WM8650 операционную систему Arch Linux и какие проблемы возникают при этом.
Характеристики
- SoC at 800 МГц
- 256 MiB DDR RAM
- 2 ГБ встроенной флэш-памяти
- Дисплей TFT 7″ 800×480
- 3 USB-хоста
- 1 порт Ethernet
- WiFi
- Разъёмы для наушников и микрофона
- Аккумулятор LiPo 1800 мАч 7,4В
- Адаптер питания 9В 1,5A
- ОС Android 2.2
В общем, чтобы Linux заработал на ARM-нетбуке, нужно накатить несколько патчей. Автор перечисляет каждый из них, так что апгрейд можно сделать в пошаговом режиме. Вообще, можно поступить гораздо проще и взять готовый дистрибутив Debian для ARM, но автор обзора определённо является фанатом Arch Linux. По его словам, существующий дистрибутив Debian не очень хорошо оптимизирован. Например, система будет загружаться на нетбуке две минуты.
Установка Linux на нетбук WM8650: часть 1, часть 2
Редакторский дайджест
Присылаем лучшие статьи раз в месяц
Скоро на этот адрес придет письмо. Подтвердите подписку, если всё в силе.
Один Linux — для разных ARM-процессоров
Хакинг для новичков
До настоящего времени для каждой ARM-платформы на каждом отдельном процессоре (SoC) приходилось создавать отдельный билд Linux. Это была главная сложность портирования Linux на мобильные устройства, которые работают на ARM.
В мире ARM-процессоров совершенно нет унификации. Все SoC сильно отличаются друг от друга на уровне аппаратной конфигурации, поэтому раньше нельзя было взять Linux с одной ARM-системы и поставить на другую. Хуже того, даже разные устройства на одном ARM могут по разному использовать GPIO, и если на прошлом устройстве этот GPIO включал светодиод питания, то сейчас он может отключать порт USB. Все эти изменения приходится вносить в ядро ОС, причём изменения могут быть взаимоисключающими, то есть возникают конфликты. Как точно выразился Линус Торвальдс, «вся эта мутотень с ARM — большой хреновый геморрой».
К счастью, ситуация немного изменится с выходом следующей версии Linux 3.7 уже через пару месяцев. Новая версия ядра будет изначально поддерживать несколько SoC-платформ на процессорах ARM. Это не только сразу сделает возможным использование нового ядра на многочисленных ARM-процессорах, но и вообще приблизит платформу ARM по уровню развитости инфраструктуры к конкурентной платформе x86.
«Это довольно существенная ветка, — говорит автор соответствующего коммита Олоф Йоханссон (Olof Johansson). — Мы впервые представляем мультиплатформенную поддержку для ARM, и когда эта (и следующая) ветка сольётся с основной, станет возможным сделать одно ядро с поддержкой highbank, vexpress, mvebu, socfpga и picoxcell. Дополнительные платформы будут добавлены к следующим релизам».
Изменения в соответствующую ветку Linux 3.7 внесены 2 октября 2012 года. Ниже приведён фрагмент из письма Линуса Торвальдса с перечнем изменённых файлов.
Самые быстрые Linux дистрибутивы в 2020
Всем привет, сегодня поговорим о наиболее оптимальных сборках Linux, актуальных в 2020, которые позволят вам не только разогнать ваш старый ПК до небывалых скоростей, но и ко всему прочему обладают приятным интерфейсом, анимацией и, в целом, выглядят не хуже, чем Windows 10 или какая-нибудь macOS Big Sur.
И это очень важно! Я НЕ СЧИТАЮ, ЧТО LINUX — это операционная система для слабых компьютеров. Никоим образом . Я заканчивал институт, писал все свои работы и даже резюме на Linux Mint 10. Это полноценный рабочий инструмент, а не какая-нибудь игрушка. Просто надо понимать, что Linux намного гибче, чем та же Windows, и за счет этого некоторые дистрибутивы изначально нацелены на маломощное железо, из-за чего достигают космических скоростей в сравнении с Windows.
Эта статья в первую очередь предназначена новичкам, так как многие моменты я буду расписывать более детально вот в таких вот «блоках». Имейте это ввиду, читая материал статьи .
Представляю вам 10-ку самых-самых быстрых Linux дистрибутивов для старого ПК , но учтите, что они расположены не по степени «крутости» и скорости (так как в различных сценариях все-равно один дистрибутив может опередить другой), а в алфавитном порядке:
Antix
Разрабатывается с 2007 года (на рынке уже 13 лет!) и до сих пор активно развивается. Построен на базе Debian и распространяется в 2-х вариантах: дистрибутивы 32 и 64-разрядной сборки. При установке пользователю доступен выбор из 4-х редакций Antix:
- net — только сама ОСь с минимальным набором всего (отсутствуют даже некоторые встроенные утилиты), но все необходимое можно загрузить из сети интернет в процессе эксплуатации
- core — Antix вместе с набором всех системных утилит (300 МБ)
- base — стандартный вариант установки с минимальным набором офисных программ (700 МБ)
Системные требования : официально Pentium III 450 МГц (в интернете есть отзывы о том, что на Pentium II система тоже исправно запускается, но проверить это, увы, я сам не могу) и минимум 256 МБ ОЗУ, на жестком диске для установки Antix потребуется минимум 150 мегабайт (редакция net)
Сразу хочу пояснить, что я указываю минимальные системные требования, предъявляемые к последним версия той или иной ОС. Имейте это ввиду, читая материал статьи (ИЧ). Например, Linux Lite 3 требует процессор с тактовой частотой всего 700 МГц, но его последняя пятая версия работает уже на частоте 1ГГц и т.д. В моей статье будут указаны системные требования под 5-ую редакцию Linux Lite. Если у вас ПК слабее, то просто загрузите себе четвертую или третью и т.д.
На дистрибутив совершенно без каких-либо проблем можно установить клиент Steam и запускать игры, поддерживающие систему Linux. В целом он не уступает каким-нибудь сборкам Ubuntu или LinuxMint, но его основная цель — это поддержка устаревшего железа, при этом пользователи всегда получают актуальные сборки системы с обновленным ядром Linux’а.
По меркам Linux’а относительно молодой дистрибутив, который существует на рынке с 2011 года. Последняя версия 5.1 вышла в 2018 году, но это совершенно не значит, что он больше не будет обновляться. В среде Linux довольно часто бывают такие ситуации, когда разработку перспективного дистрибутива берут в свои руки сторонние разработчики и далее доводят его до «совершенства», преследуя уже свои собственные цели. Bodhi Linux например основан на Ubuntu. Разработчики дистрибутива озадачились поддержкой ARM-процессоров, поэтому систему можно установить на планшеты (но делать этого я никому не рекомендую, только если вы энтузиаст и хорошо знакомы со средой Linux).
Системные требования : Pentium III 500 МГц, 256 МБ ОЗУ и минимум 2,5 ГБ свободного места на жестком диске (полная редакция со всем дополнительным программным обеспечением занимает около 5 ГБ, всего же их 3 / Standard, Legacy и AppPack).
Дистрибутив примечателен тем, что использует в качестве диспетчера окон оболочку Moksha (это их собственная разработка, которую они внедрили в последних сборках системы). Говоря простыми словами: они хотели сделать очень красивый и современный интерфейс пользователя, который бы не уступал по визуальной части оболочкам KDE и Cinnamon, но при этом не требовал для своей работы большого количества ресурсов. и этом удалось!
Набор программ ничем не отличается от того же Antix или любых других современных дистрибутивов Linux. Обычно разработчики отдают предпочтения различным интернет браузерам, видеопроигрывателям и так далее, но в общем — различия в программах не так существенны и вы всегда можете сменить не понравившийся браузер Midori на Google Chrome или Firefox. То же самое и с офисными пакетами — не нравится LibreOffice, просто переустановите его на OpenOffice и т.д. ИЧ .
LinuxLite
Это «переходный» дистрибутив, который ставит перед собой 2 задачи:
- помочь пользователям, привыкшим к операционной системе Windows, перейти на ОСь Linux (максимально комфортно)
- и поддержка устаревшего железа, НО! здесь за основу берутся компьютеры, которые поставлялись с Windows XP / то-есть, этот дистрибутив для пользователей, не желающих менять свой старый ПК
Здесь планка минимальных системных требований уже чуть выше: процессор с частотой 1ГГц, 768 МБ ОЗУ и места на жестком диске 8 ГБ.
Хочу отметить, что многим из вас Linux Lite покажется более дружелюбным, чем тот же Ubuntu или LinuxMint. Изначальная его идея заключалась в том, чтобы развеять мифы, что Linux’ом трудно пользоваться. Однако за основу был взят дистрибутив Ubuntu.
Что касается набора дополнительных программ, идущих в комплекте — он стандартен. LibreOffice, браузер Firefox, редактор GIMP, почтовый клиент Thunderbird и т.д. Хочу отметить, что в комплекте с дистрибутивом идет утилита Lite Software (не путать со встроенным магазином), которая позволяет закачивать все самые популярные программы под Windows, но только имеющие версии специально под Linux. К ним можно отнести: Steam, Dropbox, FileZilla, Kodi, VirtualBox; набор библиотек PlayOnLinux, который позволяет запускать игры, написанные под Windows, с наименьшими затратами своего личного времени и нервов и т.д.
Для «первого раза» — это самый оптимальный вариант. Но лично я остаюсь приверженцем дистрибутива LinuxMint 😊
Lubuntu
Дистрибутив берет за основу Ubuntu и этого совсем не стыдится, и раньше, если память мне не изменяет, когда Canonical рассылала диски с инсталляторами Lunux своим пользователям: Ubuntu, Lubuntu, Kubuntu и Xubuntu — были одной большой семьей. Вроде бы, даже Canonical также рассылала и их дистрибутивы. Фотографии я вам покажу чуть позже)
Хочу кое-что прояснить (так как многие этого не понимают): что значит, когда один дистрибутив ОС основан на другом? Например, очень многие версии Linux за свою основу берут «народный» дистрибутив Ubuntu. Это особенно трудно понять, учитывая, что в «мире Windows» есть только Windows и, где-то на задворках вселенной, Apple со своей macOS. Это значит, что компания Canonical, ответственная за выпуск операционной системы Ubuntu, проделывает львиную часть работы по созданию следующей версии ОС. Сторонние студии, вроде команды LinuxMint берут их наработки, меняют по своему усмотрению «начинку»: базовый набор программ, внедряют свои фирменные утилиты, дизайн (считай, те же оболочки для рабочего стола) и т.д. Это не «тяп-ляп» — подобная трансформация в среднем длится около полугода вместе со всеми тестами, из-за этого у Ubuntu-производных версий Linux сдвигается дата релиза. Это как Windows 10 и lite-сборки системы от какого-нибудь Васяна и ему подобным. Только над «ремастером» системы Ubuntu трудятся целые коллективы и команды. ИЧ .
Системные требования : Pentium IV 1,6 ГГц, 1 ГБ ОЗУ (тут есть важное уточнение, разработчики Lubuntu акцентируют внимание на том, что для работы с офисных программ вполне будет достаточно 512 МБ ОЗУ), и места на жестком диске данная система занимает 5 ГБ. Все необходимые программы можно скачать из Центра приложений (аналог Microsoft Store, который доступен почти на любом современном дистрибутиве Linux)
Какие цели преследует проект Lubuntu? Дать возможность использовать Ubuntu тем пользователям, у которых на руках маломощное железо. Все-таки Pentium 4 с частотой 1,6 ГГц — это в любом случае нишевые комплектации ПК. В качестве рабочей среды используется LXQt, которая выигрывает в скорости у Xfce — ей требуется в среднем всего 125 МБ памяти для полноценной работы, при этом это довольно современная оболочка с обилием различных эффектов. Работает она быстрее, чем Xubuntu (еще одно ответвление «народного» дистрибутива для слабых ПК). Иными словами, если вы хотите получить на руки Ubuntu, но ваше железо даже и рядом не стоит с системными требованиями системы, которые честно говоря по меркам Linux довольно высокие, то вам прямая дорога на Lubuntu для загрузки клиента и его последующей установки на нетбук или домашний компьютер.
Это была первая часть моего топа. Я откровенно говоря не уверен в успехе подобного материала на платформе Дзен, но если вам понравится, то я обязательно выпущу вторую и третью части, и вообще буду с большей охотой рассказывать о Linux-системах. Спасибо, что дочитали статью до конца!