Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

Alien’s ARM Port

Автор bormant, 21 марта 2013, 15:25:04

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bormant

Оригинал: http://alien.slackbook.org/blog/armport/
Перевод авторства меня ниже.

Порт на ARM от Alien

Немного о контексте

Когда в течение 2011 года стало очевидно, что нетбуки показывают интересные результаты продаж, особенно маломощные на базе процессоров Atom, зачастую на Linux, вполне естественно, что производители оборудования заговорили о ещё более экономных портативных устройствах. Я был обрадован ожидаемым в 2012 выходом ноутбуков на базе ARM, а c началом истории с Raspberry Pi в конце года, я решил, что мне нужно портировать Slackware на архитектуру ARM, чтобы быть готовым к потоку клёвых устройств. Постой! ARM, говоришь... Ведь есть уже такой порт! Действительно, Стюарт Винтер (Stuart Winter) уже довольно давно разрабатывает порт SlackwareARM (бывший ARMedslack). Фактически характеристики устройств на базе ARM настолько отличаются от обычных Intel-совместимых компьютеров, что для получения рабочих пакетов ARMedslack сценарии их сборки должны быть значительно изменены, а исходники — обильно пропатчены. Кроме того, поскольку Стюарт работает только над портом, он сделал выбор в пользу большего уровня автоматизации своего сборочного окружения и сценарии, обрабатывающие дерево исходников ARMedslack за счёт потери совместимости с официальным деревом Slackware с точки зрения взаимозаменяемости. Однако мои цели отличаются:

1. Я хотел создать порт, использующий сценарии SlackBuilds, совместимые с официальной SlackWare — то есть должна быть возможность взять сценарий для порта ARM без изменений и собрать им пакет для 64-битной Slackware. И, в конечном итоге, порт на ARM сможет слиться с официальными исходниками Slackware.

2. Я нацелен на современные архитектуры ARM. SlackwareARM ориентирован на предыдущие поколения процессоров ARM — в частности, на предназначенные для небольших устройств (как домашний NAS или беспроводной маршрутизатор) без аппаратной поддержки вычислений с плавающей точкой или старше ARMv6 (Raspberry Pi). Мне же хочется использовать порт на «полноценных» планшетах и/или ноутбуках на ARM и выжать на них максимум производительности. SlackwareARM от Стюарта может работать на новых устройствах, однако мой порт на тех старых устройствах работать не сможет!

3. Для меня это было получением опыта. Я очень мало знал об архитектуре ARM , и я чувствовал, что я должен был хорошо познакомиться с многочисленными различиями обычных Intel-совместимых компьютеров и устройств на базе ARM. Поэтому теперь я хотел бы собрать новый Slackware с нуля, без использования работы Стюарта, за исключением помощи в понимания концепции. Хоть я и порядком выел Стюарту мозг!

4. Я старый склеротик, поэтому весь процесс должен быть должным образом задокументирован. На создание 64-битного порта в 2008/2009 годах ушло много времени, но я не всего, что я делал и теперь жалею об этом.

Итак, я купил компьютер TrimSlice, небольшой безвентиляторный десктоп с 1Гб памяти, 32Гб SSD в качестве жёсткого диска и двухъядерным процессором ARM. На покупку пошли деньги с небольших пожертвований, скопившихся к тому моменту, и я выложил 350 евро. К сожалению, маленький компьютер не стал хитом, как я ожидал (в нём на самом деле прилично железо) и в итоге мои попытки портирования зашли в тупик из-за отсутствия мотивации. Я не собирался тратить сотни часов на устройство, у которого пользователь Slackware только один —  я сам.

Я почти убедил себя вдохнуть жизнь в портирование, когда ZaReason выпустил ZaTab — планшет с полным root-доступом и достаточно открытой аппаратной частью (в отличие от прочих огороженных кусков дерь^H^H^H^Hтехнологий). Но, опять же, и спецификации оказались не настолько хороши, и хитом, способным убедить меня в необходимости потратить сотни часов на прилаживание Slackware, он не стал... не говоря уже про сенсорный интерфейс Plasma Active из KDE. В общем, и эта идея также иссякла.

