Не так давно мне приехал очередной одноплатник, на этот раз это был orangepi zero, о нем я рассказывал в одной из опубликованных статей. Сегодня хочу рассказать о том, как планирую его использовать, и привести небольшую последовательность действий, необходимых для его настройки.
Итак, первое, что понадобилось сделать - найти образ операционной системы. Тут все просто, идем на официальный сайт в раздел Resources - Download, находим в списке одноплатник, в моем случае это Orange Pi Zero/Zero LTS и удивляемся количеству предложенных для скачивания операционных систем. Традиционно на orangepi устанавливают armbian, но я скачал уже знакомый по x86 архитектуре debian. Тут уж вам решать, что именно устанавливать.
Нажимаем заветную кнопку Download Now и попадаем на следующую страницу, где нам предлагается скачать образ на одном из файлообменников, в моем случае это был Google Drive или Baidu Cloud. В Release notes указаны также имя пользователя и пароль, и код для скачивания образа с baidu.
Я выбрал вариант скачивания образа с google drive по вполне понятным причинам. Клацаем на иконку и попадаем на google drive с заветным образом, скачиваем его себе на компьютер.
Файл скачивается с расширением .tar.gz не знаю уж зачем, но образ диска запакован аж два раза, архив в архиве, такая вот матрешка. Для разархивирования может понадобиться 7zip, или другой архиватор, поддерживающий и tar и gz архивы. Через две операции разархивирования будет доступен образ .img, который нам и нужен.
Следующий шаг - запись образа на microSD карту, которая и служит в качестве “дискового” пространства нашего сервера на orangepi. Для записи я использовал программу Rufus.
Создаем загрузочный диск и DD-образом, выбираем наш образ .img. Нажимаем старт.
После того, как образ будет записан на карту, ее можно будет удалить из считывателя и установить в сам одноплатник. Подключаем одноплатник к питанию и сети, запускаем и смотрим, какой ip адрес он получит от роутера, после этого подключаемся к одноплатнику по ssh.
Следующее, что мне пришлось сделать - расширить доступную память. После установки корневой каталог занимал всего 1 Gb, что мало, учитывая, что флэшку я установил на 32 Gb.
Для того чтобы увидеть существующие устройства и разделы на них, выполняем команду:
df -h
обычно microSD карта значится в системе как /dev/mmcblk0. В этом случае мы скорее всего увидим два раздела /dev/mmcblk0p1 и /dev/mmcblk0p2.
Далее в окне терминала воспользуемся программой fdisk И введем следующее:
fdisc /dev/mmcblk0
Чтобы увидеть все доступные команды, введем:
m
Чтобы увидеть разделы, введем команду:
p
В выводе команды вы увидите что-то похожее:
Диск /dev/mmcblk0: 15.8 Гб, 15811477504 байт
4 головок, 16 секторов/треков, 482528 цилиндров, всего 30881792 секторов
Units = секторы of 1 * 512 = 512 bytes
Размер сектора (логического/физического): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Идентификатор диска: 0x000c4046
Устр-во Загр Начало Конец Блоки Id Система
/dev/mmcblk0p1 4096 266239 131072 b W95 FAT32
/dev/mmcblk0p2 266240 11532287 5633024 83 Linux
Первый раздел это загрузчик, а второй непосредственно интересующее нас дисковое пространство. Обязательно запишите число, обозначающее начало второго раздела, в нашем случае это 266240. У вас оно будет другое.
Теперь удалим второй раздел, да, прямо удалим и именно сейчас. Вводим команды:
d
Во время выбора раздела указываем второй раздел
2
Далее создаем снова раздел, в качестве его начала указываем все то же число 266240
Команда (m для справки): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e расширенный
Select (default p): p
Номер раздела (1-4, по умолчанию 2):
Используется значение по умолчанию 2
Первый сектор (2048-30881791, по умолчанию 2048): 266240
Далее нажимаем интер, чтобы принять последний сектор по умолчанию и использовать все доступное пространство карты памяти.
Далее сохраняем изменения:
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
ВНИМАНИЕ: Попытка перечитать таблицу разделов завершилась ошибкой 16: Устройство или ресурс занято.
Ядро всё ещё использует старую таблицу. Новая будет использована
при следующей перезагрузке, или при запуске partprobe(8) или kpartx(8)
Синхронизируются диски.
И перезагружаем наш одноплатник командой reboot.
После перезагрузки изменения все еще не видны в системе, для того чтобы расширить файловую системы на имеющийся у нас дополнительный объем дискового пространства. Выполняем команду:
resize2fs /dev/mmcblk0p2
После выполнения операции (время зависит от размера и скорости карты) вам будет доступен весь объем, доступный на карте памяти.
На этом я пожалуй прервусь, процесс установки операционной системы закончен, сервер подготовлен к дальнейшему использованию. Я же планирую установить на него MQTT и Zigbee2MQTT, но об этом уже в другой статье.
Подписывайтесь на мой канал и страницу в инстаграм @smart.home53, чтобы не пропустить новые статьи.
#умный дом #smart home #orange pi #одноплатный компьютер #debian #технологии #интернет вещей