第一章 需求描述
如文章标题所示的,需要配置树莓派Raspberry从USB的SSD固态硬盘启动,将保证它运行的性能,同时又能获取较大的容量
第二章 硬件清单
01 树莓派2 Raspberry 2 Model B V1.1 2014版
02 USB电源插头,规格为5V-1A,配套的USB线
03 固态硬盘一个,容量为120GB的SSD固态硬盘,及配套的硬盘盒,USB连接线
04 microSD存储卡,及配套的USB读卡器
05 显示器,及有HDMI接口的显示器连接线/转接线(用于调试)
第三章 安装实施
3-01 状况描述
默认情况下,Raspberry Pi 从 microSD 存储卡启动。但是自从 Raspberry Pi 3 发布以来,新的 Pi 也能够从 USB 大容量存储设备启动。
新的启动模式处于试验阶段,因此它可能不适用于您的 U 盘或硬盘,就是说有些硬盘可能未必兼容。
设置启动模式是永久性的。实际如果插入了 microSD 卡,您的 Pi 仍会优先从 microSD 存储卡启动。
看到这里,我就无语了,我吃灰的树莓派,版本是(Raspberry 2 Model B V1.1 2014),好像版本有点旧了。网络上的文章大多是基于pi3 或者pi 4的,因为我有这样的旧设备,本篇文章正好再来尝试一下旧设备的安装方式。
原理也很简单,写入一个镜像到microSD存储卡,写入一个镜像到120GB的SSD固态硬盘,在 microSD卡的/boot/cmdline.txt中指向启动的分区为120G固态硬盘上的文件系统,就可以了
3-02 尝试安装
本次操作是在上次已经写入镜像的基础上进行操作的,写入树莓派镜像到microSD存储卡的教程在 https://dasmz.com/?p=1045
格式化存储卡,写入镜像,在该/boot中,创建SSH空白文件的操作不要忘记。
格式化120G的固态硬盘,写入镜像,写完之后,再插入一下台式机,格式化掉它的/boot这个卷
把树莓派插上供电,连接网线,通过路由器的管理页面,找到它的IP地址
通过终端连接树莓派,最好有显示器接在树莓派上,可以看到树莓派的启动状态
user@local:~ $ ssh pi@10.11.11.114 // 密码为初始的 raspberry
3-03 指定启动的文件系统
设备的系统本质上是2个分区,一个是/root 一个是常规的文件系统/
pi@raspberrypi:~ $ blkid /dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="C839-E506" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="3f7dd594-01" /dev/mmcblk0p2: LABEL="rootfs" UUID="568caafd-bab1-46cb-921b-cd257b61f505" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="3f7dd594-02" /dev/sda1: LABEL_FATBOOT="NBOOT" LABEL="NBOOT" UUID="E2A7-DCF9" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="8acef004-01" /dev/sda2: LABEL="rootfs" UUID="568caafd-bab1-46cb-921b-cd257b61f505" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8acef004-02" pi@raspberrypi:~ $ // 16GB存储卡 // Disk /dev/mmcblk0: 15 GiB, 16110321664 bytes, 31465472 sectors // 120GB的SSD固态硬盘 // Disk /dev/sda: 111.79 GiB, 120034123776 bytes, 234441648 sectors
看到如上的信息之后,记录下来,把树莓派关机,把存储卡拔出来,插进存储卡读卡器,插上电脑,在/boot/cmdline.txt中指向启动的分区为120G固态硬盘上的文件系统,应该就可以了。
root@raspberrypi:/boot# vi cmdline.txt console=serial0,115200 console=tty1 root=PARTUUID=8acef004-02 rootfstype=ext4 fsck.repair=yes rootwait root@raspberrypi:/boot# reboot // 修改PARTUUID的3f7dd594-02到我们120GB固态硬盘的那个8acef004-02 // 可选用UUID,root=LABEL=FuDatui或者root=UUID=CB99-9527
修改完成,直接重启,重启后,登录系统,在扩展一下磁盘到SSD的整个分区,再重启
root@raspberrypi:~# raspi-config -- 选择 advanced option -- 选择 Expand Filesystem ... root@raspberrypi:~# reboot
3-04 更新
切换到root用户后,执行更新操作,这两个的更新,纯国内网络环境,可能需要比较久的时间,如果有条件的,尽量让 raspberrypi.org 这个相关的域名,走到代理去。
root@raspberrypi:~# apt-get update root@raspberrypi:~# apt-get upgrade
执行过程的截图,不走代理,和走代理更新的速度巨大差别。配置apt走代理的教程 https://dasmz.com/?p=19
因为是microSD存储卡,升级upgrade的操作时间比较久,一共用了4分45秒
3-05 补缺
执行过程提示了,两个报错,故而建议把语言和时区设置一下
root@raspberrypi:/home/pi# dpkg-reconfigure locales // 增加勾选 en_US.UTF-8 zh_CN.UTF-8这两个,因为树莓派Raspberry是英国出品,所以,默认语言是en_GB
设置服务器的时区,设置为亚洲/上海
root@raspberrypi:/home/pi# dpkg-reconfigure tzdata Current default time zone: 'Asia/Shanghai' Local time is now: Sun 09 Jan 2022 08:44:02 PM CST. Universal Time is now: Sun Jan 9 12:44:02 UTC 2022. debconf: DbDriver "templatedb": could not sync /var/cache/debconf/templates.dat-new: Input/output error root@raspberrypi:/home/pi#
如果觉得这篇文章很赞,欢迎赞赏/打赏
参考文章 https://forums.raspberrypi.com/viewtopic.php?t=193157
参考文章 https://thepi.io/how-to-boot-your-raspberry-pi-from-a-usb-mass-storage-device/
参考文章 http://www.maoyingdong.com/raspberry_4b_usb_boot/
参考文章 https://www.cnblogs.com/sjqlwy/p/4495917.html 基本无用
参考文章 https://blog.51cto.com/u_15162069/2782366 基本无用