Как сделать загрузку Raspberry Pi 3 с USB

Raspberry Pi — это великолепный универсальный комплект, способный выполнять такие разнообразные проекты, как управление медиацентром для использования в качестве радиовещательного радио. Но у него есть один явный недостаток: невозможность загрузки с USB.

Ну, до сих пор это так.

Raspberry Pi 3, снятый MakeUseOf

Если вы используете Raspberry Pi 3

Теперь можно отказаться от загрузки с microSD и вместо этого загрузить компьютер с USB-устройства. Это может быть флешка, SSD с USB-адаптером или даже полноразмерный жесткий диск USB. Это важное событие, поэтому давайте посмотрим, как настроить Raspberry Pi 3 для загрузки с USB.

Начало работы: установите Raspbian и добавьте новые файлы

Лучше всего начать этот проект со свежей копии Raspbian, поэтому скачайте последнюю версию (мы используем Raspbian Jessie)

) и установить его обычным способом

, Как только это будет сделано, безопасно извлеките карту из ПК, вставьте ее в выключенный Raspberry Pi и загрузитесь, подключившись удаленно через SSH

как только он загрузится.

Войдите (если вы не изменили свои учетные данные по умолчанию)

) затем выполните следующие команды, которые заменят стандартные start.elf а также bootcode.bin файлы со свежескачанными альтернативами:

sudo apt-get update
sudo BRANCH=next rpi-update

Это обновление доставляет два файла в / загрузки каталог. После загрузки файлов перейдите в режим загрузки через USB с помощью:

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

Эта команда добавляет program_usb_boot_mode = 1 инструкция до конца config.txt файл.

Загрузочный терминал Linux Raspberry Pi 3 с USB

Вам нужно будет перезагрузить Pi, как только это будет сделано.

Следующим шагом является проверка того, что OTP — одноразовая программируемая память — была изменена. Проверьте это с:

vcgencmd otp_dump | grep 17:

Если результат является представителем адреса 0x3020000a (такие как 17: 3020000a) тогда все хорошо пока. На этом этапе, если вы хотите удалить program_usb_boot_mode = 1 линия от config.txt файл, вы можете. В Pi теперь включена загрузка через USB, и вы можете использовать ту же карту microSD в другом Raspberry Pi 3 с тем же образом, поэтому удаление строки — хорошая идея.

Загрузочный терминал Linux Raspberry Pi 3 с USB Nano Править

Это легко сделать, отредактировав config.txt в нано:

sudo nano /boot/config.txt

Удалите или закомментируйте соответствующую строку (с предшествующим #).

Подготовьте загрузочное устройство USB

Затем подключите отформатированный (или готовый к удалению) USB-накопитель к запасному порту на Raspberry Pi 3. После этого мы продолжим копирование операционной системы.

Начните с идентификации вашей флешки с помощью lsblk команда.

Загрузочный терминал Linux Raspberry Pi 3 с командой USB LSBLK

В этом примере SD-карта mmcblk0 в то время как флешка SDA (это отформатированный раздел sda1). Если у вас подключены другие USB-устройства хранения данных, USB-накопитель может быть sdb, sdc и т. Д. Установив имя USB-накопителя, размонтируйте диск и используйте разделенный инструмент для создания раздела размером 100 МБ (FAT32) и раздела Linux:

sudo umount /dev/sda
sudo parted /dev/sda

В приглашении (parted) введите:

mktable msdos

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

Если у вас возникнут какие-либо проблемы, вам может потребоваться переключиться на рабочий стол (вручную или через VNC).

) и убедитесь, что диск размонтирован, прежде чем вводить команду mktable msdos в оконную командную строку.

Продолжайте в расставании со следующим:

mkpart primary fat32 0% 100M
mkpart primary ext4 100M 100%
print

Это выведет некоторую информацию, касающуюся диска и новых разделов. Перейдите к выходу parted с помощью Ctrl + C перед созданием загрузочной файловой системы и корневой файловой системы:

sudo mkfs.vfat -n BOOT -F 32 /dev/sda1
sudo mkfs.ext4 /dev/sda2

Затем вам необходимо смонтировать целевые файловые системы перед копированием вашей текущей ОС Raspbian на USB-устройство.

sudo mkdir /mnt/target
sudo mount /dev/sda2 /mnt/target/
sudo mkdir /mnt/target/boot
sudo mount /dev/sda1 /mnt/target/boot/
sudo apt-get update; sudo apt-get install rsync
sudo rsync -ax --progress / /boot /mnt/target

Эта последняя команда является последней командой, которая копирует все, и для ее завершения потребуется некоторое время. Время сделать кофе!

Загрузочный терминал Linux Raspberry Pi 3 с USB-копированием

Затем вам нужно обновить ключи хоста SSH, чтобы поддерживать соединение с перенастроенным Raspberry Pi после неизбежной перезагрузки:

cd /mnt/target
sudo mount --bind /dev dev
sudo mount --bind /sys sys
sudo mount --bind /proc proc
sudo chroot /mnt/target
rm /etc/ssh/ssh_host*
dpkg-reconfigure openssh-server
exit
sudo umount dev
sudo umount sys
sudo umount proc

Загрузочный терминал Linux Raspberry Pi 3 с USB SSH

Обратите внимание, что после sudo chroot (пятая команда выше) вы переключаетесь на root, поэтому пользователь изменится с пи @ raspberrypi в корень @ raspberrypi пока вы не введете выход в строке 8.

Подготовьтесь к перезагрузке с USB!

Еще несколько вещей, чтобы разобраться, прежде чем ваш Raspberry Pi будет готов к загрузке с USB. Нам нужно отредактировать cmdline.txt снова из командной строки с помощью:

sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/target/boot/cmdline.txt

Аналогично, в fstab необходимо внести следующие изменения:

sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/target/etc/fstab

Затем вы готовы размонтировать файловые системы перед тем, как выключить Pi:

cd ~
sudo umount /mnt/target/boot
sudo umount /mnt/target
sudo poweroff

Обратите внимание, что это использует новый выключение команда как альтернатива неисправность.

Когда Pi отключился, отключите питание, прежде чем извлекать SD-карту. Затем снова подключите источник питания — теперь ваш Raspberry Pi должен загружаться с USB-устройства!

Вы пробовали это? Заинтригован возможностями загрузки с USB, а не с SD-карты? Планируете попробовать? Напишите нам в комментариях!

Ссылка на основную публикацию
Adblock
detector