91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级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)不再提示

RK?平臺(tái)鏡像構(gòu)建:?Extra Part?腳本的關(guān)鍵作用

jf_44130326 ? 來(lái)源:Linux1024 ? 作者:Linux1024 ? 2026-04-02 08:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

瑞芯微(RK)平臺(tái)嵌入式系統(tǒng)開(kāi)發(fā)中,很多開(kāi)發(fā)者都遇到過(guò)這樣的詭異問(wèn)題:鏡像燒錄后串口瘋狂報(bào)錯(cuò)、系統(tǒng)無(wú)法登錄,排查半天卻找不到核心原因——大概率是忽略了post-extra-parts.sh這個(gè)關(guān)鍵腳本!今天我們就深扒這個(gè)腳本的底層邏輯、核心作用,以及如何基于它定制化需求,搞懂它為何是RK鏡像完整性的“守護(hù)神”。

一、先讀懂:post-extra-parts.sh核心代碼拆解

先看腳本完整代碼(核心片段),我們逐行拆解它的執(zhí)行邏輯:

wKgZO2nNtQaAX9bvAADktG7-Vj4658.png

核心執(zhí)行流程總結(jié)

1.環(huán)境初始化:聲明僅在根文件系統(tǒng)構(gòu)建階段執(zhí)行,引入RK官方輔助函數(shù)庫(kù)(提供分區(qū)配置讀取、日志輸出等能力);

2.分區(qū)遍歷:根據(jù)配置的“額外分區(qū)數(shù)量”,逐個(gè)處理每個(gè)分區(qū);

3.清理與目錄創(chuàng)建:刪除歷史構(gòu)建殘留,創(chuàng)建最終掛載點(diǎn)和臨時(shí)目錄,并通過(guò)軟鏈接關(guān)聯(lián),保證路徑一致性;

4.內(nèi)置分區(qū)合并:對(duì)標(biāo)記為“builtin”的分區(qū),執(zhí)行預(yù)準(zhǔn)備操作后,通過(guò)rsync將臨時(shí)構(gòu)建目錄的內(nèi)容同步到最終根文件系統(tǒng)的掛載點(diǎn)。

二、致命后果:少了它,系統(tǒng)直接“癱掉”

很多開(kāi)發(fā)者會(huì)誤以為這只是“可選的分區(qū)拷貝腳本”,但實(shí)際測(cè)試中,缺失該腳本會(huì)導(dǎo)致三大核心問(wèn)題,直接讓系統(tǒng)無(wú)法使用:

1.分區(qū)掛載點(diǎn)缺失,系統(tǒng)啟動(dòng)串口報(bào)錯(cuò)

RK系統(tǒng)啟動(dòng)時(shí)會(huì)讀取分區(qū)表配置,嘗試掛載/data、/vendor、/mnt等額外分區(qū),但如果post-extra-parts.sh沒(méi)有執(zhí)行:

?根文件系統(tǒng)中缺少對(duì)應(yīng)的掛載點(diǎn)目錄(如/data);

?內(nèi)核掛載分區(qū)時(shí)會(huì)輸出mount: can't find /data in /etc/fstab等報(bào)錯(cuò),串口日志刷屏,掛載流程失敗。

2.內(nèi)置分區(qū)數(shù)據(jù)丟失,系統(tǒng)核心功能異常

標(biāo)記為“builtin”的分區(qū)(如/vendor)包含硬件驅(qū)動(dòng)配置、廠商定制庫(kù)、系統(tǒng)服務(wù)依賴(lài)文件:

?缺少rsync的同步邏輯,這些核心文件無(wú)法進(jìn)入根文件系統(tǒng);

?系統(tǒng)啟動(dòng)后驅(qū)動(dòng)加載失敗、服務(wù)啟動(dòng)異常,最終卡在登錄界面,甚至直接進(jìn)入emergency緊急模式。

3.目錄權(quán)限/結(jié)構(gòu)錯(cuò)亂,無(wú)法登錄系統(tǒng)

rsync -a參數(shù)會(huì)保留文件的權(quán)限、屬主、目錄結(jié)構(gòu),而手動(dòng)創(chuàng)建目錄無(wú)法保證一致性:

?缺失該腳本后,即使手動(dòng)創(chuàng)建掛載點(diǎn),也可能因權(quán)限錯(cuò)誤(如/data目錄權(quán)限不是777)導(dǎo)致應(yīng)用無(wú)法寫(xiě)入;

