Операционные системы для Raspberry PI. Разбираем «Малину» по косточкам

В этой достаточно длинной даже для блога статье описаны первые шаги уже немолодого "айтишника" на пути освоения новейшего подхода к информационному образованию в школах и ВУЗах развитых стран - физического компьютинга на devboard Raspberry Pi, чтобы сделать его доступным своему любимому ребенку и родной школе.

По ходу дела, мне впервые в жизни пришлось познакомиться с альтернативной "Wintel" аппаратной платформой (Raspberry Pi 3 на базе ARM-процессора), освоить работу в незнакомой операционной системе (Rasbian OS на базе Debian Linux), подружиться с новым языком программирования (Python), вспомнить азы радиоэлектроники .

В итоге, всего за 3,5 т.р. и месяц ожидания у моего ребенка появился достаточно мощный, уникальный по своим образовательным возможностям инструмент, сочетающий в себе бесшумный 4-ядерный компьютер размером с кредитную карту, вебсервер, медиацентр, центр управления датчиками "умного дома", лабораторию для освоения основ программирования, робототехники и радиоэлектроники - почти идеальное решение для школьного кружка информатики.
При этом, все программы на нем изначально бесплатны и в широком разнообразии доступны из онлайн-репозиториев, а вирусов не бывает в принципе.

Экскурс в историю обучения информатике в школе и ВУЗе

С конца 90-х тем или иным образом принимаю участие в развитии процесса информатизации образования в школах и ВУЗах.
В конце 80-х будучи старшеклассником "зацепил" начало внедрения компьютеров в школьное образование. Тогда это были компьютерные классы на основе микроЭВМ БК 0010 и учительского компьютера ДВК-2. С увлеченим осваивал программирование Basic. Книг тогда по нему практически не было. Вместе с преподавателем приходилось все изучать по брошюркам и "методом научного тыка". Перед окончанием школы в Чувашию приехал проект IBM "Пилотные школы". К счастью, в одну из школ Новочебоксарска (№14) был поставлен компьютерный класса на основе IBM PS/2. Тогда это было подобно чуду - настоящий компьютер "IBM PS" с "мышкой", флоппи-дисководом и шикарным 256-цветным экраном! Учительский компьютер имел 286-й процессор, 1 мегабайт оперативной памяти и 40Мб жесткий диск (который казался настолько большым по сравнению с флоппи-диском, что мы не знали, можно ли его вообще чем-то заполнить "под завязку"). Ко всему прилагался матричный принтер - "чудо враждебной техники".
Затем были 5 "перестроечных" лет учебы в университете, где в ходе учебного процесса я познакомился с кубинскими СМ ЭВМ (те самые, с катушками для записи данных и с тяжелыми металлическими клавиатурами). Но как раз в те самые годы ВУЗы по западным гратнам стали получать современные компьютеры IBM PC-XT 286 и IBM PC/AT 386. Снова я испытал потрясение, изучая Pascal, работая в Norton Commander и осваивая среду гипертекстовой верстки документов LaTex.
Работая несколько лет в школе после окончания ВУЗа имел счастье наблюдать, как в кабинетах информатики БК 0010 постепенно сменяются новыми, на порядки более мощными комьютерами Pentium с графической ОС Windows и офисными программами "на борту". Но дети продолжают изучать на них Basic и Pascal...
По роду деятельности одним из первых в родном городе зашел в Internet и тут же понял, что за ним будущее. Стал заниматься созданием вебсайтов разработкой интернет-проектов, познакомился с Linux- основной ОС Интернета и Perl - тогда самым популярным языком программирования интернет-приложений.
На какой то период времени отошел от школьного образования. Примерно через 10 лет нашел время и желание организовать кружок по компьютерной астрономии в родной школе (ныне гимназии). Практически на моих глазах старые Pentium-ы и Celesron-ы в компьютерном классе благодаря президентскому гранту сменились на мощные двухядерные ноутбуки. В учебной программе уже присутствовали офисные пакеты и графичекские редакторы, основы работы в интернет и знакомство с HTML. Но старые Basic и Pascal также остались...
И вот на дворе уже второе десятилетие нового тысячилетия. Дочка доросла до уроков информатики. От нее я узнал, что в школах все-так же изучают основы работы в Windows и... программирование на Borland Pascal...
А тем временем, во всем мире дети младшего школьного возраста уже пишут программы под Андроид, создают интернет-сервисы на сверхпопулярном языке Python и управляют со смартфонов умными домами на базе Linux-devboard"s с SoC-процессорами...
Задавал вопросы представителям системы образования, в чем проблема застоя с внедрением обучения современным технологиям в школе? Односложного ответа на этот вопрос не услышал. Понял лишь одно, что из-за непопулярности среди продвинутой молодежи профессии учителя информатики, длительности процесса написания учебных программ и пособий, переобучения учительсого состава и переоборудования компьютерных классов, в ближайшем времени моему ребенку в школе ничего не светит, если... Если внедрением новых технологий хотя бы в качестве внеурочной, или олимпиадной работы не займутся энтузиасты. К моему счастью, я сам энтузиаст, и мой первый учитель информатики тоже из их числа. Только нужно помочь с чего-то начать...

Arduino vs Raspberry Pi


Погуглив немного, выяснил, что самым современным в последние пару лет направлением информационного образования во всем мире становитя физический компьютинг - основа технологии IoT (Интернет вещей). Эта тема стала бурно развиваться благодаря появлению недорогой, но достаточно мощной аппаратной платформы Raspberry Pi и связанной с ней инфраструктуры - огромного сообщества преподавателей и этнузиастов, бесчисленнного множества стартовых руководств и учебников, тысяч разработчиков различных библиотек, широкого ассортимента готовых расширений и датчиков. До Raspberry Pi в школьном образовании за рубежом активно продвигалась тема освоения основ кибернетики и физического компьютинга на базе микроконтроллеров Arduino. Благодаря этому для Arduino в настоящее время существует богатый выбор различных датчиков, позволяющим детям под присмотром взрослых, к примеру, конструировать роботизированные платформы, чтобы устраивать примитивные "гонки роботов". В принципе, тема Arduino актуальна и по сей день, но как начальная часть процесса обучения физическому компьютингу, программированию и кибернетике. Raspberry Pi - следующий, существенно более продвинутый, фактически, не ограниченный по возможностям уровень...

