![如何从 Raspberry PI 3 中选定的分区启动?](https://linux22.com/image/1614387/%E5%A6%82%E4%BD%95%E4%BB%8E%20Raspberry%20PI%203%20%E4%B8%AD%E9%80%89%E5%AE%9A%E7%9A%84%E5%88%86%E5%8C%BA%E5%90%AF%E5%8A%A8%EF%BC%9F.png)
我对引导加载程序了解不多。我在更新 SD 卡中的映像时遇到了一些问题。我有一台树莓派,我想在 SD 卡中创建两个分区,这样其中一个分区保存正在运行的映像,另一个分区保存备份映像。例如,如果我想更新映像,我会在一个分区中执行此操作,如果成功,则切换到该分区,否则它会回滚到上一个正在运行的映像。现在,我如何根据需要从特定映像启动?有没有关于 Linux 环境/RaspberryPI 3 中的引导加载程序的好教程或好起点?非常感谢!
答案1
警告:玩弄启动文件非常危险,可能会导致驱动器无法启动。确保备份文件在执行此操作之前,请先从 SD 卡中
程序:
首先从当前新创建的可启动 SD 卡启动,因为 Raspbian 会执行一些初始化步骤,例如扩展文件系统、编辑启动文件等。
SD 卡上现在应该有两个分区,一个是根分区
/boot
,另一个是/
根分区。然后创建第三个分区(ext4)。递归复制所有文件具有权限 从第二个根分区到新创建的分区。现在到了棘手的部分。我们必须指示内核以 root 身份挂载我们新创建的分区。为此,
/boot/cmdline.txt
在文本编辑器中打开文件,将此字符串替换root=PARTUUID=6c586e13-02
为此root=/dev/mmcblk0p3
。mmcblk0p3
表示第 0 个块的第 3 个分区多媒体卡 (MMC)又名 SD 卡。root
定义根文件系统的位置。请参阅Raspberry Pi 内核命令行 了解更多信息。或者,编辑该
/etc/fstab
文件。
前
PARTUUID=6c586e13-02 / ext4 defaults,noatime 0 1
后
/dev/mmcblk0p3 / ext4 defaults,noatime 0 1