?系統(tǒng)登錄時(shí)依賴(lài)的用戶(hù)目錄、認(rèn)證文件缺失/權(quán)限錯(cuò)誤,最終表現(xiàn)為“密碼正確但無(wú)法登錄”“串口提示authentication failure”。

[  7.206308] rk-pcie fe160000.pcie:PCIeLinkFail,LTSSMis0x0, hw_retries=0[  7.206315] rk-pcie fe160000.pcie: failed to initialize host[  7.336985] dwc3 fc000000.usb: device reset[  7.338242] systemd-journald[386]:Timejumped backwards, rotating.[  7.424531] android_work: sent ueventUSB_STATE=CONNECTED[  7.521801] android_work: sent ueventUSB_STATE=CONFIGURED[ OK ]Stoppedtarget emergency.target-EmergencyMode.    Mountinguserdata.mount-/userdata...    Startingasync-commit.serv…TforRockchipBSPkernel>4.4...    Startingmodprobe@dm_mod.s…[0m-LoadKernelModuledm_mod...    Startingmodprobe@efi_psto…-LoadKernelModuleefi_pstore...[  7.716326]EXT4-fs (nvme0n1p5):VFS:Can't find ext4 filesystem    Startingmodprobe@loop.ser…e-LoadKernelModuleloop...[ OK ]Stoppedemergency.service-EmergencyShell.[FAILED]Failedto mount userdata.mount-/userdata.See'systemctl status userdata.mount'fordetails.[DEPEND]Dependencyfailedforloca…s.target-LocalFileSystems.[ OK ]Finishedmodprobe@dm_mod.s…e-LoadKernelModuledm_mod.[ OK ]Finishedmodprobe@efi_psto…m-LoadKernelModuleefi_pstore.[ OK ]Finishedmodprobe@loop.service-LoadKernelModuleloop.[ OK ]Finishedasync-commit.serv…MITforRockchipBSPkernel>4.4.[ OK ]Startedemergency.service-EmergencyShell.[ OK ]Reachedtarget emergency.target-EmergencyMode.[ OK ]Finishedconsole-setup.ser…[0m-Setconsole font and keymap.Youareinemergency mode.Afterloggingin, type"journalctl -xb"to viewsystem logs,"systemctl reboot"to reboot,"systemctl default"or"exit"to boot intodefaultmode.
Cannotopenaccess to console, the root accountislocked.Seesulogin(8) man pageformore details.
PressEntertocontinue.

三、定制化擴(kuò)展:基于腳本實(shí)現(xiàn)自定義需求

理解腳本邏輯后,我們可以基于它擴(kuò)展自定義分區(qū)需求,以下是3個(gè)高頻場(chǎng)景的修改示例:

場(chǎng)景1:新增自定義分區(qū)(如/mydata)

1.先在RK分區(qū)配置中添加mydata分區(qū),標(biāo)記為builtin;

2.在腳本中增加自定義預(yù)準(zhǔn)備邏輯(示例):

ifrk_extra_part_builtin$idx;thenrk_extra_part_prepare$idx
# 新增:針對(duì)/mydata分區(qū)添加自定義初始化if["$MOUNTPOINT"="/mydata"];then# 創(chuàng)建自定義子目錄mkdir-p"$OUTDIR/myapp"# 設(shè)置專(zhuān)屬權(quán)限(如僅root可寫(xiě))chmod700"$OUTDIR/myapp"# 拷貝自定義配置文件cp-f"$BUILD_DIR/config/myapp.conf""$OUTDIR/myapp/"firsync -a"$OUTDIR/""$TARGET_DIR/$MOUNTPOINT/"fi

場(chǎng)景2:過(guò)濾不需要同步的文件(如臨時(shí)日志)

如果某分區(qū)臨時(shí)目錄中有不需要同步到鏡像的文件(如編譯日志),可在rsync前添加過(guò)濾:

# 新增:排除.log和.tmp臨時(shí)文件rsync-a --exclude="*.log"--exclude="*.tmp""$OUTDIR/""$TARGET_DIR/$MOUNTPOINT/"

場(chǎng)景3:非內(nèi)置分區(qū)的自定義處理(如外置SD卡分區(qū))

腳本默認(rèn)只處理builtin分區(qū),可擴(kuò)展else邏輯處理外置分區(qū):

ifrk_extra_part_builtin$idx;then# 原有內(nèi)置分區(qū)邏輯...else# 新增:外置分區(qū)(如SD卡)創(chuàng)建默認(rèn)掛載腳本message"Preparing external partition$MOUNTPOINT"# 在根文件系統(tǒng)中添加自動(dòng)掛載腳本cat>"$TARGET_DIR/etc/init.d/mount_$MOUNTPOINT"<

四、避坑小貼士

1.保留核心邏輯:修改時(shí)不要?jiǎng)h除rm -rf清理、mkdir -p創(chuàng)建目錄、rsync同步這三個(gè)核心步驟,否則會(huì)導(dǎo)致臟數(shù)據(jù)或分區(qū)缺失;