Понять, чем отличаются, по своему хороши Raspberry Pi и Arduino можно, сравнив их возможности.

Arduino - это не являющийся полноценным компьютером однозадачный одноядерный микроконтроллер с малым объемом оперативной памяти, невысокой вычислительной мощностью, отсудствием мультимедийных и сетевых возможностей, но низким энергопотреблением и высокой скоростью реакции в критичных к времени проектах. Для управления Arduino требуется компьютер, или ноутбук с USB-портом, что существенно увеличивает стартовый бюджет одного учебного места. Для программирования Arduino необходимо будет изучать C-подобный язык. Arduino достаточно для быстрой реакции на сигнал с датчика, например, чтобы повернуть в другую сторону колесо робота. Но управлять роботом через интернет и обрабатывать маршрут Arduino уже не сможет.

Raspberry Pi (v3 Model B) - полноценный 4-ядерный одноплатный компьютер с 1Гб оперативной памяти и возможностью подключения через USB внешних накопителей, работающий под управлением современной Linux-системы, обладающий продвинутыми мультимедийными (Open GL, HD-Video) и коммуникационными (WiFi, Bluetooth, Ethernet) возможностями. За некоторыми оговорками, Raspberry Pi может с успехом использоваться в качестве полноценного ученического/студенческого компьютера, на котором можно, помимо основной задачи- физического компьютинга, слушать музыку, смотреть HD-видео, заниматься вебсерфингом, работать с документами в офисных редакторах, читать электронные книги и т.п... И при этом, не считая монитора (в качестве которого может выступать обычный ЖК-телевизор с VGA/HDMI-разьемом), USB-клавиатуры и мыши, стоимость одного учебного места на базе Raspberry Pi начинается с 2,5 т.р. На Raspberry Pi можно изучать основы программирования на любых языках. По умолчанию на него предустановлены Python, Scratch и Node-RED, но ничего не мешает через удобный интерфейс Debian-репозитория программ установить LAMP c PHP, Ruby, Java и другие популярные среды разработки. Также на Raspberry Pi, как полноценный Linux-компьютер, можно установить массу полезных бесплатных и полезных для освоения программ, в том числе, вебсервер Apache-основу современного Интернета, среду 3D-проектирования Blender, графический редактор The Gimp, векторные редакторы Xara-X и Inkscape, издательскую систему Scribus. И в добавок, Raspberry Pi располагает интерфейсом GPIO для управления датчиками, изначально предназначенными для Arduino. Более того, если требуется мгновенная реакция на события и АЦП-преобразования сигнала, к Raspberry Pi можно подключить Arduino и управлять датчиками через него!
В итоге, Raspberry Pi представляет собой самый доступный по цене персональный компьютер для учащихся и одновременено развитую аппаратно-программную платформу для «Интернета Вещей».

1. Покупка стартового комплекта Raspberry Pi

Итак, разобравшись, что минуя этап Arduino стоит сразу начинать с Raspberry Pi, я пришел к решению о покупке стартового комплекта для первоначального знакомства, освоения основ работы и азов физического компьютинга на Python, чтобы затем продемонстрировать все это в школе и заинтересовать энтузастов-преподавателей, а также продвинутых учащихся. Таким образом и началась моя эпопея с Raspberry Pi.

К счастью для россиян, все модели Raspberry Pi, включая самую совершенную v3 Model B, а также необходимые компоненты к ней можно заказать с доставкой на aliexpress.com.

По минимуму можно заказать только саму плату Raspberry Pi 3 Модель B с доставкой по цене 2200р. Для начала работы вам понадобится блок питания (зарядник для сотового/планшета) с miniUSB-разъемом, дающим на выходе ток 1А-1,5А, ЖК-монитор или телевизор с HDMI-разъемом, USB-клавиатура и мышь.

Я решил добавить 1,2 т.р. и купить необходимый набор компонент, с которым Raspberry Pi станет более удобным, производительным, совместимым и эффективным. Прежде всего, стоит купить комплект радиаторов для отвода тепла от SoC-процессора и памяти, чтобы они не перегревались на сложных задачах и не снижали производительность системы последовательным отключением ядер процессора и снижением тактовой частоты.
Также очень рекомендуется купить какой либо недорогой корпус, чтобы избежать неудобств и защитить детей от неприятностей. Я взял оригинальный корпус Модель R1 бело-малинового цвета.
Для начала освоения основ физического компьютинга вместе с Raspberry Pi сразу стоит заказать стартовый комплект датчиков и монтажную плату с шлейфом для интерфейса GPIO, которые не купишь в местных магазинах. На aliexpress.com существую готовые комплекты, состоящие из датчиков, монтажной платы со шлейфом и переходником, соединительных проводов, светодиодов, кнопок и резисторов. Но они показались мне немного дороговатыми... Поэтому, я взял почти все по отдельности, а светодиоды, кнопки и резисторы решил купить в ближайшем радиоларьке.

Мой список покупок через интернет:
1. Raspberry Pi 3 Модель B с блоком питания на 2,5А и двумя радиаторами для процессора и памяти - 2412р.
2. bredaboard с 40-жильным кабелем и переходником - 282р.
3. HDMI2VGA переходник - 233р.
4. Корпус, модель R1 - 280р.
5. Стартовый комплект из 16 датчиков - 510р.
6. Комплект соединительных проводов - 186р.
Итого : 3900р. (по ценам на февраль 2017г. при курсе рубля 57,70)

После примерно месяца ожидания все заказанные компоненты прибыли в целости и сохранности.

2. Подготовка Raspberry Pi к работе


