Diy

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

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

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

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

Raspberry Pi 3, снятый

Если вы используете 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 

Это обновление доставляет два файла в каталог /boot . После загрузки файлов перейдите в режим загрузки через 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 в nano:

 sudo nano /boot/config.txt 

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

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

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

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

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

В этом примере SD-карта — mmcblk0 а USB-накопитель — 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, поэтому пользователь будет переходить с pi @ raspberrypi на root @ raspberrypi до тех пор, пока вы не введете exit в строке 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 

Обратите внимание, что здесь используется новая команда poweroff в качестве альтернативы shutdown .

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

Готовы попробовать Raspberry Pi 4 ? Проверьте его особенности и характеристики.

Похожие посты
Diy

Вещи, которые вы должны иметь в виду, прежде чем брать ноутбук или смартфон в службу технической поддержки

Diy

Как использовать Arduino для съемки красивой скоростной фотографии

DiyLinux

Пять великолепных расширений Raspberry Pi, которые делают его еще более полезным

Diy

Первые шаги с Arduino: пристальный взгляд на печатную плату и структуру программы