使用硬件时钟节省时间
安装硬件
我使用了 PiFace Real Time Clock。安装 CR1220 电池并正确安装到板上后,请参阅手册。
安装软件
添加来自内核的模块
/etc/modules
添加这些模块,以便它们在启动时加载。如果您不想重启,可以分别使用 modprobe 加载每个模块。
/etc/modules的内容
i2c_dev i2c_bcm2708 i2c:mcp7941x
/media/mmcblk0p1/config.txt
您需要以读写模式挂载它
mount -o remount,rw /media/mmcblk0p1
将这两个参数添加到末尾
/media/mmcblk0p1/config.txt的内容
dtparam=i2c1=on dtparam=i2c_arm=on
mount -o remount,ro /media/mmcblk0p1
然后您需要重启。
绑定硬件时钟设备
您需要确保在 hwclock 启动时创建设备(如果尚未创建)。在 /etc/conf.d/hwclock 的底部添加以下内容
/etc/conf.d/hwclock的内容
... start_pre() { if [ -d "/sys/class/i2c-adapter/i2c-1/i2c-dev/i2c-1" ]; then einfo "正在创建 RTC 设备"; echo mcp7941x 0x6f > /sys/class/i2c-adapter/i2c-1/new_device fi }
目前这是必要的,但在未来当 issue 1032 解决后,您应该能够直接添加
/media/mmcblk0p1/config.txt的内容
... dtparam=i2c-rtc,mcp7941x
到 /media/mmcblk0p1/config.txt
在启动时启动 hwclock
需要启动 hwclock 服务,硬件时钟设备才能真正执行任何操作。通过运行以下命令检查 hwclock 是否已启动
rc-status | grep hwclock
如果输出
hwclock [ started ]
hwclock 已经启动。否则手动启动它并将其添加到默认的 init.d 运行级别,以便它在启动时启动
rc-service hwclock start
rc-update add hwclock default
如果您在无盘模式(非持久性根文件系统)下运行 Alpine Linux,请通过以下方式保存配置
lbu commit -d