До первого включения Raspberry Pi необходимо сделать несколько обязательных процедур. Внимание! Перед тем, как достать плату из антистатического пакета, обязательно снимите статическое электричество с рук, прикоснувшись к водопроводному крану или оголенному участку батареи отопления, иначем можете сжечь чувствительную электронику.
Сперва нужно наклеить радиаторы на процессор и микросхему памяти. Это не сложно: сначала отклеиваем защитную пленку с радиатора, затем аккуратно располагаем его над микросхемой, соответствующей ему по размеру и без усилия опускаем на нее радиатор. Сильно прижимать радиатор к микросхеме не надо, он и так будет хорошо держаться.
Затем нужно собрать из частей корпус и поместить в него плату. При сборке корпуса верхнюю крышку и сторону с вырезами под USB-разъемы устанавливаем после вставки (с некоторым усилием) в пазы платы Raspberry Pi.

3. Установка ОС Rasbian

Поскольку Raspberry Pi по умолчанию поставляется без предустановленной операционной системы и собственного носителя информации, его нужно будет купить, а систему скачать и самостоятельно установить.
В качестве системного диска Raspberry Pi на используется microSD-карта минимум 6 класса (скорость записи 6Мб/сек) объемом не менее 8Мб. В интернете советовали сразу покупать карту 10 класса, чтобы избежать возможных проблем с установкой ОС и работой Raspberry Pi.
В ближайшем компьютерном ларьке я купил microSD-карту 10 класса марки Sundisk объемом 8Гб.
Затем я скачал операционную систему Raspbian (на основе Debian Jessie) по адресу https://www.raspberrypi.org/downloads/raspbian/ . Выбирайте Raspbian Jessie with PIXEL - это дистрибутив с графическим интерфейсом и комплектом программ для начала продуктивной работы.
Как выяснилось, скачанный образ при распаковке из архива разворачивается до 4Гб и на диске с файловой системой FAT32 из-за ограничений на максимальный размер одиночных файлов записан быть не может.
Пришлось подключить внешний USB-диск с ФС NTFS и распаковать образ Raspbian ОС на него.
Для записи образа на SD-карту, потребовалось скачать программу Win32DiskImager по адресу и подключить microSD-карту к компьютеру через USB-кардридер.
Интерфейс программы до безобразия прост: в строке "Image File" надо указать на диске образ Raspbian ОС, в выпадающем списке "Device" выбрать microSD-карту и нажать кнопку "Write". Кстати, этой же программой время от времени стоит делать резервное копирование microSD-карты, вставив ее в кардридер, выбрав путь сохранения образа в поле "Image File", задав в выпадающем списке Device имя диска, под которым определиась microSD-картаи выбрав команду "Read".

4. Первый запуск


После успешного завершения процесса записи, вставляем microSD-карту в соответствующий разъем кардридера на Raspberry Pi, подключаем через HDMI-кабель, или HDMI2VGA переходник монитор, подключаем к нижним USB-разъемам клавиатуру и мышь, и только после этого подсоединяем блок питания. Поскольку Raspberry Pi не имее кнопки включения питания, подсоединение/отсоединение блока питания включает и выключает устройство. На всякий случай заранее напишу, что перед обесточиванием на Raspberry Pi желательно корректно завершить работу ОС, чтобы не возникали ошибки при последующем запуске.
К моему глубокому сожалению и ужасу, после подключения питания к Raspberry Pi на мониторе не загорелась заставка графической оболочки Pixel, а выскочила тирада из текстовых "ругательств", завершившаяся строкой "kernel panic" с номером ошибки.
Погуглив на смартфоне, я тут же выяснил, что, повидимому, Raspberry Pi не нравится моя microSD-карта (как позже выяснилось, скорости чтения/записи не достаточно для нормальной работы ОС Raspbian). Во время повторной записи образа ОС Raspbian на SD-карту я заметил, что скорость записи не привышает 4Мб/сек (соответствует 4-му классу SD-карты).
При повторном включении Raspberry Pi со злополучной картой я снова увидел "kernel panic". Пришлось сходить в ларек и поменять ее после некоторых объяснений на менее "брендовую" Prestigio microSDHC 8Гб 10 класса (U1). На "свежекупленную" microSD-карту образ ОС записался в два раза быстрее со скоростью примерно 9,5Мб/сек. При включении с ней Raspberry Pi тут же отобразила приветственное окно и через несколько секунд загрузки я с радостью увидел на дисплее интерфейс X-Windows с красивой заставкой в виде пустынной дороги, уходящей в сторону восходящего солнца.
По-видимому, карта Sundisk оказалась поддельной...

5. Знакомство с Debian Linux, первичная настройка Raspbian ОС, установка полезных программ


Вооружившись парочкой руководств на русском и английском языке, скачанных с различных гик-ресурсов, решил посвятить вечер выходного дня на первичную настройку удобной рабочей среды на Raspbian ОС.

Прежде всего, стоит сказать несколько слов о консоли Debian Linux. Она доступна по кнопке LXTerminal на верхней панели интерфейса Raspbian ОС.
В Linux-консоли вводятся команды для управления ОС, установки, запуска и удаления программ, внесения ручных правок в настройки самой ОС и ее отдельных компонентов. Для успешного запуска большинства команд требуется уровень доступа администратора (root-доступ). Для этого нужно перед командой вводить "sudo ".
Некоторые операции в Raspbian ОС доступны только из консоли.
Прежде всего, это доступ к программе настройки системы raspi_config. Именно в ней производится первичная настройка Raspbian ОС.
Для запуска программы настройки системы надо открыть LXTerminal и ввести в консоли команду:
sudo raspi-config

Первым делом, надо выбрать команду "Expand Filesystem", чтобы расширить файловую систему ОС на все доступное пространство microSD-карты.
Затем обязательно стоит поменять пароль root по умолчанию на доступ к системе через консоль и по SSH командой "Change User Password". Из косоли это далается командой "sudo passwd root".
Затем стоит запустить SSH-сервер для того, чтобы иметь возможность заходить на Raspberry Pi по терминальному протоколу SSH с другого ПК командой "SSH" в окне "Advanced Options".

