色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

如何配置只讀屬性的文件系統(Colibri iMX7為例)

星星科技指導員 ? 來源:Toradex胡珊逢 ? 作者:Toradex胡珊逢 ? 2023-12-07 09:31 ? 次閱讀

By Toradex胡珊逢

在先前的文章我們已經介紹在使用eMMC的模塊上配置只讀屬性的文件系統,以及利用squashfs和overlayfs掛載可寫分區。Toradex的產品除了使用eMMC存儲外,還有部分是采用Nand Flash,例如Colibri iMX7和Colibri iMX6ULL。下面將以Colibri iMX7為例介紹如何配置只讀屬性的文件系統。

由于存儲介質不同,Nand Flash上通常采用如jffs2、UBI等格式文件系統。Toradex的Linux系統使用UBI文件系統。

在Colibri iMX7的Nand Flash上會采用以下規劃。Nand Flash總體上劃分為兩個部分。最前面的raw部分不采用任何文件系統,直接存儲模塊硬件信息bcb,u-boot和u-boot環境變量。第二部分則使用UBI,創建5個volume,用于存儲內核文件(kernel)、設備樹文件(dtb)、M4的固件(m4-fw)、Linux文件系統(rootfs)、用戶文件(userdata)。其中rootfs將設置成自讀屬性,而userdata則可以寫入數據。

1657097520324326.png

Toradex Easy Installer可以通過image.json文件方便地修改分區,從而避免使用命令工具。首先從這里下載用于Colibri iMX7S的Linux BSP v5.x安裝文件。解壓后在image.json中添加userdata的相關配置。

-----------------------------------

{

"name": "rootfs",

"content": {

"filesystem_type": "ubifs",

"filename": "Reference-Minimal-Image-colibri-imx7.tar.xz",

"uncompressed_size": 108.1171875

},

"size_kib": 102400

},

{

"name": "userdata",

"content": {

"filesystem_type": "ubifs",

"filename": "app.tar.xz",

"uncompressed_size": 0.1171875

}

}

-----------------------------------

這里name指定ubi volume的名字,filesystem_type用于指定ubifs文件格式,filename里包含了需要燒錄到userdatavolume的文件,這些是用戶應用和配置等,uncompressed_size是指app.tar.xz未壓縮的大小,用于顯示Toradex Easy Installer的安裝進度條。更多關于image.json配置說明請參考這里。

使用Toradex Easy Installer將上面修改的鏡像燒錄到Colibri iMX7S即可。啟動后進入u-boot,使用下面名可以看到所創建的volume。

-----------------------------------

Colibri iMX7 # ubi part ubi

Colibri iMX7 # ubi info layout

Volume information dump:

vol_id 0

......

name kernel

Volume information dump:

vol_id 1

......

skip_check 0

name dtb

Volume information dump:

vol_id 2

......

skip_check 0

name m4firmware

Volume information dump:

vol_id 3

......

skip_check 0

name rootfs

Volume information dump:

vol_id 4

......

skip_check 0

name userdata

-----------------------------------

啟動進入Linux后,userdata并不會被自動掛載,需要將下面內容添加到/etc/fstab文件中?,F在rootfs根目錄還沒有設置成只讀屬性,可以創建/home/root/userdata目錄用于掛載userdata卷。

-----------------------------------

ubi:userdata /home/root/userdata ubifs defaults,noatime,rw 1 1

-----------------------------------

于此同時,還可以進行系統配置。例如添加一個開機啟動應用。該應用write_to_file在運行時會往/home/root/userdata寫入一個文件。在/etc/systemd/system/目錄下創建user-demo.service。

user-demo.service

-----------------------------------

[Unit]

Description=launch user's demo on dedicated partition

ConditionFileIsExecutable=/home/root/userdata/write_to_file

After=multi-user.target

[Service]

WorkingDirectory=/home/root/userdata

Type=simple

ExecStart=/home/root/userdata/write_to_file

[Install]

WantedBy=multi-user.target

-----------------------------------

運行下面命令使user-demo.service開機運行。然后重啟系統。

-----------------------------------

~# systemctl enable user-demo.service

~#reboot

-----------------------------------

此時,使用mount命令查看所掛載的卷,其中有ubi:userdata。

-----------------------------------

~# mount -l

tmpfs on /var/volatile type tmpfs (rw,relatime)

ubi:userdata on /home/root/userdata type ubifs (rw,noatime,assert=read-only,ubi=0,vol=4)

-----------------------------------

