使用overlayfs打造一个只读的不怕意外关机的树莓派Raspberry Pi

树莓派的本领就不多说了。但是在树莓派的应用场合,关机的时候还是显得尴尬,先不说执行 sudo halt 要么需要ssh上去,要么需要有键盘和显示器,更不要说,有的场景可能连网络和显示器都没有,真正的 headless。 但是如果不执行sudo halt直接关电源,那么有很大的概率会损坏SD卡上的文件系统,甚至损坏SD卡。

overlayfs是linux系统下的一种影子文件系统,它可以把真正的存储文件系统作为只读挂载,而把所有文件改动都存放在RAM中,关机或者重启就失效,真正的保护了存储文件系统。  下面就说一下我在树莓派中实施overlayfs的方法,其实很简单。

我参考了这个帖子中介绍的方法:

https://www.raspberrypi.org/forums/viewtopic.php?t=173063#p1151405

 

1. 首先,禁用交换空间,毕竟树莓派里的交换空间也是占用RAM(tempfs)的,所以如果使用了overlayfs后,交换空间就显得没有意义了。

执行如下3条命令:

 

  sudo dphys-swapfile swapoff
  sudo dphys-swapfile uninstall
  sudo update-rc.d dphys-swapfile remove


2. 更新系统,保证系统为最新状态

 

 

sudo apt-get update
sudo apt-get upgrade

 

 

 

 

 

3. 保存如下脚本为 overlayRoot.sh

注(2020-11-22):如下脚本已过时,最新脚本请前往链接【 http://wiki.psuter.ch/doku.php?id=solve_raspbian_sd_card_corruption_issues_with_read-only_mounted_root_partition#the_script 】

#!/bin/sh
#  Read-only Root-FS for Raspian using overlayfs
#  Version 1.0
#
#  Created 2017 by Pascal Suter @ DALCO AG, Switzerland
#  to work on Raspian as custom init script
#  (raspbian does not use an initramfs on boot)
#
#  Modified 2017-Apr-21 by Tony McBeardsley 
#
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see
#    <http://www.gnu.org/licenses/>.
#
#
#  Tested with Raspbian mini, 2017-01-11
#
#  This script will mount the root filesystem read-only and overlay it with a temporary tempfs 
#  which is read-write mounted. This is done using the overlayFS which is part of the linux kernel 
#  since version 3.18. 
#  when this script is in use, all changes made to anywhere in the root filesystem mount will be lost 
#  upon reboot of the system. The SD card will only be accessed as read-only drive, which significantly
  • 6
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
### 回答1: 树莓派是一款功能强大的微型计算机,而raspberrypi基于传感器开发套件可以帮助我们更好地利用树莓派进行编程。这套开发套件通常包括各种传感器,如温度传感器、湿度传感器、光线传感器、运动传感器等,以及它们所需的电子元件和连接线。 使用raspberrypi基于传感器开发套件,我们可以轻松地将传感器连接到树莓派上,并通过编写代码来获取传感器的数据。这些数据可以用于各种有趣的项目,如温度监测、智能家居系统、环境监测等。 例如,我们可以使用温度传感器来测量环境温度,并根据实时数据来控制风扇或空调的运行。使用光线传感器,我们可以根据光线强度自动调节屏幕亮度或灯光明暗。利用运动传感器,我们可以实现智能安防系统,当有人进入监测区域时,自动触发警报或拍摄照片。 除了这些应用,raspberrypi基于传感器开发套件还可以用于教育和学习编程。它提供了一个实践的平台,让学生能够亲自动手进行实验和项目开发。这样,他们可以通过编程来理解传感器的原理和工作方式,提高他们的动手能力和创造力。 总之,raspberrypi基于传感器开发套件为我们提供了一个丰富多样的编程平台。通过利用树莓派的强大功能以及各种传感器,我们可以开发出各种实用、有趣的项目,并且在学习过程中提高自己的编程能力和创造力。 ### 回答2: RaspberryPi基于传感器开发套件可以让我们更好地使用树莓派进行编程和开发。树莓派是一款基于Linux系统的单板计算机,它具有丰富的GPIO针脚,可与各种传感器和外部设备连接。 使用传感器开发套件,我们可以利用树莓派的强大功能来与不同的传感器进行交互。例如,我们可以通过连接温湿度传感器来实时监测环境的温度和湿度变化。我们还可以连接光敏传感器来检测光线强度,或连接声音传感器来监测声音的大小。这些传感器可以帮助我们获取各种感知数据,用于各种项目和应用中。 在编程方面,树莓派提供了多种编程语言和开发环境供我们选择,如Python和C语言。我们可以利用树莓派的GPIO库和传感器开发套件,编写程序来控制传感器的输出和读取传感器的数据。例如,我们可以编写一个程序来根据光敏传感器获取到的光线强度来控制LED灯的亮度。 此外,传感器开发套件还可以用于学习机器视觉和人工智能等领域。通过连接摄像头模块,我们可以使用树莓派进行图像识别和目标跟踪等任务。这为我们提供了一个实践和学习机器学习算法的平台。 总的来说,RaspberryPi基于传感器开发套件为我们提供了一个灵活且功能强大的平台,可以让我们玩转树莓派编程。无论是用于科技创作、物联网项目还是学习编程和电子技术,树莓派和传感器开发套件都是非常有用的工具。 ### 回答3: Raspberry Pi基于传感器开发套件让我们能够充分利用树莓派的强大功能,进行各种创意编程项目。借助这套开发套件,我们可以轻松地将各种传感器与树莓派连接起来,并通过编程控制与其交互。 这个开发套件通常包含了各种常用的传感器模块,比如温度传感器、湿度传感器、光敏传感器等等。我们只需要将这些传感器连接到树莓派的GPIO口,然后基于Python编程语言进行编程,就能够读取传感器的数据,进行各种有趣的操作。 例如,我们可以使用温度传感器监测环境温度,并编写程序将温度数据实时显示在树莓派上。或者,我们可以利用光敏传感器检测光线强度,并通过编写代码控制与光线相关的设备,比如控制LED灯的开启与关闭。 除了基础的传感器,树莓派的开发套件还包括一些高级功能模块,比如声音传感器、声音放大器、触摸传感器等等。借助这些模块,我们可以进行更加复杂的音乐创作、声控设备开发等项目。 总之,Raspberry Pi基于传感器开发套件为我们提供了一个便捷的方式来学习编程,并将所学应用到实际中。无论是探索物联网、机器人学,还是设计各种有趣的交互装置,这套开发套件都是一个理想的选择。通过动手实践,我们能够深入了解树莓派的强大功能,并培养创造力和解决问题的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值