Очень важно сразу поменять локаль (язык интерфейса) на русский и добавить русскую раскладку клавиатуры.
Это осуществляется в окне "Internationalisation Options". Смена локали осуществляется по команде "Change locale".
Надо выбрать локаль ru_RU.UTF-8 UTF-8. Смена раскладки клавиатуры производится по команде "Change keyboard layout". Далее придется в новом окне выбрать нужную раскладку (ru_RU.UTF-8), в следующем окне задать горячие клавиши смены раскладки, каждый раз подтверждая выбранные действия переходом кнопкой "Tab" клавиатуры на кнопку "Enter" окна программ и нажатием "Enter" на клавиатуре.
Стоит также в окне "Advanced options" перейти на пункт меню "Audio" и выбрать в новом окне варинат вывода звука по умолчанию на внутренний разъем 3.5mm jack, чтобы слушать звук в наушниках, подключенных к стандартному звуковому разъему Raspberry Pi.
После завершения настроек выбираем кнопку "Finish" и соглашаемся на перезагрузку системы.

Следующим этапом настройки Raspbian ОС рекомендуется выполнить обновление ее базы программ и установленных компонент.
Для этого последовательно введем в консоли следующие команды, дожидаясь окончания выполнения каждой из них до появления зеленого приглашения ввода консоли.
Обновление базы программ:
apt-get update
Обновление установленных программ
sudo apt-get upgrade
Удаления оставшихся после удаления программ библиотек, сопутствующих программ и др.
sudo apt-get autoremove
Выполнение второй команды обычно занимает 10-15 минут.
Вспоминая прежний опыт работы в Linux, поспешил установить файловый менеджер Midnight Commander.
sudo apt-get install mc
Без него перемещаться по структуре папок системы командой "cd" получается медленно и не удобно.

На всякий случай, у новичка всегда должна быть под рукой шаргалка по базовым командам Unix...

