Raspberry pi linux usb

Raspberry Pi. Загрузка с USB-накопителя

Не так давно я описывал процесс установки сервера Home Assistant на Raspberry Pi и упоминал недостаток подобной системы: работающий Home Assistant может довольно быстро «убивать» microSD-карточки интенсивными операциями чтения-записи.

Выход из ситуации — установка системы на внешний HDD или SSD диск и загрузка микрокомпьютера с него.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Хорошая новость — все свежие модели микрокомпьютеров линейки Raspberry Pi «из коробки» поддерживают загрузку с USB-накопителей. И только на старых моделях эту возможность нужно активировать вручную.

Активация загрузки с USB на Raspberry Pi 2 / 3

Для появления возможности загрузки с USB-накопителей на Raspberry Pi 3 нужно активировать опцию USB Boot Mode путем внесения значения в OTP-память.

Для нужно загрузиться в Raspberry Pi OS с microSD-карты и добавить строчку с командой в файл config.txt:

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt

А затем перезагрузить систему:

Во время следующей загрузки команда будет обработана и пропишет активирующее возможность загрузки с USB-дисков значение в OTP-память микрокомпьютера. Данная операция необратима. Но волноваться по этому поводу не стоит: активация USB Boot Mode не лишит вас возможности запускать «малинку» с microSD-карты, а всего лишь добавит новую опцию, которая активна по умолчанию в более свежих моделях микрокомпьютера.

Также обращу внимание, что из config.txt строка program_usb_boot_mode=1 сама по себе никуда не денется, поэтому после перезагрузки ее желательно оттуда удалить.

Установка системы

Установка операционной системы для Raspberry Pi на USB-накопитель ничем принципиально не отличается от установки на microSD-карту: нам все также потребуется скачать образ нужной системы и записать его на подходящий диск.

Удобнее всего использовать для этого специальную утилиту Raspberry Pi Imager, доступную под Windows, Ubuntu и macOS. В отличие от универсальных приложений для записи образов (Rufus, Win32DiskImager, balenaEtcher и т.п.), она может работать не только с локально хранящимися файлами, но и выкачивать нужный образ с сайта Raspberry Pi Foundation прямо в процессе записи.

Выбираем нужный образ из списка:

Настройка загрузки Raspberry Pi с USB HDD и SSD накопителей

Выбираем накопитель для записи:

Настройка загрузки Raspberry Pi с USB HDD и SSD накопителей

И дожидаемся окончания процесса:

Читайте также:  Нет звука линукс убунту

Настройка загрузки Raspberry Pi с USB HDD и SSD накопителей

На этом все. Но если в дальнейшем планируется использовать Raspberry Pi в headless-режиме, то стоит сразу закинуть в корень получившегося загрузочного диска пустой файл с названием «ssh» без расширения. А если для подключения к сети будет использоваться беспроводной интерфейс, то туда же в корень нужно добавить файл wpa_supplicant.conf с данными для подключения к точке доступа:

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 country=RU network=

Загрузка

Извлекаем из Raspberry Pi microSD-карточку с системой, подключаем к USB наш внешний диск и подаем питание.

Начнется загрузка с внешнего диска и через десяток-другой секунд система будет готова к работе.

При подключении внешнего жесткого диска потребляемая Raspberry Pi 4 мощность возрастает. Чтобы не столкнуться с нехваткой мощности для полноценной работы микрокомпьютера заранее позаботьтесь о наличии хорошего блока питания и качественного кабеля.

В некоторых случаях Raspberry Pi 4 может некорректно грузиться с подключенных к порту USB 3.0 накопителей. Если операционная система не стартует более минуты или пытается войти в Emergency Mode — переподключите жесткий диск в любой из портов USB 2.0. Да, скорость передачи данных по USB 2.0 будет ниже, зато работать будет надежнее.

Заключение

Легкость перевода Raspberry Pi на загрузку с USB-накопителей — еще один довод за покупку микрокомпьютеров именно этой линейки.

Буквально 10 минут работы позволяют в разы повысить надежность системы, отказавшись от использования карточек памяти с ограниченным ресурсом в пользу твердотельных накопителей или обычных HDD.

Микрокомпьютер Raspberry Pi 4

Broadcom BCM2711 | 2Gb/4Gb/8Gb RAM | 10/100/1000Mbit Ethernet

Источник

Raspberry Pi 3. Правильное монтирование USB HDD и флешек

В этой публикации из цикла статей о Raspberry Pi и Arduino я хочу рассказать о том, как правильно подключать внешние жесткие диски (USB HDD) к Raspberry Pi.

Монтирование жесткого диска обязательно потребуется, если «малину» планируется использовать для работы с контентом в домашней сети. Поэтому я хочу вынести инструкцию по монтированию HDD и флешек в отдельную статью, дабы иметь возможность ссылаться на нее в своих последующих публикациях.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

Установке и настройке Raspbian на Raspberry Pi 3 посвящена статья «Raspberry Pi 3. Обзор и начало работы». В этой статье подразумевается, что OS Raspbian уже установлена и готова к работе.

Добавление в Raspbian поддержки NTFS

Скорее всего, используемый жесткий диск будет отформатирован в NTFS.

В OS Raspbian нет поддержки NTFS «из коробки», поэтому нужно установить соответствующий пакет:

sudo apt-get update sudo apt-get install ntfs-3g

После этого можно приступить непосредственно к монтированию HDD.

Читайте также:  Mobility radeon x2300 linux driver

Вариант 1. Монтирование USB HDD через fstab

fstab — конфигурационный файл, в котором описывается каждое из подключенных к компьютеру устройств хранения информации.

Добавлением строк в этот файл в *nix-системах совершается монтирование жестких дисков и других устройств.