А этой неделе в голландских магазинах появился в продаже ChromeBook от Самсунг. Некоторые из них удалось подержать в руках, когда друзья и коллеги приносили в офис. Все были импортированы из США, выглядели и ощущались классно. Но ChromeOS? Я убеждён, им нужна Slackware. К сожалению, являясь единственным источником дохода семьи и имея работу со средним уровнем оплаты, я не в состоянии позволить себе потратить 300 евро на покупку ноутбука только ради возни с ним. И тогда я решил попросить некоторой финансовой поддержки.


Сбор денег на покупку устройства

Случилось то, чего я не ожидал... Я попросил 300 евро и множество людей откликнулось в следующие 24 часа. Одно из пожертвований было в размере 299 евро (!) и уже его одного было бы достаточно для достижения цели. Оставлявшие сообщение вместе с пожертвованием обычно писали «поступайте с деньгами по своему усмотрению», что означает, что у меня есть средства (более 600 евро!) и я уже заказал ChromeBook. Эти деньги пойдут на покупку дополнительного оборудования. Я планирую сперва закончить порт на ARM, и только потом решать, будет ли новым устройством на ARM планшет или другой компьютер, способный заинтересовать в доведении работы до победного конца. Однако, если кто-либо решит вернуть пожертвованное, я не буду возражать, без обид.

Хочу назвать людей, сделавших возможной покупку. Некоторые из них пожелали остаться неизвестными и я уважаю их мнение. Я не буду указывать суммы — мне в равной степени ценны все ваши вклады. Каждый платит столько, сколько может себе позволить, что даёт мне тёплые чувства о нашем небольшом сообществе. Большое спасибо за поддержку (я буду обновлять этот список):

Daniel Cash
Gudkov Ilya
Abdur-Rahman Rozell
Willy Sudiarto Raharjo
GREGORY ZAYACHUK
Gabriel Yong
Michael Stewart
Jaime Lee
Chekkizhar N
Andreas Vögele
Patrick Volkerding
Grzegorz Gibas
FERENC KURUCZ
Thomas Løcke
Korneliusz Jarzębski
Etienne Casaert
Gil ANDRE
Phillip Bevan
Matthias Hambach
Thiago Diniz Macena Silvino
Didier COURTAUD
Aurelio Bignoli
Peter Vajo
Ventrice Humphrey
Guido Ascioti
Corey Wells
Henry Fanson
Jason Laprade
Roberto Puzzanghera
Laurent Chamontin
Christophe NGUYEN MINH TAN

и ещё 3 анонимных спонсора.


План

– Я продолжу работу на портированием аппаратной арифметики с плавающей запятой (да, это может отразиться на частоте обновлений других моих пакетов).
– Портирование не будет проходить «за кулисами», как было раньше. Я буду публиковать пакеты и сценарии, идеи и отзывы приветствуются.
– Целевым оборудованием для сборки загружаемого образа Slackware будет ChromeBook.
– Я опубликую кросс-компилятор «с нуля» и минимальную корневую систему, которая у меня уже готова.
– Я собираюсь документировать процесс портирования на новую архитектуру с нуля на docs.slackware.com.
– Я буду теребить любопытство Патрика Фолькердинга к порту на ARM, его имя в списке пожертвовавших говорит мне, что ему не всё равно.


Инструменты

Я собираюсь поработать над зачисткой моего набора сценариев и затем приготовить место для хостинга всего этого добра. Я думал об организации репозитория на GitHub, но поскольку мне по-прежнему нужно хостить свои пакеты и бинарники, можно просто поднять сервер GIT на taper.alienbase.nl. В конце концов, там уже моё основное зеркало пакетов, а также хостинг для проекта документации Slackware. В любом случае мне нужно дождаться доставки ноутбука и попробовать загрузить мой текущий полуготовый порт на TrimSlice перед продолжением с ChromeBook (до сих пор на TrimSlice работала SlackwareARM).


Результаты

Продолжение следует...

Cheers, Eric