Today, I prepared a PDF guide which explains how to make your Raspberry Pi 3 with Raspbian Jessie be read only. First of all, I am not the one who create the procedure: I followed the steps of this thread in the Raspberry Pi forum. Since, in the forum, there was no screenshot, I decided to add some screenshots, so that even newbies can easily perform the steps, in a user friendly way. Moreover, the guide, which is just 10 pages, shows also how to perform the "first installation" of Raspbian on a Micro SD card, therefore it is a guide starting from "step 0".
The guide can be downloaded here: Raspberry_Pi_3_Jessie_read_only. I takes about 10-15 minutes to complete all steps, for the first time.
The method shown in the guide, basically mounts the filesystem in RAM memory, by using an overlay partition.
This allows you to use every application as normal. The applications running on your Pi, will think that they are normally writing on the Micro SD card, while practically their writing operations are performed on a temporary (volatile) RAM memory, which data is then lost at Power Off. The consequence are that:
- There is no risk of Micro SD card corruption due to any Power Off (loss of power supply) event happening when an application is writing Micro SD card memory.
- Every change that you do will be "forgot" at next Power On. For example, if you install an application, this will not be present at next Power On. However, you can, manually, re-set your filesystem in write-able mode again, by changing the file /boot/config.txt (it requires just few seconds, and a reboot) and removing the "boot=overlay".
Very interesting and really shorter than readonly realized using UnionFS
Thank you. Yes, the procedure is very fast, and also it does not require to install any additional package. This modification also supports the graphical interface.
I followed each step but is not working on 2017-04-10 raspbian lite...
Thank you very much, it worked as a charme !
Does this method make "the whole" SD read only (protect boot partition, swap files, etc) ?
Thanks