在/home/root/userdata目錄下也可以看到write_to_file寫入的文件file.txt。

-----------------------------------

~/userdata# ls

file.txt write_to_file

~/userdata# cat file.txt

This is a writing file test

~/userdata# systemctl status user-demo.service

* user-demo.service - launch user's demo on dedicated partition

Loaded: loaded (/etc/systemd/system/user-demo.service; enabled; vendor preset: disabled)

Active: inactive (dead) since Wed 2022-07-06 06:09:44 UTC; 14min ago

Process: 316 ExecStart=/home/root/userdata/write_to_file (code=exited, status=0/SUCCESS)

Main PID: 316 (code=exited, status=0/SUCCESS)

Jul 06 06:09:44 colibri-imx7-02873356 systemd[1]: Started launch user's demo on dedicated partition.

Jul 06 06:09:44 colibri-imx7-02873356 systemd[1]: user-demo.service: Succeeded.

-----------------------------------

最后需要再次修改/etc/fstab將rootfs根目錄設置為只讀屬性,noatime后面添加ro。

-----------------------------------

/dev/root / auto noatime,ro 1 1

-----------------------------------

重啟系統,進入u-boot命令模式,配置下參數

-----------------------------------

setenv ubiargs "ubi.mtd=ubi root=ubi0:rootfs ro rootfstype=ubifs ubi.fm_autoconvert=1"

saveenv

reset

-----------------------------------

重啟進入Linux系統。根目錄/已經是只讀狀態,無法創建文件。而/home/root/userdata目錄下的應用仍可以正常執行并寫入文件。

-----------------------------------

:~# mount -l

ubi0:rootfs on / type ubifs (ro,noatime,assert=read-only,ubi=0,vol=3)

~# mkdir test

mkdir: can't create directory 'test': Read-only file system

-----------------------------------

總結

通過將Linux的系統文件設置為只讀狀態,可以降低因文件系統損壞導致無法啟動的概率。對于更高要求的應用,甚至可以使用外部存儲作為備份,用于恢復文件。

審核編輯:黃飛

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

    關注

    87

    文章

    11292

    瀏覽量

    209328
  • Nand flash
    +關注

    關注

    6

    文章

    241

    瀏覽量

    39802
  • emmc
    +關注

    關注

    7

    文章

    203

    瀏覽量

    52721
  • UBI
    UBI
    +關注

    關注

    0

    文章

    9

    瀏覽量

    4120
  • rootfs
    +關注

    關注

    0

    文章

    19

    瀏覽量

    4665
收藏 人收藏

    評論

    相關推薦

    基于Buildroot的Linux系統構建之根文件系統

    基本的Linux根文件系統是Unix文件夾目錄層次結構,skeleton是構建根文件系統的基礎。   skeleton配置入口:   System configuration --
    發表于 04-01 10:46 ?2609次閱讀

    linux驅動開發_文件系統本地掛載

    介紹Linux開發根文件系統掛載、NFS文件系統配置,UBOOT環境變量配置,完成文件系統啟動。
    的頭像 發表于 09-17 15:52 ?1471次閱讀
    linux驅動開發_<b class='flag-5'>文件系統</b>本地掛載

    適用于iMX7處理器的的小巧高效完整電源解決方案

    描述適用于 NXP? IMX7 系列應用處理器的高效靈活的小尺寸電源參考設計展示了適用于 iMX7 處理器的完整電源解決方案。這個簡單的解決方案僅使用 5 個直流/直流轉換器和一個序列發生器 IC
    發表于 12-28 11:50

    一文搞懂定制Ubuntu文件系統-基于迅imx6開發板

    啟動。2.編譯Ubuntu文件系統。3.TF卡燒寫。實驗環境開發環境:Ubuntu14開發板:迅imx6q工業級(迅imx6系列開發板均
    發表于 06-28 15:52

    基于iMX7示例了雙路以太網的設計和配置思路

    接口,本文就基于Toradex基于NXP iMX7 Dual SoC的ARM核心板模塊Colibri iMX7D示例擴展兩路以太網。
    發表于 12-28 06:45

    基于iMX7 M4 SPI Slave模式的驅動供參考

    的arm平臺同樣來自于Toradex 基于NXP iMX7 ARM處理器的Colibri iMX7 ARM嵌入式平臺。
    發表于 01-05 07:52

    基于NXP iMX7 arm處理器展示鋰電池的應用方案

    本文將使用基于NXP iMX7 arm處理器的來自Toradex Colibri iMX7的低功耗演示板來展示鋰電池的應用方案。
    發表于 01-13 07:24

    imx8qxp-mek將文件推送到“/vendor/etc”目錄時出現只讀文件系統錯誤是怎么回事?

    “/vendor/lib64/hw”和“/vendor/etc”目錄。由于默認文件系統只讀的,因此我通過以下鏈接重新安裝文件系統。我可以推送 gps.default.so 文件,但在
    發表于 04-11 08:17

    基于Cramfs的根文件系統配置

    文件系統是構建一個Linux 嵌入式系統的重要組成部分,目前嵌入式系統可以選擇的根文件系統有:Romfs、Cramfs、Ramfs、Jffs2、Ext2 等,而目前廣泛使用的Cram
    發表于 05-25 17:07 ?23次下載

    labview設置文件屬性

    labview程序設置文件屬性,如只讀,設置系統文件或者隱藏該
    發表于 12-17 17:01 ?30次下載

    NXP iMX7 ARM處理器上部署FreeRTOS

      FreeRTOS是廣泛使用的開源實時操作系統, 被眾多芯片廠商包括NXP所支持, 本文就展示在NXP iMX7 ARM處理器上面的M4核心上面部署FreeRTOS.
    發表于 09-18 14:36 ?7次下載
    NXP <b class='flag-5'>iMX7</b> ARM處理器上部署FreeRTOS

    適用iMX7系列應用處理器的小巧高效且靈活易用型電源參考設計

    描述適用于 NXP? IMX7 系列應用處理器的高效靈活的小尺寸電源參考設計展示了適用于 iMX7 處理器的完整電源解決方案。這個簡單的解決方案僅使用 5 個直流/直流轉換器和一個序列發生器 IC
    發表于 08-24 10:37 ?355次閱讀

    Linux嵌入式文件系統如何構建

    的,都是采用目錄樹的結構。在嵌入式系統中常見的文件系統有cramfs、romfs、jffs、yaffs等,這里就以制作cramfs文件系統
    發表于 06-18 09:23 ?992次閱讀

    只讀壓縮文件系統EROFS的設計與實現

    EROFS是一個針對移動設備的只讀壓縮文件系統。作者觀察到,當前手機配備的存儲空間不大,而安卓系統系統分區、各種app占用的空間越來越大。導致用戶的實際可支配空間越來越小。如圖所示,
    的頭像 發表于 08-31 15:09 ?2625次閱讀
    <b class='flag-5'>只讀</b>壓縮<b class='flag-5'>文件系統</b>EROFS的設計與實現

    如何使用squashfs只讀文件系統制作Linux系統文件

    Colibri iMX6 的 eMMC 上我們將使用以下分區規劃。BootFS FAT32 格式,該分區上包含 Linux 內核文件,device tree 等啟動
    發表于 01-09 11:43 ?1961次閱讀
    如何使用squashfs<b class='flag-5'>只讀</b><b class='flag-5'>文件系統</b>制作Linux<b class='flag-5'>系統</b><b class='flag-5'>文件</b>
    主站蜘蛛池模板: 亚洲 视频 在线 国产 精品| 法国剧丝袜情版h级在线电影| tube69hdxxxx日本| 曰本熟妇乱妇色A片在线| 色柚视频网站ww色| 暖暖视频免费观看高清完整版 | 色99蜜臀AV无码| 女生下面免费看| 老太婆风流特黄一级| 九九热视频这里只有精| 国产亚洲视频在线播放香蕉| 国产精品成人A蜜柚在线观看 | 亚洲 欧美 国产在线视频| 我的漂亮朋友在线观看全集免费| 青青草原直播| 日韩精品a在线视频| 人妻兽虐曲| 帅哥操美女| 网友自拍区视频精品| 翁熄性放纵交换300章| 亚洲 国产 日韩 欧美 在线| 亚洲AV无码一区二区三区牛牛 | 精品成人在线视频| 久久精品国产福利电影网| 久久re这里视频只精品首页| 精品在线观看一区| 久久综合给合久久狠狠狠…| 美女脱了内裤张开腿让男人桶到爽| 美女脱三角裤| 人妖干美女| 亚洲国产精品免费观看| 伊人久久综合网站| 啊…嗯啊好深男男高h文| 国产精品久久久久婷婷五月色| 激情男女高潮射精AV免费| 久久精品热99看二| 欧美一级做a爰片免费| 性欧美video| 综合精品欧美日韩国产在线| 扒开老师大腿猛进AAA片| 国产在线播放KKK|