树莓派 CentOS 挂载硬盘

有个淘汰下来的笔记本硬盘,正好可以装在树莓派上做扩展用。

安装依赖

硬盘的文件系统格式是 exFAT,树莓派使用的是 CentOS,默认不支持 exFAT 格式的挂载,需要自己安装相应的支持包。

安装 fuse-exfat

以下命令行中链接随时可能失效,可以自己去 rpmfind.net 检索,后文不再赘述。

1
2
wget https://www.rpmfind.net/linux/rpmfusion/free/fedora/releases/28/Everything/armhfp/os/Packages/f/fuse-exfat-1.2.8-2.fc28.armv7hl.rpm
sudo yum localinstall fuse-exfat-1.2.8-2.fc28.armv7hl.rpm

安装 exfat-utils

1
2
wget https://www.rpmfind.net/linux/rpmfusion/free/fedora/releases/28/Everything/armhfp/os/Packages/e/exfat-utils-1.2.8-2.fc28.armv7hl.rpm
sudo yum localinstall exfat-utils-1.2.8-2.fc28.armv7hl.rpm

挂载硬盘

安装上述两个支持包之后,就可以顺利挂在 exfat 格式的硬盘了。

1
2
3
4
sudo fdisk -l  # 查看硬盘位置
sudo mkdir /media/hdd # 创建挂载位置
sudo chown lakor:lakor /media/hdd # 变更目录归属,记住替换为自己的用户名
sudo mount -t exfat /dev/sda2 /media/hdd # 挂载硬盘

卸载的话直接 umount,如果提示设备忙就加上 -l 参数:

1
sudo umount /media/hdd

配置开机自动挂载

首先复制硬盘对应的 uuid:

1
sudo blkid

/etc/fstab 末尾加上:

1
UUID=****** /media/hdd exfat defaults 0 0   # 将 uuid 填入

配置硬盘自动休眠

硬盘一直挂载树莓派上,虽说不影响硬盘寿命,但是挺吵的,再配置个自动休眠吧。

首先安装 hd-idle,这是硬盘闲置指定时间后休眠用的工具包,这里一开始我是直接用源码编译安装的,源码见 jlyo/hd-idle,但是后来在 rpmfind 里找到了对应的包,建议还是用包的方式安装,便于管理:

1
2
wget https://www.rpmfind.net/linux/fedora/linux/releases/30/Everything/armhfp/os/Packages/h/hd-idle-1.05-7.fc30.armv7hl.rpm
sudo yum localinstall hd-idle-1.05-7.fc30.armv7hl.rpm

检查硬盘是否支持 hd-idle:

1
sudo hd-idle -i 0 -a sda -i 10 -d  # 硬盘闲置 10s 后自动休眠

-i 后的参数即时间,单位是 s,执行上述命令之后其实可以直接去看看 10s 后硬盘到底有没有停止运作,命令行也有输出信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
probing sda: reads: 14846, writes: 8
spindown: sda

确认有效之后就可以编辑配置文件了,服务文件在 /usr/lib/systemd/system/hd-idle.service ,服务文件里写明了配置文件的位置:/etc/sysconfig/hd-idle ,最终配置文件如下:

1
2
$ cat /etc/sysconfig/hd-idle
HD_IDLE_OPTS="-a sda -i 600 -l /var/log/hd-idle/hd-idle.log"

即为 sda 处硬盘闲置 10 分钟后自动休眠。

到这里,硬盘的挂载就结束了,开机自动挂载,闲置自动休眠,还是很赞的~