2.測(cè)試分區(qū)配置:修改后先通過(guò)rk_extra_part_num驗(yàn)證分區(qū)數(shù)量,確保遍歷邏輯覆蓋所有自定義分區(qū);

3.串口日志調(diào)試:如果修改后系統(tǒng)異常,優(yōu)先查看串口日志中Merging xxx是否輸出,確認(rèn)rsync是否執(zhí)行成功。

總結(jié)

post-extra-parts.sh看似是RK鏡像構(gòu)建中的“小腳本”,實(shí)則是額外分區(qū)與根文件系統(tǒng)的“橋梁”——它不僅保證了分區(qū)掛載點(diǎn)的存在,還完成了內(nèi)置分區(qū)核心數(shù)據(jù)的同步,是系統(tǒng)啟動(dòng)和登錄的“基礎(chǔ)保障”。

在實(shí)際開(kāi)發(fā)中,既要理解它的核心邏輯避免“刪錯(cuò)導(dǎo)致系統(tǒng)癱瘓”,也要掌握其擴(kuò)展方式,通過(guò)自定義分區(qū)處理、文件過(guò)濾、權(quán)限配置等,適配項(xiàng)目的個(gè)性化需求。記住:嵌入式系統(tǒng)的“小腳本”往往藏著大乾坤,忽略它就是給系統(tǒng)埋坑!

審核編輯 黃宇

