Armbian установка на планшет
Многим из читателей знаком дистрибутив Armbian - “серебряная пуля” для владельцев устройств серии Orange Pi. Без “этих ребят” наши одноплатники давно пылились бы на антресолях.
Возможно, кто-то уже убедился, что “ядра” под определенный процессор от Allwinner (H2/H3/A20/A10) одинаковые, а “дистрибутив” различается только настройками script.bin (для legacy-ядер) или uboot и Device Tree.
Механизм Device Tree был введен в ядрах 4.x для облегчения портирования Linux на новые устройства. Это файл, описывающий “дерево устройств” в некотором универсальном виде. При старте системы он передается в качестве параметра загрузчику, который уже в свою очередь правильно инициализирует систему. Вроде так :).
Таким образом открываются возможности для установки Armbian даже на те устройства, где он официально “не существует”.
Во избежании недоразумений - всё нижеописанное относится к устройствам на Allwinner A10/A20, других у меня в данный момент нет :) или они поддержаны.
Для этого есть два пути:
- Путь правильный - собирать свою систему, благо разработчики Armbian предоставляют такую возможность. Нужно выбрать загрузчик под своё устройство, который будет использовать нужный DT-файл. Вполне годный вариант, если вы точно знаете, что у вас за девайс, и он поддержан в исходниках ядра linux-sunxi.
- Путь неправильный - выбрать “похожий” вариант устройства и подкрутить его DT-файл. Потребуется куча усилий, но в результате вы можете вернуть к жизни какой-нибудь убогий девайс на Android 4.0.4.
Ясное дело, я выбрал путь второй (устройства черти-какие). Помня успешный опыт установки legacy-ядер от уважаемого romanrm от Cubieboard/Cubieboard2 на чудо-устройства из Поднебесной я решил попробовать установить mainline-версию Armbian на выводок устройств с КДПВ (картинки-для-привлечения-внимания).
Итак, слева направо:
- Подделка под MK808C. Работает на Allwinner A20, но, в отличие от оригинала имеет всего 512 мегабайт памяти. Про оригинал можно почитать вот тут. Прошивка Android 4 для него есть, как пишут на 4pda - получена от продавца. Так что никаких кастомов и обновлений, то есть тупиковая ветвь эволюции. “Похож” на Cubieboard 2.
- Measy U1A. Типа бренд. Allwinner A10, 1 гб памяти. Из положительных вещей - на нём работает Cyanogen. “Похож” на Cubieboard 1.
- Странный образец по имени Intcrown. Очень похож на предыдущий, но вот только Cyanogen поставить нельзя (другой WiFi чип), есть какая-то прошивка на 4pda, искать в теме про MK802II (даже вспоминать об этом не хочу). Опять-таки похож на Cubieboard 1.
Ну а дальше всё просто - качаем дистрибутивы Armbian для Cubieboard 2 и 1, пишем на microSD и грузим. Небольшая загвоздка с Cubieboard 1 - в Armbian он помечен, как deprecated, т.е. ветка не развивается, но, к счастью, образ доступен для скачивания.
С удивлением обнаруживаем, что система вполне себе стартует, но в dmesg видим массу “красноты”, ибо у нас нет ни Ethernet, ни Sata, ну может ещё пары устройств. На этом этапе лучше обновить систему командами apt-get update и apt-get upgrade.
И тут начинается некоторая магия. Примеры будут для Cubieboard 1, для второй версии принцип тот же.
Шаг первый
Делаем копию DTB-файла, который будем мучить.
cd /boot/dtb sudo cp sun4i-a10-cubieboard.dtb sun4i-a10-cubieboard_patched.dtb
В файле /boot/armbianEnv.txt добавляем строчку:
Перегружаем устройство и проверяем, что всё работает, как до редактирования.
Шаг второй
Для начала нужно декомпилировать dtb-файл в формат, пригодный для редактирования.
dtc -I dtb /boot/dtb/sun4i-a10-cubieboard_patched.dtb -O dts -o /boot/dtb/sun4i-a10-cubieboard_patched.dts
Шаг третий
Теперь открываем полученный .dts и редактируем. Хороший вопрос - что и как убирать :) Смотрим в dmesg, находим несуществующие устройства типа ethernet, sata, ir и меняем их статус из “okay” на статус “disabled”.
Вот пример для sata:
Лучше отключать устройства по одному и проверять, достигнут ли желаемый эффект. Перед перезагрузкой нужно скомпилировать dts обратно в dtb.
dtc -I dts /boot/dtb/a10-cubieboard_patched.dts -O dtb -o /boot/dtb/a10-cubieboard_patched.dtb
Финально я лично получил вполне работающую систему. Главное тут - “не перехимичить” с устройствами, иначе останетесь без USB или там hdmi-вывода.
Шаг четвертый, последний и необязательный
В armbianconfig отключите обновления uboot и ядра. Это полезно, если не хотите повторять все приседания или гадать, почему система не грузится после обновления этих компонентов.
На выходе - правильно работающее устройство с ядром 4.x, которое вполне справится с задачами домашнего сервера.
Что ещё можно сделать? Например, для первого и третьего девайса на фотографии установить в nand систему на legacy ядре. В этом случае, правда, придётся выполнять отключение в script.bin - как его редактировать, можно почитать в документации на linux-sunxi. Но устанавливать не просто систему, а с GUI - ведь там будет работать аппаратное ускорение. И карманная рабочая станция вполне готова к работе :), а про винтажный Android забыть, как про страшный сон - всё равно прошивки скоро невозможно будет найти.
Да, кстати, если кто-то будет собирать какие-то 3rd-party драйвера с гитахаба в Armbian, тут нужно выполнить ещё один шажок, а именно:
После этого драйвера вполне себе собираются.
На этом вроде всё. Пожалуй, про Android-свистки уже хватит, много уже про них написано.
Поскольку предыдущая статья получилась очень уж объёмной, я решил разбить её на две части.
В этой части я рассмотрю некоторые аспекты настройки системы и устройств ввода, таких как кнопки планшета, тачскрин и G-сенсор.
Подготовка системы
К этому моменту исходный образ Armbian уже записан на microSD. Для надёжности, я делаю ещё раз sync .
Подмонтировав свеже записанный раздел, я заменил script.bin новым:
Теперь пришло время настроить сетевой интерфейс.
В файл /etc/network/interfaces требуется добавить следующие строчки:
Что бы интерфейс появлелся, необходимо добавить в загрузку модуль ядра g_ether . Просто добавляем его в файл /etc/modules-load.d/modules.conf .
Всё это позволит использовать USB OTG планшета, как виртуальную сетевую карту и соединить таким образом планшет и ПК.
Теперь размонтирую SD карту и безопасно её извлекаю, вставляю карту в планшет.
После включения планшета, или перезагрузки из андроида планшет загрузит Armbian с SD карты.
Всё было сделано верно, и на экране появилось приглашение ко входу.
На скриншоте виден кусок лога, я не разбирался почему, но иногда лог загрузки выводится, а иногда нет.
Установка оконного менеджера
Правда насладиться рабочим тачем пока не получилось, ибо нужно ещё установить оконный менеджер.
Для проверки функционала я выбрал Window Maker - у него из коробки есть большие кнопки на экране, которые удобно нажимать пальцем.
Установка сводится к одной команде:
После установки остановил X-server и запустил его уже с использованием WMaker:
Если всё прошло успешно, то на экране видим примерно такую картину:
Здесь я уже успел открыть окно настроек (кнопка в правом верхнем углу) и подредактировать размер заголовков, что бы удобнее было таскать окна пальцем.
Устройства планшета
В принципе, программа минимум уже достигнута:
Кстати, что бы посмотреть на экране, что нибудь повеселее, чем приглашение ко входу можно дать из консоли SSH команду:
И понаблюдать за загруженностью системы уже на экране планшета.
А можно быстренько протестировать фрейм-буфер командой которая заполнит экран мусором:
Заодно можно оценить скорость заполнения.
Но отложим работу с дисплеем на потом, а займёмся другими устройствами планшета.
Имя системы
После установки имя системы cubieboard .
Что бы изменить его, надо отредактировать файл /etc/hostname и перезагрузить систему.
Что дальше
Поскольку я не собираюсь использовать планшет в качестве рабочей станции, то использование стандартных оконных менеджеров избыточно, поэтому я хочу доработать оконный менеджер DWM под себя.
Так же я ещё не рассмотрел процесс установки системы на NAND диск планшета, поскольку хочу данный экзепляр пока оставить с андроидом и под информационную паналь задействовать другой планшет.
Armbian - ОС для однопалатных компьютеров на базе ARM - процессоров. При помощи этой ОС можно создать домашний сервер, мультимедийную приставку, игровой сервер, устройство "Интернета Вещей" и многое другое.
Поддерживаемые платы:
Beelink X2, Orange Pi PC plus, Orange Pi Plus 2E, Orange Pi Lite, Roseapple Pi, NanoPi M1, pcDuino2, pcDuino3, Odroid C0/C1/C1+, Banana Pi M2+, Hummingboard 2, Odroid C2, Orange Pi 2, Orange Pi One, Orange Pi PC, Orange Pi Plus 1 & 2, Clearfog, Lemaker Guitar, Odroid XU4, Udoo Neo, Banana Pi M2, Orange Pi A31S, Cubieboard 1, Cubieboard 2, Hummingboard, Lamobo R1, Banana Pi PRO, Orange Pi mini A20, Olimex Lime A10, Olimex Micro, Olimex Lime 2, pcDuino3 nano, Banana Pi Plus A20, Udoo quad, Orange Pi A20, Olimex Lime 1, Banana Pi, Cubox-i, Cubietruck
Скрины и видео ОС:
Огромная просьба владельцев тем плат или собирающимся создать такую тему скинуть мне ссылку на нее и сделать ссылку на эту тему в вашей шапке ;) Так можно будет объединить вопросы связанные с софтом в одну ветку. На данный момент данный дистрибутив рекомендован форумчанами как лучший дистрибутив для Orange Pi.
Тема в разработке и будет периодически пополняться. Тема создана в этом разделе, так как специфических разделов для обсуждения таких ОС я не нашел.
Автор темы против WAREZ и надеется, что пользователи будут приобретать приложения законными способами.
Часто на данных платах приходится редактировать файл script.bin В основном для изменения каких-либо аппаратных возможностей платы. С дистрибутивом armbian для этого не нужен отдельный компьютер с Linux.
Для редактирования script.bin его нужно конвертировать в script.fex. Делается все это вот так:
1) Создаем резервную копию оригинального файла
armbian-config
Я уже использовал утилиту armbian-config , которая позволяет произвести некоторые настройки системы.
Пункт Timezone позволит настроить часовой пояс.
Пункт Install запускает процедуру установку системы на другие устройства. Например можно перенести систему на встроенную в планшет NAND память и не использовать для этого SD карту. Конечно в этом случае, можно будет распрощаться с Android-ом.
WiFi этот пункт я уже использовал, для подключения к точке доступа.
Hotspot создать свою точку доступа. В случае планшета - это не актуально.
Hold полезный пункт, позволяющий предотвратить обновление пакетов ядра и поддержки железа. Без “заморозки” можно при очередном обновлении окирпичить систему.
Softy установка пакетов приложений для решения типовых задач.
Monitor простой лог загрузки системы.
Fexedit редактор script.bin. Но я предпочитаю делать это руками через консоль.
Bootenv редактор файла /boot/armbianEnv.txt .
Network редактор файла /etc/network/interfaces .
Services управляет загрузкой системных сервисов при старте системы.
Welcome управляет информацией, которая будет отображена при логине в систему. Можно отключить лишнее, например здоровый баннер с надписью Cubieboard .
Nightly переключает систему на ветку нестабильных пакетов ночных билдов. На ваш страх и риск.
Switch позволяет выбрать свежее ядро для системы. Но там отсутствуют интересные возможности, такие как поддержка NAND.
Механические клавиши
Поддержка клавиш планшета осуществяется загрузкой модуля sun4i_keyboard .
Наверное одно из самых недолговечных домашних электронных устройств - это планшет. Недлоговечное не в плане быстрой поломки (хотя и такое за ними водится), а в плане быстрого устаревания.
ПО ориентируется на флагманы, а устройство из среднего или низшего ценового диапазона ещё год назад вполне сносно работавшее вызывает только желание приложить его об стену.
Возможен и вариант частично работающего устройства: например разбит тачскрин, окончательно и бесповоротно сдох аккумулятор, может даже и сам экран разбит.
В любом случае, пока живы “мозги” планшета, можно постараться извлечь из планшета пользу установив на него ОС с ядром Linux.
Ради такого дела был извлечён из закромов планшет промаркированный Icoo D70GT . В целом данная методика подойдёт и для других планшетов на базе Allwinner процессоров.
Характеристики я нашел на Icoo D70W:
- Android 4.0.3 (ICS)
- CPU: All Winner A10, 1.2GHz; -GPU: Mali 400
- Оперативная память (RAM): 1GB,DDR3
- Емкость аккум: 3600 мАч
- Встроенная память: 16GB
- Экран: емкостный, 1024 x 600
- WiFi 802.11 b/g/n
- Камера: 1.3 Мпикс (gc0308)
Icoo D70GT попроще. Реальные отличия в характеристиках:
- Емкость аккум: 3100 мАч
- Встроенная память: 8GB
- Экран: емкостный, 1024 x 600, но с плохими углами обзора.
- Камера: 0.3 Мпикс Сенсор gc0308 по данным script.bin с разрешением 640x480.
- WiFi 802.11 b/g/n (0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter)
Максимальная частота в 1.2GHz вызывает сомнения, по крайней мере когда я попробовал поднять максимальную частоту до 1.2Ghz и запустил stress тест планшет очень быстро перестал откликаться на внешние раздражители. Так что пока, примем максимальную частоту за 1GHz.
Но пора переходить к практической стороне вопроса.
Тач скрин, как он есть
Поковыряв исходные коды модуля ядра, я обнаружил, что модуль можно собрать в режиме мультитача и в простом режиме.
По умолчанию он собирается в режиме мультитача и остаётся только заняться персборкой модуля.
Всё ядро конечно пересобирать не надо, я взял только нужные файлы из репозитория ядра linux-sunxi.
Понадобилось три файла ctp_platform_ops.h , goodix_touch.h и goodix_touch.c .
На планшете создал каталог под модифицированный модуль и скачал в него файлы.
Так же создал в этом каталоге Makefile :
Теперь собираю модуль командой make . Дополнительных пакетов ставить не пришлось, в составе armbian уже идут заголовки ядра и компилятор gcc .
Вот так выглядит процесс сборки у меня.
На выходе получился модуль ядра goodix_touch.ko .
Теперь для проверки удаляю стоковый модуль rmmod goodix_tooch и добавляю свежескомпилированный insmod goodix_touch.ko в ядро.
Можно убедиться, что модуль теперь подключён:
Появилось новое устройство мыши:
А X-server подхватил новообретённого друга:
Редактирование script.bin
Как видно из расширения, этот файл имеет определённый бинарный формат, и не предназначен для редактирования человеком.
Для решения этой проблемы в составе Sunxi tools присутствует конвертер sunxi-fexc и обёртки для него bin2fex и fex2bin .
В образе Armbian эта утилита уже присутствует, для пк её понадобится собрать самостоятельно, как - описано на странице sunxi tools, или установить из репозитория ос. например: sudo apt install sunxi-tools .
Я преобразовал полученный script.bin в текстовый формат:
и отредактировал полученный файл своим любимым текстовым редактором.
Для начала я изменил два параметра в секциях [usbc0] и [usbc2] , что бы usb порты были доступны сразу после загрузки (внимательный читатель уже обратил внимание, что fex файл схож по формату с ini файлом).
Параметры называются одинаково:
И всё что требуется - лишь заменить 0 на 1 :
Это укажет, что при загрузке устройство должно активировать USB порты.
Нулевой порт - это OTG порт, а на втором порту подключен WiFi модуль.
В этом планшете порт 1 не используется, поэтому он запрещён в секции [usbc1] с помощью параметра
Для других планшетов может потребоваться больше изменений, что бы получить от планшета максимум.
Подробнее о параметрах fex файлов можно почитать на странице Fex Guide.
После того, как файл отредактирован, я сохранил его и конвертнул обратно в script.bin .
Обратите внимание, что я сохранил результат в новый файл new_script.bin, что бы не потерять оригинальный.
TabletWM
TabletWM заявлен как WM для планшетов и устройств с малым разрешением экрана.
Формально он не занимается окнами, а растягивает запущенное приложение на весь экран.
Так же в его составе идёт экранная клавиатура.
Для сборки понадобилось установить заголовочные файлы библиотек:
Можно ещё собрать TabletLauncher для запуска приложений. Но его я собирать уже не стал.
Извлечение script.bin
Для нормальной работы планшета под управлением Armbian требуется файл инициалзиации script.bin он данного устройства.
Пока одной рукой я качал и записывал образ Armbian, другой рукой извлекал этот файл из android-прошивки планшета.
Прежде всего установил adb . На debian-based системах это делается одной командой:
После установки, подключил планшет к ПК по USB. Отладка по USB должна быть разрешена.
Зайдя в шелл планшета через adb
я сделал дамп раздела nanda (boot раздел) целиком, потому что смонтировать его непосредственно на планшете у меня не получилось. Возможно ещё придётся выполнить на планшете su для перехода под суперпользователя.
Следущим шагом скопировал полученный образ раздела:
После этого смонтировал образ из файла локально и извлёк из него script.bin .
Копию я заботливо сохранил d70gt_script.bin.
Выбор образа Armbian
Выбираем образ Armbian для платы с похожими характеристиками. Можно не угадать с первого раза и планшет не стартанёт.
Я взял образ для Cubieboard 1, причём не mainline kernel , а legacy .
Правда куби уже находится в неподдерживаемых устройствах, но нам и не нужны последние новшевства.
А образ с legacy ядром выбран из тех соображений, что с ним можно использовать script.bin и он поддерживает NAND память.
После скачивания архива, нужно распаковать его и записать образ на microSD карту объёмом не менее 2Gb. Будет большим плюсом, если карта будет обладать хорошей скоростью на чтение и запись.
Как выбрать карту и записать на неё образ можно прочитать в официальной документации Armbian.
Под linux-системами можно воспользоваться штатными средствами.
У меня система автоматически монтирует подключённые диски, так что предварительно необходимо размонтировать карту:
Для записи образа удобно воспользоваться утилитой ddrescure , она наглядно показывает процесс записи на карту:
Путь к устройству MicroSD карты зависит от количества дисковых устройств в вашей системе, у меня это /dev/sdc .
Если ddrescue не установлено, и нет желания или возможности его установить, можно воспользоваться обычным dd .
Touch screen
В данном планшете используется контроллер ёмкостного тачскрина Goodix GT801 и это ещё одна причина, почему понадобилось legacy ядро - для него есть модуль.
Что бы модуль заработал, потребуется внести изменения в script.bin .
Я внёс следующие правки в d70gt_script.fex :
- Секцию [ctp0_para] переименовал в [ctp_para] .
- Имя чипа ctp_name = "Goodix-TS-1GT801" переименовал в ctp_name = "Goodix-TS" .
- Изменил параметр ctp_screen_max_x = 1280 .
- Изменил параметр ctp_screen_max_y = 768 .
Размеры тачскрина не соответствует реальным размерам дисплея. Это сделано специально, поскольку драйвер в составе armbian понимает только два разрешения: 800*480 и 1280*768 . Конечно можно взять исходные коды ядра, добавить в драйвер нужное нам разрешение и пересобрать модуль. Но это я отложил на потом.
Теперь можно конвертировать скрипт fex2bin d70gt_script.fex /boot/script.bin и перезагрузить планшет.
Проверим, что модуль успешно загружается:
Запуск X-server
Для начала я установил необходимый минимум для запуска X-сервера:
Здесь сам сервер, драйвер фреймбуфера для устнойств на Allwinner, скрипты запуска сервера и терминал.
Так же будут подтянуты необходимые зависимости. В итоге у меня было установлено 34 новых пакета.
Так же я установил рекомендованные пакеты с утилитами и шрифтами:
Для удалённого подключения к X-серверу будет полезна утилита x11vnc ( apt install x11vnc ). Она позволяет осуществлять полный контроль по сети.
Для мониторинга содержимого фреймбуфера (даже если не запущен X-server) можно воспользоваться утилитой framebuffer-vncserver. К сожалению, она позволяет только смотреть, но не передавать нажатия клавиш или движения мыши.
После установки запускаю X-сервер командой startx . Эта команда прекрасно выполняется из сеанса SSH и самостоятельно находит экран, на котором запустить сервер.
На экране можно наблюдать запущенный xterm : чёрные буквы на белом фоне. Терминал занимает только часть экрана и не имеет никаких элементов управления окном, но это и естественно: я ещё не ставил никакого оконного менеджера.
Что бы терминал обрёл привычную гамму “серый на чёрном” нужно дописать в файл ~/.Xdefaults Строчки xterm*background: black и xterm*foreground: gray .
Swap файл
Armbian по умолчанию использует swap-файл /var/swap. Т.е. когда оперативной памяти будет не хватать, система начнёт выгружать данные на SD карту или NAND память, что медленно и не полезно для таких устройств.
Что бы отключить использование свопа необходимо в файле /etc/fstab закомментировать строчку
и перезагрузить систему.
G-sensor
Он же акселерометр. В планшете установлен чип mma7660 .
Для его использования достаточно подкючить модуль ядра:
Если всё успешно, то в каталоге /dev/input появится дополнительное устройство event* (в моём случае event2 ), а так же устройство js* ( js0 ). Т.е. с точки зрения ядра - акселерометр - это джойстик.
Что бы акселерометр был доступен сразу после загрузки системы следует добавить строчку mma7660 в файл /etc/modules-load.d/modules.conf .
Проверить работу акселерометра можно командой
Можно так же установить пакет apt install joystick и дать команду jstest --normal /dev/input/js0 , но он подтянет за собой ещё клиентские библиотеки X-сервера и некоторые звуковые библиотеки.
Тачскрин в режиме тачпада
Тачскрин не подавал признаков жизни.
Связано это с тем, что модуль собран исключительно для режима мультитача, т.е. тачскрин прекрасно понимает несколько касаний, но не может прикинуться мышью.
В таком варианте мне удалось заставить работать тачскрин только в режиме тачпада: в иксах появился курсор мыши, и двигая пальцами по тачу можно было двигать курсор.
Для этого я установил модуль X-сервера xserver-xorg-input-multitouch
и создал файл /etc/X11/xorg.conf.d/99-mtouch.conf со следующим содержимым
И рестартовал X-сервер.
Тачскрин обрёл некоторую функциональность, но это было не совсем то, что хотелось, поэтому 99-mtouch.conf отправился в загашники до лучших времён, а я начал искать другие пути.
Подключение по сети
“Почему же сразу нельзя было настроить WiFi?” спросите вы. Да, на более другом планшете можно было это сделать, но не в этом случае.
Всё дело в том, что в планшете используется WiFi модуль Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter, а в использованном нами образе Armbian-а подключаемый модуль ядра для этого устройства присутствует, но собран для архитектуры sun5i, а само ядро для архитектуры sun4i.
Вот эта ма-аленькая деталь, не даёт его нормально использовать.
Поэтому для начала я и стал устанавливать соединение с великой паутиной по тому интерфейсу, который доступен.
Подключил планшет к ПК USB кабелем. Не следует использовать низко-качественные кабели - поимеете кучу проблемм.
В логах dmesg на ПК можно посмотреть, что было создано новое сетевое устройство:
Сперва как usb0, а затем переименовано в enp0s29u1u5 .
На вашей системе оно будет иметь другое имя, а может так и остаться usb0.
Теперь настраиваю новый интерфейс на ПК.
Но на самом деле не всё так просто оказалось. Возможно это проблема моего планшета, но интерфейс на ПК периодически отваливался и терял настройку. Так что я прописал настройки статического IP через Network Manager, что бы при поднятии интерфейса он автоматически выставлял нужный IP.
Так же разово прописал маскарадинг, что бы наш планшет мог ходить в интернет.
Наконец настало время осуществить торжественный вход на планшет. По SSH.
Соединение через USB получилось довольно тормозное, так что надо подождать и не паниковать.
По-умолчанию для пользователя root задан пароль 1234 .
После успешного входа, armbian произведёт предварительную самонастройку, запросит изменение пароля root и создание нового пользователя, расширит раздел на SD карте на весь доступный объём.
Arbian попросил перезагрузить систему, для завершения настройки и я удовлетворил его желание командой reboot .
SSH позволяет входить на отдалённую систему не только по паролю, но и по RSA ключам. Это удобнее и безопаснее, так что можно скопировать свой публичный ключ на планшет командой ssh-copy-id root@192.168.99.70 и облегчить себе процедуру входа.
Дождавшись окончания перезагрузки (это видно на экране планшета, по появлению приглашения ко входу) я опять вошел на планшет и проверил, что мировая сеть доступна.
Если по каким-то причинам настроить маскарадинг не удалось, можно установить на ПК какой-нибудь прокси-сервер, например tinyproxy . Для обновления системы через apt его вполне хватит.
Если используется прокси, то надо будет на планшете указать его адрес.
Теперь обновляю систему целиком с помощью apt .
Потребовалось запастись терпением, что бы дождаться завершения процесса установки. Сама загрузка пакетов происходит достаточно быстро, а вот распаковка пакетов дело долгое. Особенно долго распаковывается ядро и его заголовки.
Перед выполнением команд обновления, можно запустить screen или tmux . В случае потери соединения процесс обновления не прервётся и к нему можно будет вернутся командой screen -r ( tmux a ).
Уф, я не засекал, сколько времени длилось обновление системы, но по ощущениям это было от получаса до часа. Время сильно зависит от скорости записи на SD карту.
Теперь можно в очередной раз перезгрузить систему командой reboot и опять войти на планшет.
В обновлённой системе модуль 8192cu успешно загрузился. В этом можно убедится дав команду lsmod | grep 8192cu .
Так же можно убедиться, что WiFi интерфейс стал доступен:
Настроить подключение к точке доступа проще всего с помощью ncurses утилиты armbian-config которая была установлена при обновлении.
Интерфейс у неё простой и понятный, так что не вижу смысла подробно останавливаться на ней.
Отмечу только, что соединение устанавливается посредством NetworkManager и доступные конфигурации лежат в каталоге /etc/NetworkManager/system-connections/ .
В завершении откроем файл /etc/network/interfaces и закомментируем одну строчку ранее добавленную при настройке интерфейса usb0 :
Если это не сделать, то планшет будет пытаться ходить в интернет через USB сетевое подключение, а это совершенно не нужно.
При желании можно полностью отключить конфигурацию для usb0 но я его оставил, что бы иметь резервный интерфейс для доступа к планшету.
Теперь для чистоты эксперимента перезагрузим планшет (любимая команда reboot ) и после перезагрузки зайдём на планшет уже по WiFi.
В предыдущих частях удалось запустить систему на планшете и настроить тачскрин.
Но как всегда хочется большего - например установить X-server, что бы получить все преимущества графического интерфейса.
Читайте также: