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

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

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

Если вы используете Raspberry Pi 3, он теперь можно отказаться от загрузки с microSD и вместо этого загрузить компьютер с USB-устройства. Это может быть флэш-накопитель, твердотельный накопитель с 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 

.

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

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

  vcgencmd otp_dump |  grep 17:  

Если результат представляет адрес

0x3020000a 

(например,

17:3020000a 

), то пока все хорошо. На этом этапе, если вы хотите удалить строку

program_usb_boot_mode=1 

из

  config.txt  

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

Это легко сделать, отредактировав

config.txt 

в nano:

  sudo nano/boot/config.txt  

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

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

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

Начните с идентификации USB-накопителя с помощью команды

lsblk 

.

В этом примере SD-карта

mmcblk0 

, а USB-накопитель –

  sda  

(это форматированный раздел

sda1 

). Если у вас есть другие подключенные USB-устройства хранения данных, USB-накопитель может быть sdb, sdc и т.д. Установив имя USB-накопителя, отключите диск и используйте инструмент parted для создания раздела 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

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

Затем вам нужно обновить ключи хоста 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

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

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

Еще несколько замечаний t до того, как 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? Ознакомьтесь с его функциями и характеристиками.

.

Оцените статью
futurei.ru
Добавить комментарий