伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

RK平臺上不會移植第三方系統?讀懂這個腳本,輕松掌握嵌入式系統構建

jf_44130326 ? 來源:Linux1024 ? 2026-02-04 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式開發領域,我們常遇到這樣的場景:花了三天編譯的系統鏡像,啟動后卻發現攝像頭無法工作;明明配置了SSH服務,卻始終連不上設備;甚至有時候,一句"構建失敗"的報錯能讓整個團隊卡殼半天。

如果你也曾被這些問題困擾,那今天這篇文章值得深讀。我們將通過分析一個真實的嵌入式系統構建腳本,帶你看清系統從01的誕生過程,更重要的是——學會在調試時抓住問題的"七寸"。

一、這到底是個什么腳本?

先看腳本的核心定位:這是一個基于Debian嵌入式系統構建腳本,負責將基礎鏡像、驅動模塊、應用組件"縫合"成可直接燒錄的系統鏡像。簡單說,它是系統的"接生婆",從基礎鏡像到最終可用的系統,全流程都由它掌控。

wKgZO2kamRqAVDVrAAFWLHaxB-Q124.png

我們可以把它的工作拆解5個關鍵階段:

1.環境初始化:定好"施工圖紙"

TARGET_ROOTFS_DIR="binary"# 目標根文件系統目錄case"${ARCH:-$1}"in   # 處理架構參數,支持armhf和arm64  arm|arm32|armhf)    ARCH=armhf    ;;  *)    ARCH=arm64    ;;esacVERSION=${VERSION:-"release"}# 默認為release版本,支持debug模式

這部分就像施工前的"圖紙設計":明確構建目標(根目錄位置)、硬件適配(架構選擇)、功能模式(release/debug)。調試時第一個要檢查的就是這里——如果架構選錯,后續所有驅動和軟件都會"水土不服"。

2.基礎鏡像處理:打好"地基"

# 檢查基礎鏡像是否存在if[ ! -e linaro-bullseye-alip-*.tar.gz];then  echo"?33[36m Run mk-base-debian.sh first ?33[0m"  exit -1fi# 解壓基礎鏡像sudo tar -xpf linaro-bullseye-alip-*.tar.gz

