欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

防止根文件系統(tǒng)破壞,OverlayRootfs 讓你的設備更安全

Firefly開源團隊 ? 2025-01-08 16:33 ? 次閱讀

OverlayRootfs 介紹

OverlayRootfs 是指利用 OverlayFS 技術創(chuàng)建的根文件系統(tǒng)(root filesystem)。OverlayFS 是一種聯合文件系統(tǒng)(UnionFS),允許將多個文件系統(tǒng)層合并成一個單一的視圖,在 Linux 系統(tǒng)中廣泛應用。使用 OverlayRootfs 的設備可以很輕松的實現:根文件系統(tǒng)寫保護、恢復出廠設置功能。

根文件系統(tǒng)寫保護

使能 OverlayRootfs 的 Firefly 設備 Rootfs 分區(qū)會被掛載到 /root-ro只讀保護(Lower layer),所有的用戶修改都是寫入到 Userdata 分區(qū)的 /userdata/rootfs_overlay(Upper layer),不會寫入到 Rootfs 分區(qū),確保 Rootfs 分區(qū)數據只讀而不會被破壞。OverlayRootfs 會把 /root-ro 和 /userdata/rootfs_overlay 合并成一個單一的視圖,用戶在使用上是無感的。

示例說明:

通常 Linux 設備如果頻繁的硬件斷電重啟,可能會造成讀寫分區(qū)的損壞,從而無法正常開機。Firefly 使能 OverlayRootfs 的設備,真實讀寫是 userdata 分區(qū),即使硬件斷電導致 userdata 分區(qū)損壞設備依然能以只讀的形式啟動根文件系統(tǒng),用戶依然可以控制設備做一些分區(qū)恢復、數據保存的操作。下面是人為的破壞 userdata 后依然可以以只讀的方式開機:

2f4dcfcc-cd9b-11ef-9434-92fbcf53809c.png

可以創(chuàng)建或者刪除一個文件來測試 OverlayRootfs,真實數據是寫入到了 /userdata/rootfs_overlay 上。

# 創(chuàng)建一個文件,可以在 /userdata/rootfs_overlay/ 下相同目錄找到root@firefly:~# touch /usr/local/bin/firefly-testroot@firefly:~# ls /userdata/rootfs_overlay/usr/local/bin/firefly-test/userdata/rootfs_overlay/usr/local/bin/firefly-test
# 刪除 /userdata/rootfs_overlay/ 下對應文件,真實文件系統(tǒng)中的相應文件也會被修改root@firefly:~# rm -rf /userdata/rootfs_overlay/usr/local/bin/firefly-testroot@firefly:~# ls /usr/local/bin/disable_ModemManager.sh docker-compose ec200.sh quectel-CM restart_plank.sh

由于 rootfs 分區(qū)是只讀而且不會被修改的,所以使用 df -h 可以看到 rootfs 分區(qū)可用空間不大這是正常的,用戶真正寫入的是 userdata 分區(qū)。

2f6949a0-cd9b-11ef-9434-92fbcf53809c.png

恢復出廠設置

執(zhí)行“recovery reset”系統(tǒng)會自動擦除 userdata 分區(qū),讓設備文件系統(tǒng)恢復到剛剛燒錄完成的狀態(tài)。

# 創(chuàng)建一個文件驗證功能,執(zhí)行 recovery reset 恢復出廠設置。root@firefly:~# touch /home/firefly/testroot@firefly:~# ls /home/firefly/test/home/firefly/testroot@firefly:~# recovery resetcommand: --wipe_allupdate: write command to command file: doneupdate: write command to misc file: doneupdate: reboot!
# 重啟之后root@firefly:~# ls /home/firefly/testls: cannot access '/home/firefly/test': No such file or directory

關閉OverlayRootfs功能

部分場景可能需要關閉 OverlayRootfs,如:快速啟動、A&B 系統(tǒng)等,可以通過修改 kernel 啟動參數來使能/關閉 OverlayRootfs 功能。如 RK3576:

# 修改 kernel 的 dts chosen 節(jié)點。kernel/arch/arm64/boot/dts/rockchip/rk3576-linux.dtsi
chosen: chosen {// 關閉 OverlayRootfs 功能//bootargs = "earlycon=uart8250,mmio32,0x2ad40000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait rcupdate.rcu_expedited=1 rcu_nocbs=all";// 使能 OverlayRootfs 功能bootargs = "earlycon=uart8250,mmio32,0x2ad40000 console=ttyFIQ0 root=PARTLABEL=rootfs rootfstype=ext4 ro rootwait overlayroot=device:dev=PARTLABEL=userdata,fstype=ext4,mkfs=1 rcupdate.rcu_expedited=1 rcu_nocbs=all net.ifnames=0";

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11353

    瀏覽量

    210565
  • 根文件系統(tǒng)

    關注

    0

    文章

    26

    瀏覽量

    12049
收藏 人收藏

    評論

    相關推薦

    基于Buildroot的Linux系統(tǒng)構建之文件系統(tǒng)

    基本的Linux文件系統(tǒng)是Unix文件夾目錄層次結構,skeleton是構建文件系統(tǒng)的基礎。   skeleton配置入口:   S
    發(fā)表于 04-01 10:46 ?2649次閱讀

    roofs文件系統(tǒng)簡介制作(下)

    文件系統(tǒng)首先是內核啟動時所mount的第一個文件系統(tǒng),內核代碼映像文件保存在文件系統(tǒng)中,而
    的頭像 發(fā)表于 09-18 09:26 ?2008次閱讀
    roofs<b class='flag-5'>根</b><b class='flag-5'>文件系統(tǒng)</b>簡介制作(下)

    Linux文件系統(tǒng)的組成及構建方案

    Linux“三巨頭”已經完成了 2 個了,就剩最后一個 rootfs(文件系統(tǒng))了,本章就來學習一下文件系統(tǒng)的組成以及如何構建
    發(fā)表于 10-13 14:21 ?1054次閱讀

    文件系統(tǒng)的含義和相關重要概念以及加載代碼分析

    簡單的來說,文件系統(tǒng)包括虛擬文件系統(tǒng)和真實根文件系統(tǒng)。在Kernel啟動的初始階段,首先去創(chuàng)建虛擬的
    的頭像 發(fā)表于 01-23 08:54 ?8046次閱讀

    文件系統(tǒng)

    文件系統(tǒng)uClinux中的文件系統(tǒng)可以有多種選擇。通常情況下,ROMfs是使用最多的文件系統(tǒng),它是一種簡單、緊湊和只讀的文件系統(tǒng)。ROMf
    發(fā)表于 06-02 09:29

    文件系統(tǒng)的制作

    在嵌入式Linux操作系統(tǒng)越中文件系統(tǒng)作為操作系統(tǒng)的重要組成部分,用于控制對數據文件設備的存取,提供對
    發(fā)表于 04-29 21:32

    Linux文件系統(tǒng)簡介

    Linux文件系統(tǒng)簡介 什么是文件   文件系統(tǒng)首先是一種
    發(fā)表于 04-21 17:01 ?5125次閱讀

    基于Cramfs的文件系統(tǒng)配置

    文件系統(tǒng)是構建一個Linux 嵌入式系統(tǒng)的重要組成部分,目前嵌入式系統(tǒng)可以選擇的文件系統(tǒng)有:
    發(fā)表于 05-25 17:07 ?23次下載

    基于zynq的Linux文件系統(tǒng)生成

    Linux中Root Filesystem(文件系統(tǒng))是必不可少的,常用的是BusyBox,本節(jié)就介紹一下使用BusyBox制作Linux文件系統(tǒng)rootfs,主要參考xilinx
    發(fā)表于 02-10 15:58 ?5882次閱讀
    基于zynq的Linux<b class='flag-5'>根</b><b class='flag-5'>文件系統(tǒng)</b>生成

    設備文件系統(tǒng)devfs詳細解析

    ,典型的 /dev 樹包含數百個塊特殊文件和字符特殊文件,它們全都在文件系統(tǒng)上。每個特殊文件都可以
    發(fā)表于 11-01 15:36 ?0次下載

    CramFS文件系統(tǒng)的移植解析

    文件系統(tǒng)是構建一個uCLinux嵌入式系統(tǒng)的重要組成部分。目前嵌入式系統(tǒng)可以選擇的文件系統(tǒng)
    發(fā)表于 11-06 11:21 ?0次下載

    嵌入式Linux開發(fā)-文件系統(tǒng)NFS網絡掛載

    文件系統(tǒng)是Linux內核啟動之后掛載的第一個文件系統(tǒng),上篇文章里已經介紹過,如何使用busybox來制作文件系統(tǒng)。這篇文章介紹
    的頭像 發(fā)表于 08-14 08:57 ?1985次閱讀

    rootfs文件系統(tǒng)制作

    本文記錄了文件系統(tǒng)的一些知識點,Busybox 工具的使用和 最小文件系統(tǒng)的制作。
    發(fā)表于 10-31 11:56 ?2次下載

    使用BusyBox構建文件系統(tǒng)

    文件系統(tǒng)的構建,是 Linux移植三大組成部分的最后一步,文件系統(tǒng)構建好后,就構成了一個基礎的、可以運行的嵌入式 Linux最小系統(tǒng)
    的頭像 發(fā)表于 04-19 11:20 ?1392次閱讀
    使用BusyBox構建<b class='flag-5'>根</b><b class='flag-5'>文件系統(tǒng)</b>

    Linux文件系統(tǒng)的掛載過程

    Linux文件系統(tǒng)(rootfs)是Linux系統(tǒng)中所有其他文件系統(tǒng)和目錄的起點,它是內核啟動時掛載的第一個文件系統(tǒng)。
    的頭像 發(fā)表于 10-05 16:50 ?548次閱讀