日度归档:2022年1月9日

配置树莓派2 Raspberry 2 Model B V1.1 2014从USB boot startup的SSD固态硬盘启动 2022-1-9

第一章 需求描述

如文章标题所示的,需要配置树莓派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# 

如果觉得这篇文章很赞,欢迎赞赏/打赏

Donate
云乞讨

参考文章 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 基本无用