生活哲学

如何从 USB 启动 Raspberry Pi 3

Raspberry Pi 是一款出色的多功能软件套件,具有多种功能,例如运行媒体中心或用作收音机。但它有一个非常明显的缺陷:无法从 USB 启动。

如果您使用的是 Raspberry Pi 3,您可以跳过从 microSD 启动,而是从 USB 设备启动这台计算机。这可以是闪存棒、带有 USB 适配器的 SSD 甚至是完整的 USB 硬盘驱动器。这是一项重大进展,所以让我们看看如何将 Raspberry Pi 3 设置为从 USB 启动。

如何从 USB 启动树莓派 3 的图片 1

如何从 USB 启动树莓派 3

  1. 安装 Raspbian 并添加新文件
  2. 准备 USB 启动
  3. 准备从 USB 重启!

安装 Raspbian 并添加新文件

最好用一个新的Raspbian版本开始这个项目,所以下载最新版本并按照通常的方式安装。完成此操作后,将 SD 卡从 PC 中安全移除,将卡插入 Raspberry Pi 并重新启动,加载后立即通过 SSH 远程连接。

登录(除非您更改了默认登录信息),然后运行以下命令。这会将默认的 start.elfbootcode.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的末尾。

如何从 USB 启动树莓派 3 的图片 2

完成后你需要重启 Pi。

下一步是检查 OTP-可编程内存一次-是否已更改。输入以下内容进行检查:

 vcgencmd otp_dump | grep 17:

如果结果用地址0x3020000a表示(如17:3020000a)那么到此为止一切都很好.在此阶段,您可以根据需要从 config.txt 文件中删除 program_usb_boot_mode=1 行。 Pi 现在从 USB 激活,您可能想在另一个 Raspberry Pi 3 中使用相同的 microSD 卡,具有相同的图像,应该删除它。

如何从 USB 启动树莓派 3 的图片 3

这可以通过在 nano:

中编辑 config.txt 轻松完成
 sudo nano/boot/config.txt 

删除或添加#到相应的行。

准备 USB 启动

接下来,将一个格式化的USB(或准备删除里面所有数据)连接到树莓派3上的备份端口。插上USB后,您将继续复制操作系统。

首先使用lsblk命令定义您的USB。

如何从 USB 启动树莓派 3 的图 4

本例中,SD卡为mmcblk0,USB为sda(分区格式化为sda1)。如果您连接了另一个 USB 存储设备,它可以是 sdb、sdc 等。设置好 USB 名称后,卸载驱动器并使用 parted 工具创建一个 100 MB 分区(FAT32)和 Linux 分区:

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

在提示符(分开)处,输入:

 mdable msdos 

您可能会收到驱动器已在使用中的通知。如果是这样,请选择 忽略,,然后注意警告,指示您将驱动器上的 ta 将被取消。如前所述,这必须是您愿意删除或格式化的驱动器,因此同意这一点。

如果您在此处遇到任何问题,您可能需要切换到桌面(手动或在VNC上)并确认驱动器已断开连接,然后才能进入msdos流窗口中的 mktable 命令。命令。

使用 parted 命令继续以下操作:

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

这将输出一些与驱动器和新分区相关的信息。在创建引导文件系统和原始文件系统之前,使用 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 更新; sudo apt-get install rsync
sudo rsync-ax--progress//boot/mnt/target

最后一步是复制所有内容,这一步需要一段时间才能完成。您可以在此期间享用一杯咖啡!

如何从 USB 启动树莓派 3 的图片 5

接下来,您需要刷新 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

如何从 USB 启动 Raspberry Pi 3 的图 6

注意:sudo chroot 命令(上面的第五个命令)之后,您将切换到 root,您必须从 pi @ raspberrypi 更改为 root @ raspberrypi 直到您在第 8 行输入 exit

准备从 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命令来代替关机。

当 Pi 处于关闭状态时,请先断开电源,然后再取出 SD 卡。接下来,重新连接电源,您的 Raspberry Pi 现在将从 USB 设备启动!

你试过了吗?您是否喜欢从 USB 而不是 SD 卡启动?您打算对此进行测试吗?请在下面的评论部分告诉我们!

祝你好运!

查看更多:

  1. 如何将旧笔记本电脑屏幕变成魔镜
  2. 如何在 Raspberry Pi 3 上设置 Wi-Fi 和蓝牙
  3. 如何将您的 Raspberry Pi 更新到最新的 Raspbian 操作系统

相关资讯

评论

回复