Difference between revisions of "How to use overlayfs on Linux"
(→哪些平台与系统支持OverlayFS) |
(→使用OverlayFS时的分区布局) |
||
Line 26: | Line 26: | ||
tmpfs 102304 0 102304 0% /run/user/1000 | tmpfs 102304 0 102304 0% /run/user/1000 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | ==Partition Settings With OverlayFS== |
− | + | When you use OverlayFS there will be three partitions:rootfs, data and boot, and these partitions correspond to the rootfs.img, the userdata.img and the boot.img separately: | |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
root@NanoPi-M1-Plus:~# lsblk /dev/mmcblk0 | root@NanoPi-M1-Plus:~# lsblk /dev/mmcblk0 | ||
Line 36: | Line 36: | ||
`-mmcblk0p1 179:1 0 40M 0 part /boot | `-mmcblk0p1 179:1 0 40M 0 part /boot | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | The system data will be in the rootfs partition and the data written to the root directory will be in the data partition. | |
+ | |||
==使用OverlayFS实现恢复出厂设置功能== | ==使用OverlayFS实现恢复出厂设置功能== | ||
===方法1:操作userdata分区=== | ===方法1:操作userdata分区=== |
Revision as of 12:30, 18 September 2019
Contents
1 What Is OverlayFS
OverlayFS is a union mount filesystem implementation for Linux. It allows a virtual merge of two partitions, while keeping their actual contents separate. One partition is the rootfs partition and the other is the data partition. It has the following advantages:
1) you can easily restore a system's default settings by formatting the data partition;
2) you can still boot your system since the rootfs is read-only even when the data partition cannot be correctly mounted due to unexpected shutdown.
2 FriendlyELEC's Systems That Support OverlayFS
2.1 Hardware Systems
H3, H5, S5P4418, S5P6818, RK3399 based boards
2.2 OS Systems
FriendlyCore, FriendlyDesktop, Lubuntu
3 如何鉴别系统是否工作在OverlayFS
执行df命令,如果/分区挂载类型为 overlay,表示OverlayFS正在工作:
pi@NanoPi-M1-Plus:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 474848 0 474848 0% /dev tmpfs 102304 3564 98740 4% /run overlay 28925547 1315493 26112465 5% / tmpfs 511512 0 511512 0% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 511512 0 511512 0% /sys/fs/cgroup /dev/mmcblk0p1 40862 11852 29010 30% /boot tmpfs 102304 0 102304 0% /run/user/1000
4 Partition Settings With OverlayFS
When you use OverlayFS there will be three partitions:rootfs, data and boot, and these partitions correspond to the rootfs.img, the userdata.img and the boot.img separately:
root@NanoPi-M1-Plus:~# lsblk /dev/mmcblk0 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 29.7G 0 disk |-mmcblk0p2 179:2 0 1.2G 0 part |-mmcblk0p3 179:3 0 28.5G 0 part `-mmcblk0p1 179:1 0 40M 0 part /boot
The system data will be in the rootfs partition and the data written to the root directory will be in the data partition.
5 使用OverlayFS实现恢复出厂设置功能
5.1 方法1:操作userdata分区
factory reset:
mount /dev/mmcblk0p3 /media/ && cd /media/ mv root/ deleteme.root mv work/ deleteme.work reboot
cleanup after reboot:
mount /dev/mmcblk0p3 /media/ && rm -rf /media/deleteme.*
5.2 方法2:命令行参数
在内核命令行参数中加入 wipedata=yes,S5P4418与S5P6818平台可以在系统运行时进行修改:
5.2.1 设置下次开机时抹掉data分区的数据(即恢复出厂设置)
sudo fw_setenv bootargs "`cat /proc/cmdline` wipedata=yes" sudo reboot
5.2.2 开机时不再抹掉data分区
sudo fw_setenv bootargs "`cat /proc/cmdline` wipedata=no" sudo reboot
其他平台需要根据BSP提供的方法进行kernel command line修改,也可以开机进入uboot命令行进行设置。
6 临时禁用OverlayFS
可以做完TF启动卡之后,用 fdisk 操作TF卡,删除 data 分区。