Ctrl+C - выход из открытой консольной программы (если не предусмотрено других клавиш)
Shift+Ins - вставить текст в консоль
Ctrl+Ins - копировать выделенный текст из консоли
sudo - ставится перед командой и выполняет ее с правами пользователя root
- выключение
sudo shutdown -h now - немедленная остановка системы и запуск процесса выключения
sudo shutdown -h 21:55 - остановка системы и выключение в 21:55
sudo shutdown -h now — выключение Raspberry Pi
sudo su - открыть командную строку с правами root
sudo -i - открыть командную строку с правами root
sudo cp - копирование файла (с ключом -r рекурсивное копирование)
sudo mv - перемещение файла
cat - вывод содержимого файла/файлов
cd — Переход в нужную папку. Например cd /home/pi
chmod - изменения прав на использование файла; u (означает пользователя, который владеет этим файлом), g (группа файлов) и o (другие пользователи), а также r (считывание), w (запись) и x (выполнение)
chmod u+x - устанавливает разрешение владельцу файла на его исполнение
sudo chown pi:root - смена пользователя и/или группы пользователей, которые владеют этим файлом, например пользователя на pi, а группу на root.
dir - покажет содержимое текущей папки
pwd - покажет ваше текущее расположении
date - покажет время и дату
cal - покажет календарь на текущий месяц
cal -y - покажет календарь на текущий год
wget - скачать файл в текущую директорию. Например wget http://mysite.com/myfile.deb
sudo apt-get update - обновит список пакетов с репозитария
sudo apt-get upgrade - обновит установленные пакеты
sudo apt-get install <название> - установка программы <название> из Debian-репозитория
sudo apt-get remove <название> - удаление программы <название>
info <название> -вывод информации о программе
apt-cache search <запрос> - поиск по базе Debian-репозитория программы или утилиты с описанием <запрос>
apt-cache search screen capture - поиск программ для создания скриншотов
sudo apt-get install mc - установка файлменеджера Midnight Commander (Mc)
sudo apt-get install links - установка текстового браузера Links
udo apt-get install scrot - установка утилиты для скриншотов
scrot -d5 - создание скриншота черех 5 секунд
sudo apt-get install synaptic - установка менежера пакетов Synaptic
sudo apt-get install x11vnc - установка VNC-сервера
x11vnc -desktop:0 - запуск VNC-сервера для удаленного управления через VNC-клиент, например realVNC (http://www.realvnc.com/download/viewer/)
top - запуск диспетчера задач
sudo nano - редактирование файла
sudo nano /boot/config.txt - редактирование файла настроек запуска Raspberry Pi
ifconfig — утилита конфигурирования сетевых интерфейсов
iwconfig - просмотр информации о беспроводных устройствах
sudo iwlist wlan0 scan — сканирование Wi-Fi
cat /proc/cpuinfo — смотрим инфо о процессоре
cat /proc/meminfo — отображает подробную информацию о памяти Raspberry Pi
cat /proc/partitions — показывает размер и количество разделов на Вашей карте SD или HDD
cat /sys/devices/system/cpu/cpu0/cpufreq/sca ling_cur_freq — информация о частоте процессора
<имя_программы> --help — отбражение помощи по программе
vcgencmd measure_temp - покажет температуру процессора
free -o -h - покажет, сколько свободной системной памяти доступно
vcgencmd get_mem arm && vcgencmd get_mem gpu — покажет распределение памяти между процессором и GPU
lsusb - список подключенных устройствах
mkdir newDir - создание директории newDir
rmdir oldDir - удаление пустой директории oldDir
rm <имя_файла> - удаление файла/папки (с ключем -r рекурсивное удаление содержимого папки)
& - запускает команду в фоновом режиме
curl - загружает файл либо с сервера, либо на него
grep "паттерн" *.txt - поиск в файлах по маске и заданному паттерну
ping <имя_сервера> - провера доступности сервера
df -h - свободное и занятое дисковое пространство на подключенных устройствах
scp myfile.txt [email protected]: - копирование файла myfile.txt на устройство [email protected] по SSH в папку /home/pi/
scp [email protected]:myfile.txt . - копирование файла myfile.txt с устройства [email protected] в текущую папку по SSH
scp *.txt [email protected]: - копирование всех текстовых файлов с устройства [email protected] в текущую папку по SSH
dd if=/dev/sdd of=backup.img - создание бэкап-образа SD-карты или USB-носителя (/dev/sdd)
dd if=/dev/sda of=/dev/sdb bs=4096 - побайтное копирование данных с устройства на устройство (dd if=/dev/zero of=/dev/sda bs=4k - очистка диска sda)
dd if=myfile of=myfile conv=ucase - прообразование файла в верхний регистр
dd if=myfile of=myfile conv=lcase - прообразование файла в нижний регистр
ls -l | dd conv=ucase - преобразует вывод команды в верхний регистр
apt-mark showauto > autopackagelist.txt - создание списка предустановленных приложений
apt-mark showmanual > manualpackagelist.txt - создание списка установленных вручную приложений

6. Тестирование Raspberry Pi в качестве десктопа

Итак, через полчаса настроек и обновлений Raspberry Pi готов к работе. Что мы имеем "на борту" по умолчанию?
Помимо средств разработки программ, на Raspberry ОС установлен базовый комплект необходимых приложений.
Для работы с документами предустановлены пакет Libre Office и средство просмотра PDF. Для продуктивной работы в интернет с Raspberry ОС поставляется броузер Chromium и почтовый клиент Claws Mail. Для удаленного управления с десктопа и мобильных устройств на Raspberry Pi установлен VNC Connect.
К сожалению, по умолчанию система не содержит медиаплеера с графическим интерфейсом для воспроизведения видео и аудио, но с консоли воспроизведение мультимедийных файлов можно запустить через программу omxplayer, поддерживающую аппаратное ускорение видео в полноэкранном режиме.
В системе имеется графический файловый менеджер Xfce, позволяющий перемещаться по папкам при помощи мышки, осуществлять файловые операции, открывать документы двойным кликом мышки. Как показала практика, по удобству и принципам работы он практически ничем не отличается от привычного нам Проводника.
Открытие меню и переход по папкам в интерфейсе Raspbian ОС осуществляется на удивление быстро, поживее, чем на моем стареньком двухядерном Celeron-е.
После инвентаризации установленного ПО любопытство подтолкнуло проверить скорость работы на Raspberry Pi в Интернет. Открыл в Chromium и первым делом зашел на родной портал cheboksary.ru: страницы открываются быстро и без тормозов. Во второй вкладке открыл соцсеть ВК. Стал прокручивать свою ленту при помощи колесика мышки - неприятных задержек подгрузки не заметил. Лента соцсети скроллится в броузере плавно, без рывков. В третьей вкладке открыл Youtube, а в нем - популярный видеоклип. Видео воспроизводится без задержек и рывков с достаточно хорошим разрешением и достаточно качественным звуком. Развернул видео на полный экран - воспроизведение продолжилось без рывков. Заметил единственный момент - немного заторможенную реакцию на клики мышкой по интерфейсу воспроизведения видео. Можно сказать, что тест на производительность работы в интернет Raspberry Pi прошел.
Проверил скорость рендеринга страниц электронной книги во встроенном в систему PDF-просмотрщике Xpdf. Для этого решил воткнуть в USB-разъем "флешку" и... система сразу ее распознала, открыв через пару секунд окно файлменеджера на папке /media/pi/usb/ с содержимым моего сменного носителя! Приятный сюрприз - в Raspbian ОС реализовано автомонтирование USB-drive! Как выяснилось позже, для демонтирования "флешки" перед отсоединением надо нажать на стрелочку в правом верхнем углу экрана и выбрать ее из списка.
Быстро выбрав нужный PDF-файл, просто кликнул по нему и увидел содержимое в окне просмотрщика. При скроллинге страницы электронной книги рендерились с задержкой примерно в одну секунду, что можно считать вполне приемлемым результатом. Единственный неприятный момент - просмотрщик не смог отобразить русские буквы в оглавлении книги.
Чтобы проверить воспроизведение музыки и видео с "флешки", решил не пользоваться консолью и установил для этого графическую оболочку на Python для системного проигрывателя omxplayer. Конечно, tk-интерфейс оболочки не блещет красотой и дизайном, но все-таки позволяет при помощи мышки выбрать нужные файлы и создавать плей-листы. Хотя в сети писали, что в окне на Raspberry Pi видео с аппаратным ускорением не воспроизводится, как оказалось, через omxplayerGUI это вполне возможно! Видео выводилось на экране с исходным разрешением в окне без рамки, но позволяло перетаскивать окно, причем, без остановки воспроизведения.
Одним словом, интернет на Raspberry Pi работает без ограничений, музыка и видео воспроизводятся, флешки автомонтируются, офисные документы редактируются, фотографии показываются. Что еще нужно для продуктивной работы?

Песочница

крепыш 1 июля 2013 в 14:45

Дистрибутивы для Raspberry Pi

  • Чулан *

Статья из журнала TheMagPi №12 от Alan Coast. [Перевод]. Постарался максимально адаптировать для удобного чтения. Позиционирую как каталог по дистрибутивам для Raspberry Pi.

В течение всего года количество операционных систем для Raspberry Pi значительно выросло. В дополнение к различным вариантам Linux и Unix, добавились RISC OS, Plan 9 и даже стали доступны Amiga совместимые варианты. Взгляните ниже, там обязательно будет что-то интересное.

По умолчанию имена пользователей и пароли даны для каждой ОС, где доступны. Рекомендую поменять их при установке.

Основные

Raspbian

Свободная операционная система на основе Debian, оптимизированная для аппаратных возможностей Raspberry Pi. Для установки поставляется более чем 35,000 программных пакетов.

Plan 9

В первую очередь разработана для научно-исследовательских целей в качестве преемника UNIX Научно-исследовательским вычислительным центром наук в Bell Labs в период с середины 1980-х годов и 2002 годах. Plan 9 продолжает использоваться и создан операционной системой исследователей и любителей.

Plan 9 использует 9P протокол для доступа к локальным и удаленным ресурсам в виде файлов, а также предоставляет точечное монтирование, улучшенную файлоую систему процесса, и родной поддержкой юникода. Все системные интерфейсы, в том числе тех, которые необходимы для работы в сети и пользовательский интерфейс, представлены через файловую систему, а не специализированные интерфейсы.

NB: очень экспериментальная ОС, которая снята по мотивам оригинальной Unix, доведенная до екстрима. Подходит только для программистов в текущий момент.

Moebius

Очень компактный ARM HF дистрибутив на базе Debian. Он помещается на 1 Гб карты SD, имеет особенности, авто изменение размера что-бы лучше адаптироваться к вашему размеру SD карты и использует Raspbian хранилище для установки всего, что нужно. Он поставляется в небольшом объеме памяти и идеально подходит для работы или для интерактивного взаимодействия с устройствами ввода / вывода.

Выделенные (узкоспециализированные)

OpenELEC

OpenELEC (сокращенно от «Open Embedded Linux Entertainment Centre») является свободной, с открытыми исходными кодами, встроенной операционной системой которая предоставляет полный медиа-центр набор программного обеспечения. Поставляется с предварительно настроенной версией XBMC и сторонними дополнениями с ретро-игровой консоли PVR, эмуляторами и плагинами. OpenELEC является чрезвычайно маленькой и очень шустрой системой на базе дистрибутивов Linux

XBian

XBian представляет собой небольшой, быстрый и легковесный дистрибутив Media Center для Raspberry Pi, основанный на минимальном образе Raspbian с XBMC.

Pi Point

Включите ваш Raspberry Pi как беспроводную точку доступа

PwnPi (4GB SD минимум)

Дистрибутив сетевого тестирования на проникновение. В настоящее время он имеет 181 инструментов сетевой безопасности в предварительной установлке, чтобы помочь тестеру в проникновении. Он построен на Debian “squeeze” образе с веб-сайта Raspberry Pi Foundation и использует Xfce в качестве оконного менеджера.

ha-pi

Это образ Debian “squeeze” создается для выполнения «PWN plug» типа атак с использованием Raspberry Pi.

Теги: distrib, linux, pi, raspberry pi

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Объемом >= 16 Гб, класса >= 10

  • Блок питания 5В выдающий >= 2А
  • HDMI шнур
  • Монитор
  • USB мышь, клавиатура
  • Многообразие дистрибутивов

    Скачиваем образ операционной системы (далее ОС) с официального сайта
    https://www.raspberrypi.org/downloads/raspbian/
    • NOOBS - упрощенная установка и долгая т.к. дистрибутив скачивается Малинкой в процессе после выбора нужной ОС из списка предложенных. Не требует создания загрузочной флешки - достаточно скопировать содержимое архива на флешку
    • RASPBIAN - полный дистрибутив собственно основной официальной ОС для Raspberry Pi. Размер ~2 Гб - быстрая установка
    Raspbian предлагается в двух версиях:
    • DESKTOP - дистрибутив с множеством предустановленного ПО, включая рабочий стол Raspberry Pi Desktop (RPD), офис, фреймворки.
    • LITE - упрощенная консольная версия - подходит для случаев использования старших менее мощных версий Raspberry Pi и/или опытных пользователей, способных установить и сконфигурировать нужные программные пакеты. Рабочий стол также можно установить вручную.

    Предлагаю рассмотреть установку RASPBIAN DESKTOP

    Установка

    Скачиваем дистрибутив со страницы загрузки
    Для этого понадобится программа
    Указываем путь к образу ОС и букву карты памяти

    Нажимаем Write , затем Yes

    Запуск без монитора

    Чтоб сразу подключиться к Raspberry по Wi-Fi нужно указать данные для подключения к сети и разрешить доступ по SSH

    Приведем следующие два файла к указанному виду:
    rootfs/etc/network/interfaces
    allow-hotplug wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp
    Укажем свои название сети и пароль:
    /etc/wpa_supplicant/wpa_supplicant.conf
    network={ ssid="YOUR_NETWORK_NAME" psk="YOUR_NETWORK_PASSWORD" proto=RSN key_mgmt=WPA-PSK pairwise=CCMP auth_alg=OPEN } Для разрешения доступа по SSH в разделе(!) boot/ создадим пустой файл с названием SSH.

    установка Nmap sudo apt install nmap

    сканирование хостов внутри сети (один из них - Raspberry) sudo nmap -sn 192.168.1 .0/24

    Красное число зависит от модели роутера (0,1,2,10 ...)

    Подключение по SSH: ssh [email protected]
    Пароль пользователя pi: raspberry

    Для подключения по VNC:

    1. Активировать интерфейс VNC с помощью утилиты raspi-config (Intefacing Options >>> VNC >>> Yes)
    2. Там же установить нужное разрешение рабочего стола (Advanced Options >>> Resolution >>> [выбор нужного] >>> Ok)

    Вставляем microSD-карту с системой в разъем Raspberry , подключаем периферию (монитор, клавиатуру, мышь) и в самую последнюю очередь подаем питание, так как это одновременно является сигналом к старту Малины . Если все сделано верно, то через некоторое время увидим Рабочий стол Raspbian - система установлена.

    Первичная настройка

    Первым делом подключаемся к Wi-Fi сети или Ethernet кабелем к роутеру для доступа к Интернету
    Далее открываем терминал сочетанием клавиш Ctrl + Alt + T , вводим командуsudo apt-get update -y && sudo apt-get upgrade -y
    и нажимаем Enter
    Тем самым выполнится проверка доступности новых версий установленных пакетов и, в случае их наличия - обновление ПО.
    Настроим важные параметры доступа к Raspberry , откроем окно конфигурации:


    На первой вкладке можно сменить стандартный пароль пользователя pi (по умолчанию это raspberry )На вкладке Interfaces :

    • Camera - интерфейс управления специальной камерой для Raspberry Pi

    • SSH - доступность системы к доступу по протоколу SSH
    • VNC - доступность системы к удаленному управлению рабочим столом через VNC
    • Остальные протоколы относятся к контактной гребенке GPIO Малины

    Настройка статического IP адреса Raspberry

    Если вы не используете Raspberry Pi в качестве настольного ПК, то в большинстве случаев Вам требуется время от времени подключаться к Малине извне (SSH или VNC), чтобы это осуществлять как минимум требуется знать IP адрес Raspberry , а по умолчанию он динамический - это значит, что при следующей загрузке он может измениться. Узнать IP адрес Малины в данный момент можно выполнив в терминале команду ifconfig .
    На примере ниже Raspberry подключен к сети через Wi-Fi, соответственно используется интерфейс wlan0 и его адрес видим на экране - 192.168.1.12 . К слову, до перезагрузки был адрес 192.168.1.17

    Каждый раз при подключении к сети устройство получает свой адрес по протоколу DHCP (Dynamic Host Configuration Protocol - протокол динамической настройки узла) - это сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP.
    Инициализирован этот протокол как на роутере, так и на самой Малине . Чтобы сделать присвоение адреса каждый раз к одному и тому же значению нужно изменить настройки DHCP применительно к Raspberry либо на роутере, либо на самой Малине .
    • Самый простой вариант - зайти в настройки DHCP роутера и назначить статический IP для устройства с определенным MAC-адресом (он также выводится командой ifconfig , параметр ether - различен для разных интерфейсов).
    Однако роутеры у всех разные, так что рассмотрим случай настройки DHCP на Малине .
    1. Определимся с используемым интерфейсом, их список как раз выдается командой ifconfig: если для подключения используется Ethernet порт - то это интерфейс eth0 , если встроенный Wi-Fi модуль - то это wlan0 , если внешний Wi-Fi адаптер, то wlan1 и т.д. Рассмотрим случай с wlan0
    2. Далее - IP адрес роутера. Это тот адрес, который вы вбиваете в адресной строке браузера, что попасть в настройки роутера, как правило это 192.168.1.1. Наверняка узнать это можно командой route - это будет значение Gateway (шлюз) в строке, у которой значение Flags равно “UG” (Up Gateway)
    1. Выбираем произвольный IP адрес для Raspberry - по сути это значение последней цифры в адресе шлюза от 0 до 255, исключая 1 (это сам адрес шлюза) и остальные адреса уже занятые другими устройствами. Если нет возможно или желания смотреть список подключенных устройств (через интерфейс роутера), можно взять число больше 100, допустим это будет адрес 192.168.1.111/24 (24-битная маска подсети)
    2. Все настройки в Линуксе хранятся в текстовых файлах, для DHCP - это файл dhcpcd.conf , который находится в системной папке /etc/ . Откроем его в консольном текстовом редакторе nano командой
    nano /etc/dhcpcd.conf
    1. Находим почти в конце файла блок

    1. Раскомментируем нужные строки и укажем наши значения:

    # Example static IP configuration:
    interface wlan0
    static ip_address=192.168.1.111/24
    #static ip6_address=fd51:42f8:caae:d92e::ff/64
    static routers=192.168.1.1
    static domain_name_servers=192.168.1.1 8.8.8.8

    Последнее значение - список DNS серверов - это наш роутер и публичный DNS-сервер Google

    1. Сохраняем изменения Ctrl + O , выходим из nano Ctrl + X
    2. Перезагружаем Raspberry : sudo reboot now
    Минимальная конфигурация Raspberry Pi готова! Можно приступать к развертыванию домашнего сервера или еще чего то)

    Микрокомпьютер Raspberry Pi работает под управлением операционной системы. Так же, как и в обычных компьютерах, операционная система управляет всеми ресурсами компьютера и предоставляет пользователю определенный интерфейс для работы с программами. От того, какая выбрана система, зависит удобство использования устройства. Под Raspberry Pi написано множество разных операционок, в этой статье мы проведем краткий анализ их.

    Практически все операционные системы для платы Raspberry Pi используют Linux в качестве базовой. Существует несколько официально поддерживаемых операционных систем:

    • Raspbian – официальная ОС, которая обладает всем необходимым программным обеспечением. Рекомендуется использовать именно эту операционную систему для знакомства с Raspberry Pi.
    • OpenELEC – медиапроигрыватель на основе Linux с открытым исходным кодом.
    • OSMC (Raspbmc) – медиапроигрыватель с открытым исходным кодом на базе Kodi Media Center и Debian GNU/Linux.
    • Поддержка Windows 10 в устройствах Raspberry Pi 2B.

    Все ОС включены в NOOBS – это программа, в которой содержатся все перечисленные выше операционные системы и упрощающая их установку на Raspberry Pi. С помощью NOOBS возможна установка как одной ОС, так и нескольких, причем выбрать нужную систему можно при загрузке компьютера. Во время установки ОС создается специальный раздел RECOVERY, который позволяет вернуть систему к начальным настройкам.

    Установка операционной системы на Raspberry Pi

    Варианты установки

    Существует 3 способа установки ОС на :

    • покупка SD-карты с заранее установленной Raspbian или NOOBS;
    • загрузка NOOBS на карту памяти и установка ОС Raspbian с нее;
    • монтирование изображение Raspbian прямо на SD-карту.

    Первый способ является наиболее простым – тут не требуется никаких дополнительных действий.

    Во втором случае процедура установки выглядит следующим образом:

    1. В первую очередь карту памяти нужно отформатировать, указывая файловую систему FAT32.
    2. Скачивание архива с NOOBS, его распаковка на карту памяти так, чтобы файлы были в корневой директории.
    3. Вставка в Raspberry Pi необходимой периферии: клавиатуры, мыши и монитора через USB, подключение питания. В качестве монитора можно использовать телевизор, подключенный через RCA.
    4. Если экран подключен через RCA, нажать «3» на клавиатуре.
    5. В окне выбрать операционную систему Raspbian, русскую раскладку клавиатуры и язык. Русский язык нельзя установить. Нажать «Install», дождаться окончания процесса установки и включения.
    6. В появившемся меню «Configuration Tool» в третьем пункте выбрать второй вариант для установки графического интерфейса LXDE.
    7. Нажать «Done», дождаться перезагрузки.
    8. Если нужен вход с помощью логина и пароля, в графе логин ввести pi, пароль raspberry, после этого откроется рабочий стол.

    Монтирование образа Raspbian на SD-карту.

    1. Скачивание архива с изображением с сайта https://www.raspberrypi.org/downloads/
    2. Распаковка, после чего получится файл.img.
    3. Вставка карты памяти в ПК.
    4. Монтирование установленного файла.
    5. Повтор 3 и 4 пунктов предыдущей инструкции.
    6. Повтор пунктов 6-8 предыдущей инструкции.

    Сравнение операционных систем для Raspberry Pi


    ОС Последняя версия Отличительные свойства
    Raspbian Для установки последней версии нужно перезагрузить ОС и ввести код

    sudo apt-get update

    sudo apt-get upgrade

    Произойдет обновление, затем нужно перезагрузить Raspberry Pi.

    Стандартная операционная система на базе Debian, которая специально создана под обеспечение этого миникомпьютера. Поставляется с набором стандартных программ и утилитами. В разделе «программирование» имеется более десятка различных приложений для программирования. В системе установлен браузер Chromium, пакет LibreOffice для работы с документами.
    OSMC OSMC Kodi 16 Медиацентр на базе Kodi. Является наиболее функциональным программным обеспечением для мультимедиа. ОС имеет чистый интерфейс, меню появляется в левой части экрана, в нем можно выбрать носители (аудио, видео, картинки), устанавливать настройки и проверять программы.
    8.0.4 Операционная система, предназначенная для проигрывания медиафайлов. Интерфейс как у Kodi. Обладает высокой скоростью работы. По сравнению с OSMC более закрытая ОС, в ней нельзя изменять системный уровень, имеются ограничения на доступ к отдаленным сервисам.
    Kano OS Kano OS 3.13 Операционная система, идеально подходящая для обучения. Яркий дружественный и удобный интерфейс, ничего лишнего. На сайте разработчика можно купить множество дополнительных комплектующих для RaspberryPi и собрать своими руками полноценный конструктор.
    DietPi Diet Pi Основанная на Debian операционная система, занимающая всего 400 Мб на карте памяти! Не требовательна к ресурсам, поддерживается быстрая установка всех популярных программ
    Windows 10 IoT Core Windows 10 IoT Специальная версия Windows для разработчиков, созданная для компьютера Raspberry Pi. Совместима только с ПК с установленной Windows 10. Для работы требуется установка на ПК Visual Studio, так как Windows 10 IoT Core не работает в одиночку. С помощью этой ОС можно создавать множество различных проектов.
    ОС RISC 2009.06, последняя тестовая версия 2010.03 Отдельная операционная система, которая не построена на Linux, не имеет ничего схожего с другими ОС. Работает как однопользовательская система. Все приложения являются каталогами с восклицательным знаком перед названием, система хорошо работает с перетаскиванием файлов в папки. Система не используется как основная ОС, работает совершенно по-другому.
    RetroPie RetroPie 4.3.7 Эмулятор, который позволяет играть на разнообразных консолях. Операционная система основана на Raspbian, но также имеется отдельно собранный образ RetroPie.
    Pidora Pidora 18 Операционная система, основанная на проекте Fedora. По сравнению с Debian формат пакетов имеет расширение RPM. ОС содержит несколько различных сред для разработки программного обеспечения.

    Песочница

    разработчик 80-го уровня 1 июля 2013 в 14:45

    Дистрибутивы для Raspberry Pi

    Статья из журнала TheMagPi №12 от Alan Coast. [Перевод]. Постарался максимально адаптировать для удобного чтения. Позиционирую как каталог по дистрибутивам для Raspberry Pi.

    В течение всего года количество операционных систем для Raspberry Pi значительно выросло. В дополнение к различным вариантам Linux и Unix, добавились RISC OS, Plan 9 и даже стали доступны Amiga совместимые варианты. Взгляните ниже, там обязательно будет что-то интересное.

    По умолчанию имена пользователей и пароли даны для каждой ОС, где доступны. Рекомендую поменять их при установке.

    Основные

    Raspbian

    Свободная операционная система на основе Debian, оптимизированная для аппаратных возможностей Raspberry Pi. Для установки поставляется более чем 35,000 программных пакетов.

    Plan 9

    В первую очередь разработана для научно-исследовательских целей в качестве преемника UNIX Научно-исследовательским вычислительным центром наук в Bell Labs в период с середины 1980-х годов и 2002 годах. Plan 9 продолжает использоваться и создан операционной системой исследователей и любителей.

    Plan 9 использует 9P протокол для доступа к локальным и удаленным ресурсам в виде файлов, а также предоставляет точечное монтирование, улучшенную файлоую систему процесса, и родной поддержкой юникода. Все системные интерфейсы, в том числе тех, которые необходимы для работы в сети и пользовательский интерфейс, представлены через файловую систему, а не специализированные интерфейсы.

    NB: очень экспериментальная ОС, которая снята по мотивам оригинальной Unix, доведенная до екстрима. Подходит только для программистов в текущий момент.

    Moebius

    Очень компактный ARM HF дистрибутив на базе Debian. Он помещается на 1 Гб карты SD, имеет особенности, авто изменение размера что-бы лучше адаптироваться к вашему размеру SD карты и использует Raspbian хранилище для установки всего, что нужно. Он поставляется в небольшом объеме памяти и идеально подходит для работы или для интерактивного взаимодействия с устройствами ввода / вывода.

    Выделенные (узкоспециализированные)

    OpenELEC

    OpenELEC (сокращенно от «Open Embedded Linux Entertainment Centre») является свободной, с открытыми исходными кодами, встроенной операционной системой которая предоставляет полный медиа-центр набор программного обеспечения. Поставляется с предварительно настроенной версией XBMC и сторонними дополнениями с ретро-игровой консоли PVR, эмуляторами и плагинами. OpenELEC является чрезвычайно маленькой и очень шустрой системой на базе дистрибутивов Linux

    XBian

    XBian представляет собой небольшой, быстрый и легковесный дистрибутив Media Center для Raspberry Pi, основанный на минимальном образе Raspbian с XBMC.

    Pi Point

    Включите ваш Raspberry Pi как беспроводную точку доступа

    PwnPi (4GB SD минимум)

    Дистрибутив сетевого тестирования на проникновение. В настоящее время он имеет 181 инструментов сетевой безопасности в предварительной установлке, чтобы помочь тестеру в проникновении. Он построен на Debian “squeeze” образе с веб-сайта Raspberry Pi Foundation и использует Xfce в качестве оконного менеджера.

    ha-pi

    Это образ Debian “squeeze” создается для выполнения «PWN plug» типа атак с использованием Raspberry Pi.

    Теги: distrib, linux, pi, raspberry pi

    Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.



    Просмотров