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

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

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





Что ж, до сих пор.





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





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

Лучше всего начать этот проект со свежей копией Raspbian, поэтому загрузите Последняя версия (мы используем Распбиан Джесси ) а также установить обычным способом . Как только это будет сделано, безопасно извлеките карту из вашего ПК, вставьте ее в выключенный 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

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

config.txt

в нано:

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, поэтому пользователь изменится с пи @ 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

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

poweroff

команда как альтернатива

shutdown

.

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

ноутбук не распознает внешний жесткий диск

Готов к попробуйте Raspberry Pi 4 ? Ознакомьтесь с его функциями и характеристиками.

Делиться Делиться Твитнуть Эл. адрес Как очистить компьютер с Windows с помощью командной строки

Если на вашем ПК с Windows не хватает места для хранения, удалите ненужные файлы с помощью этих быстрых утилит командной строки.

Читать далее
Похожие темы
  • Сделай сам
  • USB
  • Raspberry Pi
Об авторе Кристиан Коули(Опубликовано 1510 статей)

Заместитель редактора по безопасности, Linux, DIY, программированию и техническому объяснению, а также производитель действительно полезных подкастов с большим опытом поддержки настольных компьютеров и программного обеспечения. Автор журнала Linux Format, Кристиан - мастер Raspberry Pi, любитель Lego и фанат ретро-игр.

Ещё от Christian Cawley

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться