一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

rootfs鏡像制作其實(shí)沒(méi)那么難

ZLG致遠(yuǎn)電子 ? 2025-04-03 11:37 ? 次閱讀

嵌入式Linux開(kāi)發(fā)中,文件系統(tǒng)的打包和鏡像制作是關(guān)鍵步驟。本文介紹了Linux核心板文件系統(tǒng)的打包與鏡像制作方法,適合嵌入式開(kāi)發(fā)人員快速上手。


f29ea166-103c-11f0-9434-92fbcf53809c.jpg ?前言

致遠(yuǎn)電子Linux核心板提供的系統(tǒng)固件里,除了鏡像文件之外,通常還會(huì)提供文件系統(tǒng)壓縮包。鏡像文件可以直接用于燒寫(xiě)到目標(biāo)板,而文件系統(tǒng)壓縮包則可以進(jìn)行部分修改,修改后重新制作鏡像文件燒寫(xiě)。

這里只講直接用編譯好的二進(jìn)制文件對(duì)文件系統(tǒng)打包的問(wèn)題。一般來(lái)說(shuō),如果自己能從源碼開(kāi)始編譯文件系統(tǒng),打包文件系統(tǒng)也不會(huì)存在什么問(wèn)題。


f29ea166-103c-11f0-9434-92fbcf53809c.jpg ?rootfs打包

解開(kāi)壓縮包,可以看到通常包含如下目錄。

/bin /boot /dev /etc /home /lib /media /opt /proc /root /sbin /tmp /usr /var

對(duì)根文件系統(tǒng)進(jìn)行修改后,再次打包成鏡像文件,由于沒(méi)有了buildroot這樣的自動(dòng)化文件系統(tǒng)制作工具,這就需要特別注意:

  • 打包文件系統(tǒng)時(shí)的目錄位置、權(quán)限等,要用root權(quán)限打包,普通用戶(hù)打包會(huì)出現(xiàn)錯(cuò)誤,文件系統(tǒng)不完整。
  • 不能將Linux下的tar包解壓在Windows格式的硬盤(pán)并打包。

對(duì)于文件系統(tǒng)打包位置問(wèn)題,舉個(gè)例子:

$cdmyrootfs$ls$/bin /boot /dev /etc /home /lib /media /opt /proc /root /sbin /tmp /usr /var$sudo tar cvf ../myrootfs.tar * #將當(dāng)前文件系統(tǒng)全部文件打包到上一級(jí)目錄


f29ea166-103c-11f0-9434-92fbcf53809c.jpg ?制作UBI文件系統(tǒng)鏡像

使用UBI文件系統(tǒng)時(shí),有ubifs.img和ubi.img兩種不同鏡像。其中ubifs.img用于U-Boot下燒寫(xiě),而ubi.img鏡像則用于進(jìn)入Linux系統(tǒng)后的更新。

1. 制作ubi燒寫(xiě)鏡像

制作ubi鏡像的工具為mkfs.ubifs,有下列參數(shù):

-r:制定文件內(nèi)容的位置;

-m:頁(yè)面大小;

-e:邏輯擦除塊大小;

-p:物理擦除塊大??;

-c:最大的邏輯擦除塊數(shù)量;

-s:最小的硬件輸入輸出頁(yè)面大小,如:k9f1208為256。

特別提示,頁(yè)面大小等參數(shù)要根據(jù)內(nèi)核加載Flash分區(qū)時(shí)ubifs輸出的信息一致,否則不能啟動(dòng)系統(tǒng)。

示例:

$sudo mkfs.ubifs -r rootfs -m 2048 -e 129024 -c 1948 -o ubifs.img

2. 制作ubifs鏡像

制作ubifs鏡像用到的工具為ubinize。例:

$sudo ubinize -o ubi.img -m 2048 -s 512 -p 131072 ubifs.conf

ubifs.conf的內(nèi)容如下:

[ubifs]mode=ubiimage=ubifs.imgvol_id=0vol_size=200MiBvol_type=dynamicvol_name=rootfs #建議與uboot創(chuàng)建的卷標(biāo)一致vol_alignment=1vol_flags=autoresize

進(jìn)入Linux后可通過(guò)ubiformat命令燒寫(xiě)ubi.img,例如:

#ubiformat /dev/mtd4 -s 512 -f ubi.img


f29ea166-103c-11f0-9434-92fbcf53809c.jpg ?制作 Ext4文件系統(tǒng)制作Ext4文件系統(tǒng),一般方法是先準(zhǔn)備好根文件系統(tǒng)內(nèi)容,然后創(chuàng)建一個(gè)鏡像文件,格式化成Ext4格式,然后將鏡像文件掛載到一個(gè)目錄并復(fù)制根文件系統(tǒng)的內(nèi)容到里面,之后卸載,最后進(jìn)行一些處理。

