Orange Pi Pc Plus - установка системы и перенос на eMMC
Данная статья справедлива ко всему семейству
Моя доска выглядит вот так…
ТТХ и элементы
Ранее я уже писал про установку ОС на Raspberry Pi без графики, про управление GPIO и подключение 5-ти дюймового экрана.
Сегодня будет описываться установка и настройка ОС ARM
Забегая вперёд скажу, интерфейс работает шустро, всё функционирует «изкаробки», видео с usb-флешки проигрывается в smplayer и в VLC отлично, равно как и с удалённого компьютера через samba. Фильмы гонял разрешением 720р (1080р у меня что-то не нашлось). You
Смело и глубоко вставляйте HDMI-кабель, а то будет отваливаться изображение.
Очень важно, позаботится о хорошем блоке питания
Однако если рекомендуется не менее 2-х А, то и надо этому следовать.
Радиатор на CPU обязательно нужен. Изкаробки настроенно на плавающую частоту, от 480Мгц до 1296Мгц. Если использовать все заявленные клоки (1600Мгц, что кстати сам производитель не рекомендует делать и в отличии от компании OrangePi заявляет, что процессор Allwinner H3 рассчитан на работу на частоте 1.296 ГГц), тогда нужно охлаждение посерьёзней, некоторые энтузиасты даже куллеры припакивают.
Несмотря на высокое тепловыделение и прожорливось, этот процессор снискал популярность за счёт невысокой цены.
Прошивок для этой штуковины немало. Я перепробовал различные из этих и этих, однако постоянно возникали какие-то трудности. То не работало что-то важное, звук, например, шёл исключительно через аналоговый выход и ни в какую не желал знать HDMI, то в целом всё работало паршивенько и медленно. На каком-то дистрибутиве работал только один usb-порт (пришлось воспользоваться хабом) и не работала сеть.
В конце концов выбор пал на armbian, на нём заработало всё, кроме мелочи.
Образ качался отсюда…
В разделе для своего устройства я перешёл по ссылке armbian.com и выбрав там десктопную версию…
… нажал на оставшуюся кнопку
После распаковки архива у Вас появится папка с кучей файлов, и один из них будет заканчиваться — .img, размером около 3ГБ.
Вот его-то и нужно записать на флешку.
О том, как это сделать, подробно написано в предыдущей статье, начиная с этого места и до главы "Запуск".
После выполнения описанных там действий возвращайтесь сюда.
Втыкайте в "
Сейчас Ваш логин - root и пароль - 1234
На экране побегут строки и в процессе загрузки они остановятся на вводе логина и пароля:
Последовательно вводим то и другое (пароль невидим):
Теперь нас попросят немедленно сменить пароль для rootа
Придумываем новый (пароль должен быть посложней, а то система будет ругаться):
Повторяем новый:
После успешной смены пароля для root и недолгой «задумчивости» будет предложено создать для себя нового пользователя. У меня он будет — dima:
Далее нужно придумать пароль для нового пользователя и повторить его (должен отличаться от пароля rootа):
Следом появится предложение заполнить данные на нового пользователя, но делать этого не нужно, просто нажимайте Enter, потом напишите y и опять Enter.
Так же согласитесь (нажав y и Enter) с разрешением дисплея и система наконец загрузится.
На этом самая нудная часть позади. Перегрузитесь чтоб убедиться в нормальной работе.
Если что-то пошло не так и/или Вы запутались, то заново накатите образ на карточку и повторите всю процедуру по новой.
Я в первый раз на вводил паролей и забыл их, пришлось всё делать снова.
Переходим к следующему этапу.
Везде, где в путях к файлам прописан пользователь dima, не забывайте переправить на своё.
Открываем в меню программ «Terminal Emulator» или подключаемся по ssh (кому как больше нравится) и смотрим свободное место:
df -h
Доступно 12Гб (sd-карта 16Гб).
Теперь обновите репозиторий:
sudo apt update
Установите русскую локализацию:
sudo apt-get install language-pack-ru language-pack-ru-base language-pack-gnome-ru-base language-pack-gnome-ru firefox-locale-ru libreoffice-l10n-ru
Откройте файл /etc/default/locale
sudo nano /etc/default/locale
Удалите все языки и вставьте это:
LANG="ru_RU.UTF-8"
Получится вот так:
Откройте файл /etc/default/keyboard чтоб добавить русскую раскладку клавиатуры:
sudo nano /etc/default/keyboard
Удалите всё и вставьте это:
XKBMODEL="pc105"
XKBLAYOUT="us,ru"
XKBVARIANT=","
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"
Получится вот так:
Перегрузитесь, интерфейс должен стать русским и появится переключение раскладок (alt + shift), правда без индикатора.
Теперь обновите систему и перегрузитесь:
sudo apt update
sudo apt upgrade
В процессе апгрейда, меня попросили указать переключение раскладки, и после перезагрузки оно вообще исчезло. Оказалось, что изменился файл /etc/default/keyboard, который мы только что редактировали.
Его можно опять исправить, а можно и не исправлять, потому-что сейчас мы установим нормальную переключалку с индикатором:
sudo apt install gxkb
После установки gxkb, создаём файл для его автозапуска:
nano /home/dima/.config/autostart/gxkb.desktop
Вставляем содержимое:
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=gxkb
Comment=gxkb
Exec=gxkb
OnlyShowIn=XFCE;
StartupNotify=false
Terminal=false
Hidden=false
Сохраняем и ребутимся.
Теперь появится индикатор раскладки и переключаться она будет по Alt + Shift.
Сочетание клавиш можно менять в предпоследней строчке файла — /home/dima/.config/gxkb/gxkb.cfg
Настраиваем свой часовой пояс:
sudo timedatectl set-timezone Europe/Moscow
sudo reboot
Посмотреть другие пояса:
timedatectl list-timezones
Любые другие настройки
Далее установим менеджер пакетов, текстовый редактор, mc, медиа-проигрыватели и браузер:
sudo apt install synaptic medit mc smplayer smtube vlc chromium-browser
Установим кодеки:
sudo apt install ubuntu-restricted-extras
Если сейчас включить «тяжёлое» видео и в терминале запустить программу — armbianmonitor…
sudo armbianmonitor -m
… то будет видно как расходуются ресурсы:
А вот так в простое:
Установим samba
sudo apt install samba samba-common-bin
Создаём папку для самбы:
mkdir /home/dima/papka
Даём её права:
sudo chmod -R 777 /home/dima/papka
Бекапим дефолтный конфиг:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
И создаём свой:
sudo nano /etc/samba/smb.conf
Вставляем это:
[global]
workgroup = WORKGROUP
netbios name = OrangePi
server string = share
security = user
map to guest = bad user
browseable = yes
[istarik]
path = /home/dima/papka
writeable = yes
browseable = yes
guest ok = yes
Рестартуем самбу:
sudo /etc/init.d/samba restart
Папка "/papka" открыта настежь.
Установим очень удобный медиацентр — Kodi
sudo apt install kodi
Первым делом русифицируем — SYSTEM ⇨ Appearance ⇨ International ⇨ Language.
Настраиваем источник звука — СИСТЕМА ⇨ Система ⇨ Вывод звука ⇨ Устройство вывода звука. Если звук идёт по HDMI, то выбирайте — sndhdmi и громкость подкрутите, а то у меня на нуле стояло.
В остальных настройках разберётесь сами.
В данный момент ещё не всё русифицировалось в системе, и чтобы это исправить зайдите в Приложения ⇨ Настройки ⇨ Язык системы и там Вам предложат установить недостающие пакеты.
По окончании установки нажмите кнопку «Применить для всей системы».
GPIO
Управлять GPIO можно средствами системы.
Подключите светодиод вот так:
Минус на пин 6, плюс на пин 16 (Physical).
Становимся суперпользователем
sudo su
Экспортируем пин 68 (BCM):
echo "68" >/sys/class/gpio/export
Настраиваем его на выход:
echo "out" >/sys/class/gpio/gpio68/direction
Зажигаем светик:
echo "1" > /sys/class/gpio/gpio68/value
Гасим:
echo "0" > /sys/class/gpio/gpio68/value
Если нужно чтение пина, то так же экспортируем его и меняем «out» на «in», тем самым настраивая на вход.
А затем смотрим его значение:
cat /sys/class/gpio/gpio68/value
Если есть напряжение на ножке, то будет «1», если ножка к минусу прижата то «0».
Становимся обратно обычным пользователем:
exit
С иными режимами работы GPIO я особо не разбирался. На сколько я понял, там где написано ALTx значит, что пин можно настраивать на альтернативную функцию, например, ШИМ.
Другой способ управления GPIO осуществляется с помощью библиотеки WiringOP.
Устанавливать её нужно с Github:
sudo apt-get install git-core
Скачиваем файлы:
git clone //github.com/zhaolei/WiringOP.git -b h3
После этого в домашней директории появится папка WiringOP, переходим в неё…
cd WiringOP
Делаем скрипт исполняемым:
chmod +x ./build
И собираем:
sudo ./build
Проверяем:
gpio -v
gpio readall
Вы должны увидеть распиновку.
Сделаем простую программу, которая будет мигать нашим светиком.
Вернёмся в домашнюю папку:
cd ..
Создаём файл blink.c:
nano blink.c
Содержимое:
#include <wiringPi.h>
int main (void) {
wiringPiSetup();
pinMode (4, OUTPUT) ;
for (;;) {
digitalWrite(4, HIGH);
delay (500) ;
digitalWrite(4, LOW);
delay(500);
}
return 0;
}
Нумерация пинов согласно столбцу wPi из верхней картинки. Синтаксис ардуиноподобный.
Компилируем файл:
gcc blink.c -o blink -lwiringPi -lpthread
И запускаем:
sudo ./blink
То же самое, библиотека позволяет делать скриптами.
Создаём скрипт в домашней директории:
nano blink.sh
Заполняем этим:
gpio mode 4 out
while true; do
gpio write 4 on
sleep 1
gpio write 4 off
sleep 1
done
Делаем исполняемым:
chmod +x blink.sh
Стартуем:
./blink.sh
Кнопка
Наверное кнопка
Сделать это можно двумя способами, первый — это установить «менеджер питания» и через него настроить событие. Правда вариантов там не много, либо выключить, либо спросить что делать. Второй способ более простой, сделать скрипт, который будет выключать девайс сразу при нажатии кнопки. Я опишу оба.
Первый:
sudo apt-get install xfce4-power-manager
После установки идём в Приложения ⇨ Настройки ⇨ Менеджер питания, и делаем как хотим.
Второй:
sudo nano /etc/acpi/events/button_poff
Заполняем скрипт этим:
event=button/power
action=/sbin/shutdown -h now
Сохраняем, закрываем, перегружаемся и пробуем нажать на кнопку.
Ковыряясь в скриптах, в /etc/acpi/powerbtn.sh нашёл строки:
...
# If all else failed, just initiate a plain shutdown.
/sbin/shutdown -h now "Power button pressed"
То есть сам автор говорит, что если скрипт не работает, то сделайте только отключение. И приводит пример.
Микрофон
Про микрофон скажу только одно, он работает. Проверить можно клацнув по значку в трее, выбрать там «Volume Control» и посмотреть на вкладке «Устройства Ввода».
ИК-приёмник
ИК-приёмник тоже работает, однако в его настройках я не разбирался.
Чтоб проверить работу, выполните пару команд:
sudo modprobe sunxi-cir
sudo mode2 -d /dev/lirc0
И понажимайте кнопки на пульте. В терминале должны побежать циферки.
Я не помню, установлена ли изначально программа lirc, поэтому вначале сделайте так:
sudo apt install lirc
Ну и наконец переносим всю систему на EMMC
Предварительно выньте usb-флешки и другие носители информации подключённые в usb или sata, если конечно Вы не собираетесь ставить систему на них. Разумеется sd-карту вынимать не надо. )))
sudo nand-sata-install
Вначале появится окно со списком носителей на которые можно перенести систему и варианты переноса.
• boot from SD — system on SATA/USB — загрузочный раздел (/boot) останется на SD-карте, система переедет на sata или usb.
• boot from eMMC — system on eMMC — полный перенос в eMMC.
• boot from eMMC — system on SATA/USB — загрузочный раздел в eMMC, система на sata или usb.
У меня был только один вариант — полный перенос, чего я и желал:
Следом сообщили о стирании eMMC:
И предложили выбрать файловую систему:
Теперь начинается довольно длительный процесс:
Заканчивающейся сообщением, что всё сделано, и предложением отключить «апельсинку»:
Нажмите «Power off», дождитесь выключения, отсоедините питание, выньте sd-карту и включите девайс.
Если всё прошло успешно и доска загрузилась, то можно посмотреть сколько есть свободного места. Размер eMMC равен 8Гб.
Смотрим:
df -h
Доступно четыре с лишним гигабайта, можно много чего ещё напихать.
Теперь можете эксплуатировать «апельсинку» без всяких карточек, а если вставите карту, то загрузитесь с неё, ибо у загрузки с карты приоритет.
На этом всё, всем спасибо.
- +269
- stD
134060
Поддержать автора
Комментарии (5)