Структура записей fstab выглядит так:

#     /dev/cdrom /mnt/cd iso9660 ro,user,noauto,unhide 0 0

Наша цель — в правильной форме создать и записать строку для монтирования подключенного по USB жесткого диска (или флешки).

Настоятельно рекомендую перед редактированием файла fstab сделать бэкап системы, потому что ошибки в редактировании этого файла могут привести к тому, что Raspbian перестанет загружаться до конца, выдавая в процессе сообщение об ошибке. Новичка в *nix-системах это может сильно смутить.

Для начала найдем нужное нам значение для жесткого диска. Для этого при подключенном жестком диске нужно выполнить команду:

Как правильно подключить USB HDD или флешку к Raspberry Pi

В ответ на которую мы увидим нечто примерно такое:
Строка с /sda1 — наш жесткий диск. А написанное синим шрифтом — это как раз то, что мы ищем. Копируем эти символы куда-нибудь.

Теперь создадим точку монтирования:

Я решил, что мой смонтированный жесткий диск будет доступен по пути /usbstorage, но этот параметр может быть любым.

Ничто не мешает назвать точку монтирования /hdd1, /500gb, /media, /data или любым другим ранее не задействованным именем.

Название точки монтирования — это наше будущее значение в структуре записи fstab.

Теперь разбираемся со значением .

Поле — тут нужно будет указать файловую систему, в которой отформатирован наш накопитель. Если мы ранее пользовались Windows, то скорее всего жесткий диск отформатирован в NTFS. Менее вероятно — FAT32. Практически невероятно — EXT4 и другие применяемые в *nix-системах файловые системы.

Если ошибиться в указании файловой системы монтируемого жесткого диска, то это гарантированно приведет к ошибке во время загрузки Raspbian.

Далее идут опции монтирования (). Они перечисляются через запятую. Рекомендую просто написать как у меня: «nofail,uid=pi,gid=pi».

И последними в структуре идут и .

Первый используется утилитой dump для создания резервных копий. Этот параметр нужно выставить «0».

Второй определяет приоритет, с которым утилита для сканирования и исправления ошибок fsck будет приступать к сканированию данного диска. Значением этого параметра может быть «0», «1» или «2», где «1» и «2» — приоритеты, а «0» — отключение. Я выставил «0», но можно поставить и «1» — особо это ни на что не влияет.

Читайте также:  Linux команда tune2fs i

Таким образом, у меня формируется следующая строка для добавления в fstab:

UUID=E2CCEF5FCCEF2D0B /mnt/usbstorage ntfs nofail,uid=pi,gid=pi 0 0

Набор символов после UUID= нужно вставить свой, остальную часть строки можно использовать в таком виде без изменений.

Вставляем строку в fstab и сохраняем его:

Как правильно подключить USB HDD или флешку к Raspberry Pi

Установка прав доступа

В завершении процедуры монтирования жесткого диска нужно выставить права доступа:

sudo chmod 777 /mnt/usbstorage

777 — полный доступ на чтение, запись и запуск файлов для всех пользователей. Рискованное с позиции безопасности разрешение, но гарантированно беспроблемное.

Если «малина» находится в домашней сети, то ничего страшного от выставления полного доступа для всех к примонтированному к ней жесткому диску не произойдет. Но в локальных сетях на предприятиях и на интернет-серверах полный доступ к файлам выставлять нельзя.

На этом процесс монтирования можно считать завершенным и остается только перезагрузить систему:

Вариант 2. Автоматическое монтирование через pmount

При использовании данного способа все подключаемые к «малинке» USB-накопители будут монтироваться автоматически.

Для этого нам потребуется установить утилиту pmount:

sudo apt-get install pmount

Затем создадим файл с правилами монтирования накопителя:

sudo nano /etc/udev/rules.d/usbstick.rules

И впишем в него следующую строку:

ACTION=="add", KERNEL=="sd[a-z]3", TAG+="systemd", ENV="usbstick-handler@%k"

Затем создадим новый сервис:

sudo nano /lib/systemd/system/usbstick-handler@.service

Впишем в него следующее содержимое:

[Unit] Description=Mount USB sticks BindsTo=dev-%i.device After=dev-%i.device [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/local/bin/cpmount /dev/%I ExecStop=/usr/bin/pumount /dev/%I

Создадим файл скрипта для монтирования:

sudo nano /usr/local/bin/cpmount
#!/bin/bash if mountpoint -q /media/usb1 then if mountpoint -q /media/usb2 then if mountpoint -q /media/usb3 then if mountpoint -q /media/usb4 then echo "No mountpoints available!" #You can add more if you need else /usr/bin/pmount --umask 000 --noatime -w --sync $1 usb4 fi else /usr/bin/pmount --umask 000 --noatime -w --sync $1 usb3 fi else /usr/bin/pmount --umask 000 --noatime -w --sync $1 usb2 fi else /usr/bin/pmount --umask 000 --noatime -w --sync $1 usb1 fi

Сделаем скрипт исполняемым:

sudo chmod u+x /usr/local/bin/cpmount

После этого все подключаемые к системе устройства будут автоматически монтироваться по адресам /media/usbX/, где X — порядковый номер устройства.

Заключение

Если с самого начала разобраться в процессе монтирования устройств в *nix-системах, то процесс подключения USB HDD к Raspberry Pi займет не более 5 минут.

Руководитель отдела в IT-компании. Веду этот блог с 2013 года, пишу о гаджетах и домашней автоматизации, обозреваю одноплатные компьютеры, неспешно собираю «умный дом».

Уведомления о статьях. 0% рекламы.

Источник

Оцените статью
Adblock
detector