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
Заместитель редактора по безопасности, Linux, DIY, программированию и техническому объяснению, а также производитель действительно полезных подкастов с большим опытом поддержки настольных компьютеров и программного обеспечения. Автор журнала Linux Format, Кристиан - мастер Raspberry Pi, любитель Lego и фанат ретро-игр.
Ещё от Christian CawleyПодписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Нажмите здесь, чтобы подписаться