聲明:本文內(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)投訴
  • 嵌入式系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    3772

    瀏覽量

    133805
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    411

    瀏覽量

    29255
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    電源濾波器的關(guān)鍵作用與價(jià)值

    電源濾波器的關(guān)鍵作用與價(jià)值
    的頭像 發(fā)表于 03-31 10:44 ?316次閱讀
    電源濾波器的<b class='flag-5'>關(guān)鍵作用</b>與價(jià)值

    打通“神經(jīng)”與“肌肉”:疆鴻智能EtherCAT轉(zhuǎn)DeviceNet在精密制造中的關(guān)鍵作用

    ?打通“神經(jīng)”與“肌肉”:疆鴻智能EtherCAT轉(zhuǎn)DeviceNet在精密制造中的關(guān)鍵作用 在精密零件自動(dòng)化加工單元,我們面臨一個(gè)典型的技術(shù)挑戰(zhàn):倍福PLC作為“大腦”采用高速EtherCAT協(xié)議
    的頭像 發(fā)表于 02-26 14:10 ?263次閱讀
    打通“神經(jīng)”與“肌肉”:疆鴻智能EtherCAT轉(zhuǎn)DeviceNet在精密制造中的<b class='flag-5'>關(guān)鍵作用</b>

    使用Dockerfile構(gòu)建鏡像的詳細(xì)步驟

    Dockerfile寫(xiě)得好不好,直接影響三件事:鏡像大小、構(gòu)建速度、運(yùn)行安全性。我見(jiàn)過(guò)太多團(tuán)隊(duì)的Dockerfile是"能跑就行"的水平——基礎(chǔ)鏡像用ubuntu:latest
    的頭像 發(fā)表于 02-26 09:43 ?308次閱讀

    深入解析U-Boot image.c:RK平臺(tái)鏡像處理核心邏輯

    的SD/NAND/SPI等啟動(dòng)方式做了專(zhuān)屬適配。本文將拆解image.c的核心邏輯,梳理RK平臺(tái)鏡像處理的關(guān)鍵流程,幫助開(kāi)發(fā)者理解和調(diào)試啟動(dòng)相關(guān)問(wèn)題。 一、文件定位與核心作用 imag
    的頭像 發(fā)表于 02-24 16:46 ?1659次閱讀
    深入解析U-Boot image.c:<b class='flag-5'>RK</b><b class='flag-5'>平臺(tái)鏡像</b>處理核心邏輯

    YOLO5目標(biāo)檢測(cè)方案-基于米爾RK3576開(kāi)發(fā)板

    與調(diào)優(yōu)提供了一套完整的思路與實(shí)踐方案。 PART 01 系統(tǒng)架構(gòu)與性能目標(biāo) 1.1 硬件平臺(tái) 主控芯片:Rockchip RK3576(四核A72+四核A53,6TOPS NPU,RGA,GPU
    發(fā)表于 01-22 19:21

    疆鴻智能PROFIBUS轉(zhuǎn)ETHERCAT網(wǎng)關(guān)在汽車(chē)玻璃制造中的關(guān)鍵作用

    疆鴻智能PROFIBUS轉(zhuǎn)ETHERCAT網(wǎng)關(guān)在汽車(chē)玻璃制造中的關(guān)鍵作用 在工業(yè)自動(dòng)化領(lǐng)域,網(wǎng)關(guān)是實(shí)現(xiàn)設(shè)備互聯(lián)與數(shù)據(jù)互通的核心組件。尤其在當(dāng)前工業(yè)4.0與智能制造背景下,不同品牌與協(xié)議的設(shè)備共存成為
    的頭像 發(fā)表于 01-15 14:45 ?210次閱讀
    疆鴻智能PROFIBUS轉(zhuǎn)ETHERCAT網(wǎng)關(guān)在汽車(chē)玻璃制造中的<b class='flag-5'>關(guān)鍵作用</b>

    工業(yè)網(wǎng)關(guān)在汽車(chē)制造中的關(guān)鍵作用:以疆鴻智能ETHERCAT轉(zhuǎn)PROFIBUS為例

    ?工業(yè)網(wǎng)關(guān)在汽車(chē)制造中的關(guān)鍵作用:以疆鴻智能ETHERCAT轉(zhuǎn)PROFIBUS為例 在汽車(chē)制造邁向工業(yè)4.0的進(jìn)程中,生產(chǎn)線上不同年代、不同協(xié)議的設(shè)備共存是常態(tài)。如何實(shí)現(xiàn)新舊系統(tǒng)的高效協(xié)同,成為提升
    的頭像 發(fā)表于 01-15 14:37 ?311次閱讀
    工業(yè)網(wǎng)關(guān)在汽車(chē)制造中的<b class='flag-5'>關(guān)鍵作用</b>:以疆鴻智能ETHERCAT轉(zhuǎn)PROFIBUS為例

    解析液晶模塊的技術(shù)架構(gòu)和關(guān)鍵作用

    在現(xiàn)代電子設(shè)備中,液晶屏(lcd screen)作為信息呈現(xiàn)的載體,其性能表現(xiàn)直接影響用戶(hù)體驗(yàn)。然而,真正決定顯示效果和可靠性的核心技術(shù)是LCM(LCD Module),即液晶模塊。本文將深入探討LCM的技術(shù)架構(gòu)及其在顯示領(lǐng)域的關(guān)鍵作用。
    的頭像 發(fā)表于 12-05 17:08 ?1576次閱讀
    解析液晶模塊的技術(shù)架構(gòu)和<b class='flag-5'>關(guān)鍵作用</b>

    晶體晶振在機(jī)器人五大核心模塊的關(guān)鍵作用

    你以為機(jī)器人那些流暢的動(dòng)作和適宜的反應(yīng),只靠一顆強(qiáng)大的CPU就夠了嗎?NO,NO,NO! 再聰明的大腦也需要晶體晶振來(lái)統(tǒng)籌全局!晶體晶振就像機(jī)器人的「心跳」和「指揮棒」,決定了它每一個(gè)動(dòng)作、每一條指令的精準(zhǔn)觸達(dá)。今天,我們就來(lái)解析這顆「芯」在機(jī)器人五大核心模塊的關(guān)鍵作用!
    的頭像 發(fā)表于 09-03 09:36 ?1001次閱讀
    晶體晶振在機(jī)器人五大核心模塊的<b class='flag-5'>關(guān)鍵作用</b>

    【米爾RK3576開(kāi)發(fā)板免費(fèi)體驗(yàn)】1、開(kāi)發(fā)環(huán)境、鏡像燒錄、QT開(kāi)發(fā)環(huán)境搭建以及應(yīng)用部署

    會(huì)編譯uboot、kernel,構(gòu)建文件系統(tǒng),并生成相應(yīng)的系統(tǒng)鏡像。同時(shí)在buildroot\\\\output\\\\rockchip_rk3576\\\\host目錄中包含用于系統(tǒng)應(yīng)用開(kāi)發(fā)的工具鏈。 在
    發(fā)表于 07-14 11:26

    揭秘高效接地電阻柜的關(guān)鍵作用

    發(fā)生單相接地故障時(shí),接地電阻柜強(qiáng)制故障電流流經(jīng)其內(nèi)部的高阻值電阻。 ? ?關(guān)鍵作用:將原本可能高達(dá)數(shù)千安培的故障電流**顯著限制**在安全范圍內(nèi)(通常在5A-25A,最高可達(dá)數(shù)百安但遠(yuǎn)低于無(wú)電阻時(shí))。 ? ?直接效益:極大減輕故障電流對(duì)發(fā)電
    的頭像 發(fā)表于 07-08 16:55 ?882次閱讀

    辰達(dá)MOSFET在DC-DC變換器中的關(guān)鍵作用與優(yōu)化策略

    一、MOSFET在DC-DC變換器中的關(guān)鍵作用開(kāi)關(guān)功能DC-DC變換器的核心工作原理是通過(guò)高頻開(kāi)關(guān)操作將輸入直流電壓轉(zhuǎn)換為所需的輸出直流電壓。MOSFET作為開(kāi)關(guān)元件,在此過(guò)程中起著至關(guān)重要的作用
    的頭像 發(fā)表于 07-02 10:04 ?789次閱讀
    辰達(dá)MOSFET在DC-DC變換器中的<b class='flag-5'>關(guān)鍵作用</b>與優(yōu)化策略

    “三斷”極端場(chǎng)景下:云翎智能衛(wèi)星物聯(lián)網(wǎng)在洪澇救援中的關(guān)鍵作用

    在洪澇災(zāi)害引發(fā)的“三斷”(斷網(wǎng)、斷電、斷路)極端場(chǎng)景下,云翎智能衛(wèi)星物聯(lián)網(wǎng)終端憑借其技術(shù)革新與場(chǎng)景化應(yīng)用能力,成為構(gòu)建通信生命線的核心裝備。以下從技術(shù)架構(gòu)、場(chǎng)景適配、實(shí)戰(zhàn)效能三個(gè)維度解析其關(guān)鍵作用
    的頭像 發(fā)表于 06-30 22:29 ?761次閱讀
    “三斷”極端場(chǎng)景下:云翎智能衛(wèi)星物聯(lián)網(wǎng)在洪澇救援中的<b class='flag-5'>關(guān)鍵作用</b>

    工業(yè)相機(jī)在焊縫跟蹤中的關(guān)鍵作用有哪些

    與形態(tài),幫助系統(tǒng)動(dòng)態(tài)調(diào)整焊槍軌跡,實(shí)現(xiàn)高精度、高效率的自動(dòng)化焊接,今天一起了解工業(yè)相機(jī)在焊縫跟蹤中的關(guān)鍵作用有哪些。 焊接挑戰(zhàn)與視覺(jué)需求 在傳統(tǒng)焊接中,工件定位誤差、夾具公差和熱變形等因素易導(dǎo)致焊縫偏移,而
    的頭像 發(fā)表于 05-13 17:56 ?796次閱讀
    工業(yè)相機(jī)在焊縫跟蹤中的<b class='flag-5'>關(guān)鍵作用</b>有哪些

    Linux文件系統(tǒng)打包及鏡像制作,觸覺(jué)智能RK3562開(kāi)發(fā)板演示

    本文介紹Linux開(kāi)發(fā)板文件系統(tǒng)打包及鏡像制作的方法,演示Linux文件系統(tǒng)打包及鏡像制作,適用于想將配置好的系統(tǒng)環(huán)境打包成鏡像批量燒錄。觸覺(jué)智能RK3562開(kāi)發(fā)板演示,搭載4核A53
    的頭像 發(fā)表于 04-28 16:45 ?1104次閱讀
    Linux文件系統(tǒng)打包及<b class='flag-5'>鏡像</b>制作,觸覺(jué)智能<b class='flag-5'>RK</b>3562開(kāi)發(fā)板演示