基礎鏡像是系統的"地基",如果這一步出錯(比如鏡像缺失、解壓失?。罄m所有操作都是空談。調試時若遇到"文件不存在"的報錯,先檢查基礎鏡像是否正確生成(腳本提示要先運行mk-base-debian.sh)。

3.組件集成:搭建"主體結構"

這部分是腳本的核心,像搭積木一樣往基礎系統里填充內容:

# 復制架構相關的軟件包sudocp-rpf packages/$ARCH/*$TARGET_ROOTFS_DIR/packages# 復制系統配置文件(overlay層)sudocp-rpf overlay/*$TARGET_ROOTFS_DIR/# 復制網卡驅動模塊sudocp../kernel/drivers/net/ethernet/realtek/r8125.ko$TARGET_ROOTFS_DIR/usr/lib/modules/
wKgZO2kamRqAAUPZAABGizoDswk857.png

這里藏著很多調試關鍵點:

?如果某個硬件(比如網卡)無法工作,先檢查驅動文件(r8125.ko)是否正確復制

?如果系統配置異常(比如啟動腳本丟失),大概率是overlay目錄的文件沒復制完整

?不同架構(armhf/arm64)的軟件包存在差異,若混用會導致"無法安裝"的報錯

4.系統配置:"精裝修"階段

通過chroot進入目標根文件系統后,腳本開始執行一系列"精裝修"操作:

# 設置DNS,解決聯網問題echo"nameserver 8.8.8.8">> /etc/resolv.conf# 安裝核心工具(SSH、性能測試工具等)apt-get install -y openssh-server iperf3 stress-ng# 配置串口登錄sed -i"s~(^ExecStart=.*)~# 1nExecStart=-/bin/sh -c '/bin/bash -l /dev/%I 2>&1'~"/usr/lib/systemd/system/serial-getty@.service# 安裝硬件相關組件(視頻、相機、顯示服務等)${APT_INSTALL}gstreamer1.0-plugins-bad # 視頻處理${APT_INSTALL}cheese v4l-utils     # 相機支持${APT_INSTALL}/packages/xserver/*.deb # 顯示服務

這部分是調試的重災區,常見問題包括:

?網絡不通:檢查resolv.conf是否正確配置,軟件源是否可用

?SSH連不上:查看openssh-server是否安裝,服務是否啟用

?硬件功能失效(如相機打不開):檢查對應的包(cheesev4l-utils)是否安裝成功

?啟動后黑屏:可能是xserverweston顯示服務配置有誤

5.清理與打包:"竣工交房"

# 清理緩存和臨時文件rm-rf /var/lib/apt/lists/*rm-rf /var/cache/# 打包成最終鏡像sudo tar zcf RN01-debian-base-$(date+%Y-%m-%d).tar.gz$TARGET_ROOTFS_DIR

清理步驟能減小鏡像體積,如果不清除,鏡像會比較大,但如果清理過度(比如誤刪必要文件),會導致系統啟動失敗。如果鏡像能生成但無法啟動,要檢查這里是否誤刪了關鍵組件

二、調試時盯著這個腳本,到底能解決什么問題?

很多開發者調試時習慣"頭痛醫頭":攝像頭不行就只查攝像頭驅動,網絡不通就只看網卡配置。但實際上,嵌入式系統的問題往往是"牽一發而動全身",而這個構建腳本就是串聯所有環節的"主線"

關注它的3個核心價值:

1.快速定位"失敗環節"

腳本的每一步都有明確輸出(比如echo -e "?33[36m Install camera... ?33[0m"),構建失敗時,最后出現的提示信息就是"案發現場"

比如看到"Install camera..."后報錯,說明相機相關的包安裝失敗,此時應檢查:

?packages目錄下的相機相關deb包是否存在

?包的架構是否與目標系統匹配(armhf/arm64不能混)

?依賴是否滿足(可以在chroot環境手動執行apt安裝命令排查)

2.理解系統"依賴關系"

嵌入式系統的組件依賴極其復雜:比如相機工作不僅需要相機驅動,還依賴視頻框架(gstreamer)、顯示服務(xserver)、硬件加速庫(mpp)。

這個腳本清晰展示了依賴鏈條:先安裝基礎系統再裝視頻框架然后裝相機應用最后配置顯示服務。當某個功能失效時,順著腳本的安裝順序倒推,能快速找到缺失的依賴。

wKgZO2kamRqAFuJ3AABOJQnOk1A900.png

3.排查"環境配置"問題

很多時候,相同的代碼在A電腦能構建成功,在B電腦卻失敗,問題往往出在環境差異。這個腳本將所有構建步驟"代碼化",讓環境配置變得可追溯:

?是不是忘了復制某個overlay配置文件?

?內核驅動的路徑是否正確(腳本中是../kernel/drivers/...)?

?debug版本需要的額外包(如glmark2)是否在VERSION=debug時才安裝?

三、給開發者的3個調試技巧

1.善用echo輸出中間變量

在關鍵步驟前增加輸出,比如在復制驅動前加echo "Copying r8125.ko from $(pwd)/../kernel/...",確認路徑是否正確。

2.保留chroot環境

腳本最后會退出chroot環境,調試時可以注釋掉清理和打包步驟,手動進入chroot $TARGET_ROOTFS_DIR,逐條執行命令排查問題。

3.對比成功與失敗的構建日志

保存一次成功構建的完整日志,當后續構建失敗時,用diff命令對比日志,快速定位差異點。

寫在最后

嵌入式系統構建就像搭積木,而這個腳本就是積木的"組裝說明書"。讀懂它,你不僅能快速解決眼前的調試問題,更能理解整個系統的"骨骼架構"——這才是從"解決問題""看透本質"的關鍵一躍。

下次遇到系統構建問題時,不妨先打開這個腳本,順著它的步驟一步步排查。很多時候,答案就藏在那些看似平凡的cpapt-getsed命令里。

(如果覺得有用,歡迎轉發給你的開發伙伴~)

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

    關注

    41

    文章

    3766

    瀏覽量

    133767
  • 移植
    +關注

    關注

    1

    文章

    416

    瀏覽量

    29482
  • 腳本
    +關注

    關注

    1

    文章

    410

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何在LabVIEW中嵌入第三方軟件界面

    如何把第三方軟件的界面嵌入到labview中,并且能夠在LabVIEW的前面板中對第三方軟件進行操作。LabVIEW中有Active用于IE回調的例子,可以在LabVIEW前面板中操作IE。想把IE換成
    發表于 04-27 23:06

    嵌入式AI語音平臺已對第三方開放 你更支持誰家的“助手”?

    亞馬遜Alexa。星更是在今年底推出自家Bixby智能語音應用。同時,科技巨頭們也紛紛針對智能語音推出第三方開發者,意圖在更多領域設備產品上獲得嵌入式語音集成。蘋果(Siri)從12年6月開始
    發表于 12-28 17:24

    國內知名第三方檢測認證機構排名

    的商品檢驗活動。第三方檢測機構企業的存在有著其自己特別的意義,能為產業轉型升級提供支持,為產業的發展提供強有力的服務平臺等。隨著人們生活水平的提高以及國際貿易壁壘的加劇,我國第三方檢測行業快速發展
    發表于 07-19 16:57

    如何利用第三方軟件快速實現FPGA嵌入式系統設計?

    這還是“新鮮事物”。學習并掌握一項新的技術或具備某種能力,比如學習FPGA開發技術并將其應用到實際系統中,這是一項艱巨任務。AltiumDesigner 提供了一種簡單輕松的方法,可以幫助軟/硬件工程師共同應對FPGA
    發表于 09-20 07:10

    嵌入式JavaPOS系統接口怎么測試?

    的規范、開發和調試平臺。系統升級和移植困難,尤其對于一體機等需要第三方開發軟件的應用,造成開發上更大的難度。虛擬機VM的改進,Java應用的速度已經不是太大的問題。
    發表于 10-08 08:05

    請問第三方平臺授權如何實現?

    第三方平臺授權如何實現
    發表于 11-10 07:27

    buildroot如何添加支持第三方軟件?

    iMX6ULL終結者Buildoot文件系統構建篇buildroot添加支持第三方軟件
    發表于 04-02 06:06

    嵌入式系統中動畫設計方法的適用度分析,不看肯定后悔

    不需安裝第三方軟件的動畫設計方法分析需要安裝第三方軟件的動畫設計方法分析可用于嵌入式系統開發的腳本語言
    發表于 04-28 06:38

    淺析嵌入式系統移植

    Linux 在嵌入式中應用的條件與前景嵌入式系統越來越追求數字化、網絡化和智能化。這就要要求整個嵌入式系統必須是開放的、提供標準的API,并
    發表于 07-28 07:07

    鴻蒙開源第三方組件資料合集

    展示1、測試界面。 如圖1所示,這是一個為了測試Timber_ohos功能而簡單構建的UI頁面。點擊“測試”按鈕即可輸出相應的log。2、鴻蒙開源第三方組件
    發表于 03-23 09:53

    最受歡迎的第三方平臺——呼叫中心系統

    中小企業一定要選擇正規的呼叫中心供應商,只有應有強大的第三方合作平臺,才能擁有更專業的系統團隊以及系統維護平臺,只有可信的團隊才能為企業帶來
    發表于 09-20 17:54

    基于第三方信號無源探測系統研究

    文中主要討論了基于第三方信號檢測隱形目標的無源探測系統,并對偵察第三方信號作用距離和基于第三方信號無源探測系統的作用距離進行仿真,證明基于
    發表于 03-01 15:35 ?29次下載
    基于<b class='flag-5'>第三方</b>信號無源探測<b class='flag-5'>系統</b>研究

    B/S模式下電子商務第三方物流體系的構建

    特點與作業過程,應該更加有效的利用B/S現代信息技術,高效地實現對電商第三方物流企業的管理,在B/S模式下設計構建出有效的電子商務第三方物流體系信息管理系統。結果證實,在B/S模式下
    發表于 10-30 14:49 ?2次下載
    B/S模式下電子商務<b class='flag-5'>第三方</b>物流體系的<b class='flag-5'>構建</b>

    第三方腳本成為網絡攻擊“重災區”,多管齊下防范第三方腳本安全隱患

      第三方腳本攻擊利用的是第一網站對第三方腳本的控制力不足和難以實現的全面監測,造成較為嚴重的攻擊后果。除此之外,
    的頭像 發表于 09-04 14:51 ?4564次閱讀

    阿里云加入IBM Cloud Paks第三方生態系統

    為了構建更大更開放的混合云生態,IBM 近日還宣布計劃在未來年內向混合云生態系統投資 10億美元,助力第三方軟件提供商和數字化 IT 提供商的行業解決方案遷移到 IBM 的混合云
    的頭像 發表于 09-27 11:30 ?3207次閱讀