这是作者升级 Chumby 8 运行现代 Linux 内核的系列文章。之前已发布多篇,此为后续内容。主要内容如下:
- 升级内核前需解决的 minor 事项,最重要的是实时时钟(RTC)。默认 pxa168.dtsi 文件已添加 RTC 但处于禁用状态,作者尝试启用 RTC 并设置相关配置,如使能 CONFIG_RTC_DRV_SA1100=y 等。
- 经更改后,安装新内核启动 Chumby,检测到 RTC 且设置了系统时钟,但重启后 RTC 日期又回到 1970 年,经检查电池良好,推测问题与 Chumby 8 的 RTC 设计有关。
- 查看 Chumby 8 的原理图发现,硬币电池未连接到主处理器,PX168 的内置 RTC 基本无用,Chumby 利用电池为 STM32F101“加密处理器”供电,该处理器负责记录日期,通过读取其运行时间来确定系统时间。
- 作者在 Chumby 的原始启动脚本中找到相关信息,了解到如何通过 cryptoprocessor 的 uptime 计数器来处理日期设置,还找到相关 perl 脚本如 restore_time、save_time 等。
- 作者利用 Chumby 的 cpi 工具及相关脚本实现了在现代环境中对日期和时间的保存与恢复,启用 NTP 保持时间同步,编写自动恢复和保存时间的守护进程,并将设置文件存储在 SD 卡的单独分区。
- 最终实现的“RTC”解决方案完全在用户空间实现,无需特殊内核逻辑和驱动,作者对该方案表示满意。此项目即将结束,下一篇将讨论 Chumby 内置的 SD/CF/MS 卡读卡器及如何使其接近原始固件的功能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。