$sudomkdirfs$sudoddif=/dev/zero of=fs.img bs=1M count=4096#創(chuàng)建初始大小的鏡像文件$sudomkfs.ext4 fs.img #格式化鏡像文件為Ext4文件系統(tǒng)$sudomount fs.img fs/ #掛載鏡像文件到fs目錄$sudocp-rfp myrootfs/* fs/ #復(fù)制根文件系統(tǒng)文件$sudoumount fs/ #卸載$sudoe2fsck -p -f fs.img #檢查文件系統(tǒng)分區(qū)是否正常$sudoresize2fs -M fs.img #調(diào)整文件系統(tǒng)鏡像大小

也可以寫(xiě)成腳本將幾步操作合成一步操作,例如MX2000文件系統(tǒng)制作腳本內(nèi)容如下:

#!/bin/bashOUTPUT_FILE=data.ext4TARGET_DIR=./usrdata/ROOTFS_EXT4_REV=1ROOTFS_EXT4_LABEL="data"ROOTFS_EXT4_SIZE=3069ROOTFS_EXT4_SIZE_MB=${ROOTFS_EXT4_SIZE}MROOTFS_EXT4_INODES=0ROOTFS_EXT4_RESBLKS=5ROOTFS_EXT4_MKFS_OPTIONS="-O ^64bit -O ^has_journal"ddif=/dev/zero of=${OUTPUT_FILE}bs=1M count=${ROOTFS_EXT4_SIZE}mke2fs -d${TARGET_DIR}\ -r${ROOTFS_EXT4_REV}\ -N${ROOTFS_EXT4_INODES}\ -m${ROOTFS_EXT4_RESBLKS}\ -L"${EXT4_LABEL}"\ ${EXT4_MKFS_OPTS}\ ${OUTPUT_FILE}


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • zlg
    zlg
    +關(guān)注

    關(guān)注

    1

    文章

    67

    瀏覽量

    38484
  • 核心板
    +關(guān)注

    關(guān)注

    5

    文章

    1083

    瀏覽量

    30513
  • rootfs
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    4758
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux內(nèi)核鏡像bzImage和rootfs制作、安裝及調(diào)試過(guò)程

    一個(gè)最小可運(yùn)行Linux操作系統(tǒng)需要內(nèi)核鏡像bzImage和rootfs,本文整理了其制作、安裝過(guò)程,調(diào)試命令,以及如何添加共享磁盤(pán)。
    發(fā)表于 10-14 17:28 ?7299次閱讀
    Linux內(nèi)核<b class='flag-5'>鏡像</b>bzImage和<b class='flag-5'>rootfs</b>的<b class='flag-5'>制作</b>、安裝及調(diào)試過(guò)程

    自己想做個(gè)顯示器,其實(shí)沒(méi)那么

    =5美元開(kāi)關(guān)(可選) =2美元電位器(可選) =2美元面包板 =1美元SD卡(不能用大容量)=5美元國(guó)外項(xiàng)目,美元到人民幣的換算請(qǐng)自行查閱其實(shí)很多材料都可以回收再利用,如果你是一位經(jīng)常Make的人
    發(fā)表于 12-09 12:44

    為什么芯片那么搞?

    為啥芯片那么搞?終于有人講透了!
    發(fā)表于 05-29 17:45

    樹(shù)莓派系統(tǒng)鏡像制作

    從樹(shù)莓派帶你掌握嵌入式linux產(chǎn)品實(shí)戰(zhàn)開(kāi)發(fā)–樹(shù)莓派系統(tǒng)鏡像制作(七)作者:伍俊偉 本文非作者授權(quán),禁止轉(zhuǎn)載2020年8月22日文章目錄從樹(shù)莓派帶你掌握嵌入式linux產(chǎn)品實(shí)戰(zhàn)開(kāi)發(fā)--樹(shù)莓派系統(tǒng)鏡像
    發(fā)表于 11-05 09:21

    請(qǐng)問(wèn)IMX8MP使用UUU燒錄rootfs.sdcard鏡像后,根目錄的空間還能再調(diào)整嗎?

    之后,emmc的/dev/root分區(qū)也就是1G。那么emmc剩余的十幾G的空間都是沒(méi)有分區(qū)的,有沒(méi)有辦法可以讓根文件系統(tǒng)的容量擴(kuò)展到整個(gè)emmc的空間?如果直接制作十幾G的rootfs.sdcard燒錄到emmc,就燒錄得太慢
    發(fā)表于 12-30 06:49

    如何縮小制作完成的系統(tǒng)鏡像大???

    到系統(tǒng)中工作:現(xiàn)在的問(wèn)題是,制作完成的鏡像太大了,跟實(shí)際分區(qū)大小是一致的,達(dá)到了5.5GB,但是從df -h信息可以看到,鏡像加載后實(shí)際占用空間并不大,只有1GB不到。鏡像太大,一方面
    發(fā)表于 01-04 07:39

    如何在PC主機(jī)上制作Ubuntu Rootfs鏡像

    之前教程已經(jīng)講完如何替換kernel及boot 鏡像制作,今天講如何制作Ubuntu Rootfs鏡像。本文主要講解
    發(fā)表于 06-02 16:01

    用RK3588開(kāi)發(fā)板燒寫(xiě)rootfs結(jié)果分區(qū)大小和鏡像一樣怎么解決

      燒寫(xiě)官方的就是把剩余空間都給rootfs分區(qū),燒寫(xiě)剪裁的就是鏡像大小=rootfs分區(qū)大小,求助,用3588的開(kāi)發(fā)板,燒寫(xiě)rootfs結(jié)果分區(qū)大小和
    發(fā)表于 07-20 16:19

    如何制作光盤(pán)鏡像文件

    如何制作光盤(pán)鏡像文件 NERO軟件不管是刻錄還是做鏡像文件,都是很好用的。下面介紹一下如何制作:有的時(shí)候我們不喜歡Nero
    發(fā)表于 09-11 16:03 ?3.1w次閱讀
    如何<b class='flag-5'>制作</b>光盤(pán)<b class='flag-5'>鏡像</b>文件

    人臉識(shí)別沒(méi)那么,1行命令就能實(shí)現(xiàn)

    現(xiàn)在人臉識(shí)別那么火,各大手機(jī)廠商也是爭(zhēng)先在自己的手機(jī)上加入這種技術(shù)。那么,人臉識(shí)別技術(shù)真的很難嗎,其實(shí)不是的。下面告訴你如何用1行命令實(shí)現(xiàn)人臉識(shí)別技術(shù)。
    發(fā)表于 10-27 16:13 ?2764次閱讀
    人臉識(shí)別<b class='flag-5'>沒(méi)</b><b class='flag-5'>那么</b><b class='flag-5'>難</b>,1行命令就能實(shí)現(xiàn)

    linux系統(tǒng)鏡像制作

    Rescue開(kāi)源工具來(lái)實(shí)現(xiàn)linux系統(tǒng)的打包備份,如果你經(jīng)常需要安裝很多軟件在服務(wù)器上,并且服務(wù)器較多,那么是否需要直接將你已安裝好的系統(tǒng)打包成鏡像文件,然后制作成你自己的系統(tǒng),之后只需要直接安裝就可以了。
    發(fā)表于 11-03 14:34 ?4868次閱讀
    linux系統(tǒng)<b class='flag-5'>鏡像</b><b class='flag-5'>制作</b>

    小衛(wèi)星制造沒(méi)有那么,其實(shí)和IT攢機(jī)差不多

    小衛(wèi)星這種東西,一旦上了量搞起產(chǎn)業(yè)化,全球競(jìng)爭(zhēng)起來(lái)搞不好就白菜化了。本來(lái)也沒(méi)那么神秘,說(shuō)穿了和IT攢機(jī)或者嵌入式系統(tǒng)研發(fā)差不多。以后全球小衛(wèi)星組網(wǎng),也說(shuō)不定是中國(guó)干成的。
    的頭像 發(fā)表于 02-07 14:48 ?6741次閱讀
    小衛(wèi)星制造沒(méi)有<b class='flag-5'>那么</b><b class='flag-5'>難</b>,<b class='flag-5'>其實(shí)</b>和IT攢機(jī)差不多

    芯片本質(zhì)是什么 芯片制作為什么那么

      為什么制作一塊芯片那么?   制作一塊芯片的難度如同創(chuàng)造一座城市,甚至比創(chuàng)造城市更難!   從華為中興等一系列中國(guó)企業(yè)被芯片制裁,到中國(guó)勒緊褲腰帶造芯片,再到2022
    的頭像 發(fā)表于 04-19 14:45 ?2.4w次閱讀
    芯片本質(zhì)是什么  芯片<b class='flag-5'>制作</b>為什么<b class='flag-5'>那么</b><b class='flag-5'>難</b>

    linux鏡像制作工具

    Linux鏡像制作工具是一類(lèi)非常重要的工具,可以用于創(chuàng)建定制的Linux操作系統(tǒng)鏡像。這些工具可以幫助開(kāi)發(fā)人員、系統(tǒng)管理員和Linux愛(ài)好者創(chuàng)建個(gè)性化的Linux發(fā)行版、定制化的嵌入式操作系統(tǒng)以及
    的頭像 發(fā)表于 11-23 09:56 ?2642次閱讀

    Docker-鏡像的分層-busybox鏡像制作

    docker hub里面查看busybox的Dockerfile, 知識(shí)點(diǎn)4:bootfs 和 rootfs? 知識(shí)點(diǎn)5:為什么Docker鏡像要采用這種分層結(jié)構(gòu)? 如果多個(gè)容器共享一份基礎(chǔ)鏡像,當(dāng)某個(gè)
    的頭像 發(fā)表于 01-15 10:44 ?437次閱讀
    Docker-<b class='flag-5'>鏡像</b>的分層-busybox<b class='flag-5'>鏡像</b><b class='flag-5'>制作</b>