USB存储设备启动树莓派
USB存储设备的系统安装
准备一个USB存储设备,我用的是U盘,硬盘应该也行。需要格式化,所以注意备数据的备份。
1 | sudo parted /dev/sda # 使用parted对U欧盘进行分区 |
一般都是sda,不过分不清楚的话可以用 $sudo fdisk -l | grep sd查看。
创建BOOT 和root 文件系统
1 | sudo mkfs.vfat -n BOOT -F 32 /dev/sda1 |
创建文件挂载U盘
1 | sudo mkdir /mnt/target |
安装rsync
1 | sudo apt-get update |
将root和boot文件系统同步到U盘上去
1 | sudo rsync -ax --progress / /boot /mnt/target |
关于硬盘启动树莓派
系统启动主要依靠的是boot引导分区和根分区。所以在修改启动项的时候一定得修改sd目录下的cmd.txt
更改为
1 | dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait |
这样系统在启动的时候就会根据提示找sda2,然后再修改硬盘目录下的/etc/fstab
1 | proc /proc proc defaults 0 0 |
编辑 cmdline.txt文件,fstab文件
1 | sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2,"/boot/cmdline.txt |
不过尝试了多次后发现这种方法似乎不正常,树莓派都不能正常启动。推荐使用下列方式:
编辑/boot/cmdline.txt文件,修改被引导分区,将root后的内容由原来的树莓派的分区变为root=/dev/sda1
1 | vi /boot/cmdline.txt |
重启机器
1 | sudo reboot |
More
A :是否能在pi1 pi2 上使用
不能,因为关于boot的代码只在BCD2837上有(也就是raspberry pi 3 这一代)。
Tips :
最好所用的U盘比microSD卡的容量(准确来说是raspbian的文件系统容量)要大
因为网络原因出现过的一些问题
参考链接
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
https://github.com/raspberrypi/documentation/blob/master/hardware/raspberrypi/bootmodes/msd.md
Youtube : https://www.youtube.com/watch?v=hxV3yrn8FK8