ARM-бук Toshiba AC100 и полноценный линукс-дистрибутив
Привет компютерщики-линуксоиды! Вот вам картинка с модным ноутбуком на nvidia tegra и под катом рассказ о том, как на нем все (плохо) с полноценными дистрибутивами.

Рассказ начинаю издалека, точнее с того, какую классную штатную ос я получил от после покупки.
Купил AC100-117 в украинском интернет-магазине, включил, все красивенько, гламурненько, грузится быстро, вайфай поймало, на рабочем столе виджеты какие-то. Ну а дальше пошел фейл на фейле. Некоторые из моментов — не более чем придирки, проистекающие из моего перфекционизма и изкоробочности головного мозга, некоторые являются проявление NERD RAGE, другие же весьма объективны.
Если тут есть господа, имеющие отношение к тошибе, машу вам тоже ручкой — я не понимаю для чего эта железка и как ей можно пользоваться, вообще не понимаю область ее применения с такой фирмварью. Это не нетбук — читать интернеты на нем адски неудобно, это не клаудбук — никаких клиентов в облачным службам, которыми пользуюсь, я там не вижу, это не админский и не программистский инструмент, это не телефон и не навигатор, потомучто радиомодулей там нет, а скайп и сипдроид там вылетают.
Собственно одной из целей приобретения железки — было использование большого дистрибутива линукса, вот даже топик на хабре про установку убунту. А теперь я расскажу, почему с полноценными дистрибутивами линукса все тоже плохо.
У людей, знакомых с линуксом сразу должны появиться два возражения:
И оба эти возражения неверны из-за тезиса о содомистичности вендоров железа, который в данном случае выражается в ужасном качестве порта ядра.
И так, есть классная железка, на которой под андроидом работает все железо, рабочая версия ядра 2.6.29 (so sloowly) и какой-то мануал по установке убунты.
Объясняю на пальцах, как ставится убунта: вы скачиваете проприетарную утилиту для прошивки, шьете вместо recovery раздела хитрый initrd, который вместо внутреннего флеша использует для рут-раздела внешний и то самое старое кривое ядро 2.6.29.
И это работает очень фигово, даже если не обращать внимание на тормозной внешний sd, потомучто в nvidia очень жадные, глупые и плохие люди, которые не захотели сделать нормальные ядерные драйвера, а сделали кучу мутных закрытых библиотек в юзерспейсе и закрытого же юзерспейсного демона, который работает с закрытым огрызком ядерного модуля nvrm_gpu. Это все тянет за собой в убунту кривой порт ядра и кучу андроидовых библиотек.
И так, что НЕ работает: управление яркостью, звук, саспенд, управление частотой процессора. В таком режиме аппарат может проработать два-три часа, а при саспенде тихо уходит в панику. А почему?
Тогда почему бы не использовать этого демона? Потому что он слинкован с андроидным юзерспейсом, потомучто он требует древунюю версию ядра и модуль, который у меня вообще не грузится и, если честно, это какой-то очень странный метод и он мне не нравится.
Я не понимаю, как можно делать железо и не давать к нему нормальных драйверов, не понимаю, как можно писать в ядре такой говнокод, не понимаю, почему мне в 2010 году на сайте нвидии дают драйвера для xorg 1.5 и бинарники для ubuntu jaunty. И эти люди жалуются, что никто не делает продуктов на их любимой тегре?
Это классная железка, но мне придется ждать нормального порта от нормальных людей из гугла [3][4], хацкеров с канала #ac100 и самого себя.
refs:
[0] говнокод нвидии для кернелспейса
[1] несвежие костыли для юзерспейса
[2] костыли в разметке диска
[3] гугловский порт ядра под тегру
[4] порт под тегры в репозитории chromiumos
Рассказ начинаю издалека, точнее с того, какую классную штатную ос я получил от после покупки.
Купил AC100-117 в украинском интернет-магазине, включил, все красивенько, гламурненько, грузится быстро, вайфай поймало, на рабочем столе виджеты какие-то. Ну а дальше пошел фейл на фейле. Некоторые из моментов — не более чем придирки, проистекающие из моего перфекционизма и изкоробочности головного мозга, некоторые являются проявление NERD RAGE, другие же весьма объективны.
- русские буквы на кнопочках есть, но нигде, вообще нигде не написано, как переключается раскладка
- верхняя часть цифровой раскладки (!@#$%^ и прочие матерные символы) набираются через alt, а не shift
- enter и I расположены дико идиотски
- блок питания огромен, просто огромен. для железки, котороя может вобщемто кушать электричество через usb кабель с хоста (да, ac100 имеет usb client, а не только хост) такой блок — ужас
- с софтом все плохо — маркета нет вообще
- гугловского софта (gmail, maps, etc, picasa) тоже нет
- стандартным андроидовым браузером пользоваться дико неудобно из-за его изначальной ориентированности на тач
- софт, насильно стащенный с маленького брата ведет себя непредсказуемо, например скайп (машу ручкой беркусу) после запуска переворачивает экран в портретный режим, показывает login-window и вылетает
- connectbot очень болезненно реагирует на переключение раскладки, а саму раскладуку не понимает (alt, ctrl, tab не работают)
- твиттер-клиенты как-то работают, но приходится сидеть и возить пальцем по тачпаду, потомучто они все не ориентированы на работу с клавиатуры
Если тут есть господа, имеющие отношение к тошибе, машу вам тоже ручкой — я не понимаю для чего эта железка и как ей можно пользоваться, вообще не понимаю область ее применения с такой фирмварью. Это не нетбук — читать интернеты на нем адски неудобно, это не клаудбук — никаких клиентов в облачным службам, которыми пользуюсь, я там не вижу, это не админский и не программистский инструмент, это не телефон и не навигатор, потомучто радиомодулей там нет, а скайп и сипдроид там вылетают.
Собственно одной из целей приобретения железки — было использование большого дистрибутива линукса, вот даже топик на хабре про установку убунту. А теперь я расскажу, почему с полноценными дистрибутивами линукса все тоже плохо.
У людей, знакомых с линуксом сразу должны появиться два возражения:
- афтар, ты неуч, все наши дистрибутивы давно портированы на arm, ac100 на тегре, тегра — это арм, значит можно взять теплый ламповы дебиан, установить с диска и радоваться!
- андроид — это тоже линукс, значит все драйвера уже есть, все тем более должно работать
И оба эти возражения неверны из-за тезиса о содомистичности вендоров железа, который в данном случае выражается в ужасном качестве порта ядра.
И так, есть классная железка, на которой под андроидом работает все железо, рабочая версия ядра 2.6.29 (so sloowly) и какой-то мануал по установке убунты.
Объясняю на пальцах, как ставится убунта: вы скачиваете проприетарную утилиту для прошивки, шьете вместо recovery раздела хитрый initrd, который вместо внутреннего флеша использует для рут-раздела внешний и то самое старое кривое ядро 2.6.29.
И это работает очень фигово, даже если не обращать внимание на тормозной внешний sd, потомучто в nvidia очень жадные, глупые и плохие люди, которые не захотели сделать нормальные ядерные драйвера, а сделали кучу мутных закрытых библиотек в юзерспейсе и закрытого же юзерспейсного демона, который работает с закрытым огрызком ядерного модуля nvrm_gpu. Это все тянет за собой в убунту кривой порт ядра и кучу андроидовых библиотек.
И так, что НЕ работает: управление яркостью, звук, саспенд, управление частотой процессора. В таком режиме аппарат может проработать два-три часа, а при саспенде тихо уходит в панику. А почему?
- как происходит управление яркостью у нормальных людей? есть backlight class driver, который создает волшебный файлик /sys/class/backlight/${devname}/brightness, в который можно писать циферку. весь линуксовый софт думает, что у меня есть такой файлик, а уменя его нету! стыд и срам, чтобы изменить яркость дисплея, я должен загрузить проприетарный ядерный модуль nvrm_gpu.ko (из него даже постеснялись убрать отладочные символы и он весит 600 kB вместо 30), после чего запустить проприетарный демон nvrm_daemon, слинкованный с андроидными библиотеками, после чего попросить проприетарную либу подключиться к демону по локальному сокету и отправить бинарную команду на изменение яркости. мать!
- во время саспенда, ядро (за camelCase в сорцах ядра я бы канделябром по коммит-аццесу надавал бы) пытается послать юзерспейсовому демону через велосипедный интерфейс текстовую команду, чтобы тот потушил железки, соответственно после выхода из саспенда — просит его же вернуть их обратно
- звук не работает потомучто нужно где-то включить питание, а это умеет только проприетарный демон nvrm_daemon
Тогда почему бы не использовать этого демона? Потому что он слинкован с андроидным юзерспейсом, потомучто он требует древунюю версию ядра и модуль, который у меня вообще не грузится и, если честно, это какой-то очень странный метод и он мне не нравится.
Я не понимаю, как можно делать железо и не давать к нему нормальных драйверов, не понимаю, как можно писать в ядре такой говнокод, не понимаю, почему мне в 2010 году на сайте нвидии дают драйвера для xorg 1.5 и бинарники для ubuntu jaunty. И эти люди жалуются, что никто не делает продуктов на их любимой тегре?
Это классная железка, но мне придется ждать нормального порта от нормальных людей из гугла [3][4], хацкеров с канала #ac100 и самого себя.
refs:
[0] говнокод нвидии для кернелспейса
[1] несвежие костыли для юзерспейса
[2] костыли в разметке диска
[3] гугловский порт ядра под тегру
[4] порт под тегры в репозитории chromiumos

комментарии (116)