Переносы на платформы ARM
Debian GNU/Linux на платформе ARM
На этих страницах вы найдёте информацию о проекте переноса Debian GNU/Linux на архитектуру ARM, которая часто встречается на всех типах систем, от встроенных до серверных.
Текущее состояние
Debian полностью поддерживает три переноса на различные разновидности ARM с порядком байтов от младшего к старшему:
- Перенос ARM EABI (armel) предназначен для старых 32-битных устаройств ARM, в частности, тех, которые используются в NAS и различных мини-компьютерах.
- Более новый перенос ARM hard-float (armhf) поддерживает более новые и болеее мощные 32-битные устройства, использующие спецификацию архитектуры ARM седьмой версии.
- Перенос 64-битный ARM (arm64) поддерживает последние 64-битные устройства ARM.
Другие существующие или существовавшие переносы на оборудование ARM в и около Debian приведены в вики, там же имеется небольшой обзор и дополнительные ссылки.
Полный актуальный список различного поддерживаемого оборудования каждым из переносов см. на соответствующей вики-странице. Новые устройства ARM выпускаются каждую неделю, людям проще хранить информацию о ни� на указанной вики-странице.
Доступное оборудование для разработчиков Debian
Разработчикам Debian доступно множество машин для работы над переносом на ARM: abel.debian.org (armel/armhf), asachi.debian.org (armhf/arm64) и harris.debian.org (armhf). На этих машина� имеются chroot-окружения для разработки, к которым вы можете получить доступ с помощью schroot. Подробную информацию об эти� машинах см. в базе данных машин.
Контактная информация
Списки рассылки
Списком рассылки Debian ARM служит debian-arm@lists.debian.org. Чтобы подписаться, отправьте сообщение, содержащее слово subscribe в теме, по адресу debian-arm-request@lists.debian.org. Также существует архив этого списка.
Также полезно было бы подписаться на список рассылки linux-arm.
Вы можете найти нас в IRC на irc.debian.org в канале #debian-arm .
Здесь приведён список людей, которые в настоящее время играют важную роль в разработке переносов Debian ARM.
.
- Иэн Кэмпбел ijc@debian.org
Программа установки Debian, ядро - Аурелиэн Ярно aurel32@debian.org
Сопровождающий узлов сборки ARM и разработчик переноса - Стив Макинтайр steve@einval.com
Локальное администрирование машин ARM, документация и разработчик переноса - Мартин Михльмайер tbm@cyrius.com
Документация, программа установки Debian - Рику Воипио riku.voipio@iki.fi
Разработчик переноса armel и сопровождающий узлов сборки - Вуки (Wookey) wookey@wookware.org
Документация
Посвящается
Крис Раттер был координатором проекта и координатором автосборщика для переноса ARM Debian, погиб в автомобильной катастрофе. Мы посвящаем перенос ARM в выпуске дистрибутива Debian GNU/Linux «Woody» его памяти.
Благодарности
Эти люди помогали создавать перенос ARM для Debian: Джим Стадт, Джим Пик, Скотт Бамбро, Питер Ноллс, Тор Слеттнес, Фил Бланделл, Винсент Сандерс
Установка Debian на ARM планшет Zenithink ZT-180
Думаю, вы встречали здесь обзоры этого планшета: вот и вот. Кратко напомню характеристики: процессор ARMv6 1ГГц, ОЗУ 512МБ, 10 дюймовый экран с резистивным сенсором, HDMI, камера, USB2.0. Со временем Android на данном планшете немного наскучил, да и производители что-то перестали выпускать для ZT-180 новые обновления прошивки, так как появились более новые версии планшета. В данной статье будет показан процесс установки Debian Arm версии на планшет Zenithink ZT-180 V2 с возможностью перехода к Android в любой момент времени.
Нам понадобится
- Сам архив с операционной системой (by abtekk) narod.ru/disk/31042539001/debian_beta_3.tar.bz2.html
- Загрузчик ОС (by rezmus) narod.ru/disk/31045693001/zImage_adb.html
- Какой-либо линукс где-нибудь на десктопе
- MicroSD карта (чем выше класс, тем лучше)
Внимание! Все действия вы выполняете на свой страх и риск.
Подготовка карты памяти
Для начала подготвим нашу MicroSD карту. Если у вас есть на ней ценные данные, скопируйте их на какой-либо другой носитель. Подключаем её с помощью карт-ридера к компьютеру и запускаем любой редактор разделов жестких дисков. Например, в Ubuntu можной найти стандартное приложение «Дисковая утилита». Выбираем нашу MicroSD карту и нажимаем на кнопку «Форматировать устройство» (перед этим требуется отмонтировать все разделы карты памяти).
Создаем разделы. Первый раздел, назовем его partition1, будет служить для хранения загрузчика (для прошивки). Он должен иметь файловую систему FAT и быть размером, на всякий случай, в пару десятков мегабайт. Следующий раздел будет использоваться для хранения файлов самой операционной системы и домашней папки, назовем его partition2. Размер этого раздела нужно сделать не менее 1-2 гигабайта. Далее можно создать ещё один FAT раздел для Android или для использования карты памяти, например, в Windows, но это необязательно. Вот, что получилось у меня:
Далее распаковываем архив с ОС на раздел partition2. Для этого вводим следующую команду из папки с архивом:
sudo tar -C /media/partition2 -jxvf debian_beta_3.tar.bz2
Сразу можно подправить настройки калибровки тачскрина, открываем этот файл:
/etc/X11/xinit/xinitrc
И после строки с калибровкой пишем ещё одну такую же:
xinput set-int-prop «TSC2007 Touchscreen» «Evdev Axis Calibration» 32 31 3903 -6 3636 &
Сохраняем файл.
После распаковки и редактирования калибровки создаем на FAT разделе partition1 папку zt-update, куда кладем файл загрузчика zImage_adb.
После этого подготовка карты памяти будет закончена.
Установка загрузчика
Чтобы прошить планшет файлом zImage_adb требуется вставить карту памяти в него и при включении зажать кнопку Назад (круглая кнопка). Если это не сработало (как у меня), то можно в Android примонтировать раздел с ядрами и вручную скопировать данный файл.
Для этого сначала получаем Root доступ. Скачиваем приложение Universal Androot, устанавливаем и в выпадающем меню выбираем «Do not install Superuser», нажимаем на кнопку «Root». Далее нам потребуется эмулятор терминала. Запускаем Terminal Emulator и получаем права root:
su
Создаем папку, в которую в будущем примонтируем раздел с ядрами:
mkdir /sdcard/kernel
Монтируем в папку раздел (если mmcblk1p5 не подходит, пробуем другие разделы):
mount -t vfat /dev/block/mmcblk1p5 /sdcard/kernel
После этого в эту папку можно скопировать с заменой файл zImage_adb и тогда ядро будет доступно без перепрошивки.
Запуск ОС
Теперь всё готово к первому запуску операционной системы Debian. Сразу при включении нажмите на правую часть хардварной качельки и выберите надпись «Anroid adb». Чтобы запустить, нажмите на кнопку Назад (круглая кнопка). После этого на экране появится Android и начнется загрузка системы. Когда всё будет готово, вы увидите рабочий стол xfce.
Заключение
После установки Debian на планшет он приобрел новую жизнь. Теперь на нем полноценная операционная система на базе Linux. Это открывает огромное количество возможностей. Например, можно установить XBMC, программировать на нормальных языках программирования (если подключить клавиатуру) или даже сделать небольшой сервер. К сожалению есть некоторые недостатки, которые, возможно при прямых руках можно исправить: очень низкий FPS при воспроизведении видео (думаю, не используются аппаратные кодеки), не работает G-sensor. В остальном всё хорошо, но медленно. Можно и Gimp установить и в некоторые казуальные игры поиграть.
Ссылки
Спасибо VexMD за помощь.
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Debian linux на arm
Огромная просьба владельцев тем плат или собирающимся создать такую тему скинуть мне ссылку на нее и сделать ссылку на эту тему в вашей шапке 😉 Так можно будет объединить вопросы связанные с софтом в одну ветку. На данный момент данный дистрибутив рекомендован форумчанами как лучший дистрибутив для Orange Pi. Автор темы против WAREZ и надеется, что пользователи будут приобретать приложения законными способами. Сообщение отредактировал stp101 — 19.09.17, 23:00 Debian linux на armЗдравствуйте! Наверняка я не единственный, у кого была идея полностью заменить Android на Linux на мобильном устройстве. Мотивов к этому может быть много — гибкость Linux, возможность сменить граф. оболочку, лёгкость (для слабых устройств), но ИМХО самый ключевой козырь Linux — постоянная обновляемость. В отличие от ПК, где обновления ОС зависят только от её разработчика, на мобильных устройствах обновления ПО зависят от вендоров самих устройств. А всё из-за того, что ПК у нас архитектуры x86(_64), и у них существуют стандарты аппаратуры IBM PC и загрузки BIOS/UEFI. А на мобильных устройствах у нас архитектура ARM, которая является лишь стандартом набора команд процессора. В результате на ПК мы имеем стандартный механизм загрузки, предоставляющий интерфейсы для контроля базового оборудования без драйверов со стороны ОС, что позволяет (в случае с Linux), загружать ядро без необходимости его пересборки под каждое устройство. Сразу встаёт вопрос — «а как же дрова на остальное оборудование, не поднятое BIOS/UEFI?» В Debian/Ubuntu присутствует хитрое решение этой проблемы — система DKMS. Она позволяет единожды написать драйвер в виде модуля ядра, соответствующего формату dkms, и при обновлении ядра она автоматически оптимизирует драйвер под новую версию ядра. Таким образом, обновления ОС Debian на ПК не зависят от вендора самого ПК. На ARM мы не имеем самого главного — стандарта загрузочной системы. На каждую плату — свой минимальный загрузчик, и для запуска на ней ядро Linux требует пропатчивания вендором, в результате обновления ядра вешаются на вендора устройства, и, зачастую отсутствуя, отключают нас от обновлений самой системы. Но мало кто знает, что под ARM тоже существует стандартный UEFI. Мною с моим RPi 3 B+ было доказано, что UEFI + Debian + DTB + DKMS = Debian ARM Anytime Upgrade. Напрашивается закономерный вопрос: если бы мы имели UEFI под все ARM устройства, мы бы имели постоянно обновляемый Debian под все устройства? По сути да, есть небольшая проблема с дровами, но насколько я понял при наличии навыков их можно достать из дерева исходников ядра (и даже автоматизировать этот процесс). Соответственно, самая сложная часть — UEFI. Был когда-то неплохой проект EFIDroid, позволявший собирать UEFI под все устройства с Little Kernel (т. е. все qcom устройства), но ввиду отсутствия каких-либо финансирования или поддержки автора был заброшен, причём в процессе перехода на новый способ без LK (т. к. в новых qcom устройствах его уже не используют), в результате все репозитории оказались в нерабочем состоянии. Я откатил их до рабочих версий, но так ничего и не завелось (проект-то так и остался pre-alpha). Собственно, я и создал эту тему, чтобы вынести свой вопрос на общее обозрение — есть ли люди, которые знакомы с автором EFIDroid, имеющие рабочие варианты, или знающие, есть ли автора новый вариант EFIDroid (без lk), или прочие разработчики или программисты, которые знакомы с EDK II, или у которых есть другие способы портирования UEFI на ARM(64) устройства, если в наличии только kernel source code tree для них? Есть ли вообще кто-то, кто этим интересуется и в этом «шарит»? Хотелось бы систематизировать всю имеющуюся информацию, и, возможно, даже выйдет что-то собрать. К слову, что уже есть:
Что хочется поиметь:
А также, если у кого-то есть способ загружать неизменённое ядро Debian на ARM устройствах, пишите сюда. Сообщение отредактировал Edk2Arm — 30.06.19, 18:44 |