在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

fireflyCORE-PX30-JD4編譯 Ubuntu 固件簡介

firefly ? 來源:firefly ? 作者:firefly ? 2019-12-20 08:45 ? 次閱讀
編譯 Ubuntu 固件

為了方便用戶的使用與開發,官方提供了 Linux 開發的整套 SDK,本章詳細的說明 SDK 的具體用法。

準備工作
下載源碼

下載 repo 工具:

mkdir linuxcdlinux git clone https://github.com/FireflyTeam/repo.git

下載 Linux-SDK:

  • 方法一

初始化 repo 倉庫:

mkdir linux-sdkcdlinux-sdk ../repo/repo init --repo-url https://github.com/FireflyTeam/repo.git -u https://github.com/FireflyTeam/manifests.git -b linux-sdk -m px30/px30_linux_release.xml

同步源碼:

../repo/repo sync -c

同步過程中,網絡波動會導致下載速度過低中斷同步,可以使用下面腳本同步代碼:

#! /bin/bash../repo/repo sync -cwhile[$?-ne0]do../repo/repo sync -cdone
  • 方法二(國內用戶推薦使用)

考慮到國內用戶使用 repo 從網絡上下載全部代碼會比較慢,官方提供了基礎的源碼包Linux_SDK.7z。

下載 Linux_SDK.7z:

# 把壓縮包放在上一步下載 repo 工具的目錄下7z x Linux_SDK.7z# 更新代碼repo sync -c
Linux_SDK 目錄介紹

目錄:

├── linux_sdk │ ├── app │ ├── buildroot# Buildroot 根文件系統的編譯目錄│ ├── build.sh -> device/rockchip/common/build.sh# 全自動編譯腳本│ ├── device# 編譯相關配置文件│ ├── distro# Debian 根文件系統生成目錄│ ├── docs# 文檔│ ├── envsetup.sh -> buildroot/build/envsetup.sh │ ├── external │ ├── kernel# 內核│ ├── Makefile -> buildroot/build/Makefile │ ├── mkfirmware.sh -> device/rockchip/common/mkfirmware.sh# rockdev 目錄鏈接更新腳本│ ├── prebuilts │ ├── rkbin │ ├── rkflash.sh -> device/rockchip/common/rkflash.sh# 燒寫腳本│ ├── rootfs# Debian 根文件系統編譯目錄│ ├── tools# 燒寫、打包工具│ └── u-boot# u-boot
搭建 SDK 編譯環境

安裝 Ubuntu 編譯所需工具,確保工具都正確安裝:

sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools device-tree-compiler\gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools\linaro-image-tools gcc-4.8-multilib-arm-linux-gnueabihf gcc-arm-linux-gnueabihf libssl-dev\gcc-aarch64-linux-gnu g+conf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make\binutils build-essential gcc g++ bash patch gzip bzip2 perl tar cpio python unzip rsync file bc wget\libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client\subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev texinfo\liblz4-tool genext2fs lib32stdc++6
編譯 SDK
編譯前配置

選擇開發板對應的配置文件。配置文件會鏈接到device/rockchip/.BoardConfig.mk,查看該文件可確認當前所使用的配置文件:

./build.sh px30-ubuntu.mk# 文件路徑在 `device/rockchip/px30/px30-ubuntu.mk`

用戶也可以通過參考該配置生成新的配置文件來適配自己所需要的固件。

重要配置介紹:(如果需要定制固件,可以修改下列配置信息

# Uboot defconfig(uboot 配置文件)exportRK_UBOOT_DEFCONFIG=evb-px30# Kernel defconfig(kernel 配置文件)exportRK_KERNEL_DEFCONFIG=px30_linux_defconfig# Kernel dts(dts 文件)exportRK_KERNEL_DTS=px30-firefly-lvds# parameter for GPT table(分區信息,十分重要)exportRK_PARAMETER=parameter-ubuntu.txt# packagefile for make update image(打包配置文件)exportRK_PACKAGE_FILE=px30-ubuntu-package-file# rootfs image path(根文件系統鏡像路徑)exportRK_ROOTFS_IMG=xxxx/xxxx.img
全自動編譯

在配置和搭建環境的工作都做好的前提下:

./build.sh

全自動編譯的固件默認會編譯一遍 Buildroot 根文件系統。生成固件目錄rockdev/,同時會在IMAGE/中備份。

部分編譯
  • kernel

./build.sh kernel
  • u-boot

./build.sh uboot
  • recovery

recovery 分區可省略,若有需要,編譯 recovery:

./build.sh recovery
  • rootfs

Ubuntu 文件系統可以通過云盤下載,以 Ubuntu 18.04 為例:下載鏈接https://pan.baidu.com/s/1DuCzTGARDi7APxyKs9Nl1A#list/path=%2F

把得到的鏡像放到 SDK 的根目錄處:

# 解壓tar -zxvf ubuntu_18.04_arm64_20190226111421.img.tar.gz# SDK 根目錄下mkdir ubunturootfs mv ubuntu_18.04_arm64_20190226111421.img ubunturootfs/# 修改 px30-ubuntu.mk 文件vim device/rockchip/px30/px30-ubuntu.mk# 把 RK_ROOTFS_IMG 屬性改成 Ubuntu 文件系統鏡像得路徑(也就是 ubuntu_18.04_arm64_20190226111421.img)RK_ROOTFS_IMG=ubunturootfs/ubuntu_18.04_arm64_20190226111421.img

注意:Ubuntu 根文件系統鏡像存放路徑不能錯。

運行./mkfirmware.sh會自動更新rockdev/rootfs.img的鏈接。

固件打包
同步更新各部分鏡像

每次打包固件前先確保rockdev/目錄下文件鏈接正確:

ls -l ├── boot.img -> ~/linux/linux_sdk/kernel/boot.img ├── idbloader.img -> ~/linux/linux_sdk/u-boot/idbloader.img ├── MiniLoaderAll.bin -> ~/linux/linux_sdk/u-boot/px30_loader_v1.10.112.bin ├── misc.img -> ~/linux/linux_sdk/device/rockchip/rockimg/wipe_all-misc.img ├── oem.img ├── parameter.txt -> ~/linux/linux_sdk/device/rockchip/px30/parameter-ubuntu.txt ├── recovery.img -> ~/linux/linux_sdk/buildroot/output/rockchip_px30_recovery/images/recovery.img ├── rootfs.img -> ~/linux/linux_sdk/ubunturootfs/ubuntu_18.04_arm64_20190226111421.img ├── trust.img -> ~/linux/linux_sdk/u-boot/trust.img ├── uboot.img -> ~/linux/linux_sdk/u-boot/uboot.img └── userdata.img

可以運行./mkfirmware.sh更新鏈接:

./mkfirmware.sh

提示:若不是編譯全部的分區鏡像,在運行./mkfirmware時,會遇到如下類似情況:

error: /home/xxx/linux/linux-sdk/buildroot/output/rockchip_px30_recovery/images/recovery.img not found!# 表示 recovery 分區沒有編譯出鏡像,其他的情況類似,如 oem.img、userdata.img# 上文提到,這些屬于可省略分區鏡像,可以不用理會。
打包統一固件

注意:打包前請確認tools/linux/Linux_Pack_Firmware/rockdev/package-file是否正確。打包會根據此文件進行分區打包。此文件鏈接會在執行./build.shpx30-ubuntu.mk命令時更新,如果配置不對請再次執行該命令。

整合統一固件:

./build.sh updateimg
分區介紹
parameter

parameter.txt包含了固件的分區信息十分重要,你可以在device/rockchip/px30目錄下找到一些parameter.txt文件,下面以 parameter-debian.txt 為例子做介紹:

FIRMWARE_VER:8.1 MACHINE_MODEL: PX30 MACHINE_ID:007MANUFACTURER: PX30 MAGIC: 0x5041524B ATAG: 0x00200800 MACHINE: px30 CHECK_MASK: 0x80 PWR_HLD:0,0,A,0,1 TYPE: GPT CMDLINE:mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(trust),0x00002000@0x00008000(misc),0x00010000@0x0000a000(boot),0x00010000@0x0001a000(recovery),0x00010000@0x0002a000(backup),0x00020000@0x0003a000(oem),0x00700000@0x0005a000(rootfs),-@0x0075a000(userdata:grow)uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9

CMDLINE屬性是我們關注的地方。以 uboot 為例0x00002000@0x00004000(uboot)中0x00004000為uboot分區的起始位置0x00002000為分區的大小。后面的分區規則相同。用戶可以根據自己需要增減或者修改分區信息,但是請最少保留 uboot,trust,boot,rootfs 分區,這是機器能正常啟動的前提條件。parameter-ubuntu.txt 中使用的就是這樣的最簡分區方案。

分區介紹:

  • uboot 分區:燒寫 uboot 編譯出來的 uboot.img

  • trust 分區:燒寫 uboot 編譯出來的 trust.img

  • misc 分區:燒寫 misc.img,開機檢測進入 recovery 模式(可省略)

  • boot 分區:燒寫 kernel 編譯出來的 boot.img,包含 kernel 和設備樹信息

  • recovery 分區:燒寫 recovery.img(可省略)

  • backup 分區:預留,暫時沒有用。后續跟 Android 一樣作為 recovery 的 backup 使用(可省略)

  • oem 分區:給廠家使用,存放廠家的 app 或數據。只讀。代替原來音箱的 data 分區。掛載在 /oem 目錄(可省略)

  • rootfs 分區:存放 Buildroot 或者 Debian 編出來的 rootfs.img,只讀

  • userdata 分區:存放 app 臨時生成的文件或者是給最終用戶使用。可讀寫,掛載在 /userdata 目錄下(可省略)

package-file

此文件應當與parameter保持一致,用于固件打包。可以在tools/linux/Linux_Pack_Firmware/rockdev下找到相關文件。以 px30-ubuntu-package-file 為例介紹:

# NAME Relative path##HWDEF HWDEFpackage-file package-file bootloader Image/MiniLoaderAll.bin parameter Image/parameter.txt trust Image/trust.img uboot Image/uboot.img boot Image/boot.img rootfs:grow Image/rootfs.img backup RESERVED

以上是 SDK 編譯后生成的鏡像文件。根據parameter.txt只打包自己用到的映像文件。


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

    關注

    7

    文章

    6085

    瀏覽量

    35342
  • 安卓
    +關注

    關注

    5

    文章

    2130

    瀏覽量

    57207
  • Firefly
    +關注

    關注

    2

    文章

    538

    瀏覽量

    7047
收藏 人收藏

    評論

    相關推薦

    如何在Ubuntu編譯原生固件PX4

    如何在Ubuntu編譯原生固件PX4
    發表于 02-14 07:01

    AIO-PX30-JD4核心板上手教程

    1.1. 入手指南1.1.1. 配件AIO-PX30-JD4 的標準套裝包含以下配件:CORE-PX30-JD4 核心板一塊MB-JD4-RK3328&PX30 底板一塊銅管天
    發表于 07-19 16:32

    fireflyCORE-PX30-JD4燒寫工作介紹

    原始固件是一種能以逐位復制的方式燒寫到存儲設備的固件,是存儲設備的原始映像。原始固件一般燒寫到SD卡中,但也可以燒寫到eMMC中。燒寫原始固件有許多工具可以選用:
    的頭像 發表于 11-14 11:03 ?2173次閱讀
    <b class='flag-5'>fireflyCORE-PX30-JD4</b>燒寫工作介紹

    firefly3399PRO-JD4編譯Ubuntu 固件簡介

    編譯 Ubuntu 固件(GPT) 為了方便用戶的使用與開發,官方提供了Linux開發的整套sdk,本章詳細的說明SDK的具體用法。 準備工作 下載源碼 下載repo工具
    的頭像 發表于 12-17 16:42 ?3342次閱讀
    firefly3399PRO-<b class='flag-5'>JD4</b><b class='flag-5'>編譯</b><b class='flag-5'>Ubuntu</b> <b class='flag-5'>固件</b><b class='flag-5'>簡介</b>

    fireflyCORE-PX30-JD4接口定義介紹

    AIO-PX30-JD4 提供了豐富的接口,主要包括:電源接口, 1 x USB3.0(device),6x USB2.0(接口×4,座子×2),以太網,LVDS屏幕接口,TP觸摸接口,屏電壓跳線
    的頭像 發表于 12-19 16:36 ?1920次閱讀
    <b class='flag-5'>fireflyCORE-PX30-JD4</b>接口定義介紹

    fireflyCORE-PX30-JD4配件簡介

    firefly
    的頭像 發表于 12-18 15:53 ?1395次閱讀
    <b class='flag-5'>fireflyCORE-PX30-JD4</b>配件<b class='flag-5'>簡介</b>

    fireflyCORE-PX30-JD4編譯Buildroot 固件簡介

    編譯 Buildroot 固件 本章介紹 Buildroot 固件編譯使用。
    的頭像 發表于 12-19 16:54 ?4392次閱讀

    fireflyCORE-PX30-JD4燒寫固件簡介

    AIO-PX30-JD4 有靈活的啟動方式。一般情況下,除非硬件損壞,AIO-PX30-JD4 開發板是不會變磚的。
    的頭像 發表于 12-20 08:49 ?3486次閱讀

    fireflyCORE-PX30-JD4產品簡介

    采用PX30工業級64位低功耗處理器,擁有強大的硬解碼能力,以及豐富的接口,僅需擴展功能底板即可快速實現項目研產,可適用于AIOT物聯網設備、車載中控、游藝/游戲設備、商顯一體設備等應用領域
    的頭像 發表于 12-20 08:50 ?1612次閱讀

    【Pixhawk】Ubuntu編譯原生固件PX4

    環境:PC:Ubuntu20.0.4主機1、下載PX4源碼新建一個pixhawk/source目錄,cd進去git源碼cd pixhawk/sourcegit clone https
    發表于 12-14 18:48 ?5次下載
    【Pixhawk】<b class='flag-5'>Ubuntu</b>下<b class='flag-5'>編譯</b>原生<b class='flag-5'>固件</b><b class='flag-5'>PX4</b>

    Core PX30 JD4固件Android 8.1固件分享

    電子發燒友網站提供《Core PX30 JD4固件Android 8.1固件分享.txt》資料免費下載
    發表于 09-13 09:23 ?13次下載
    Core <b class='flag-5'>PX30</b> <b class='flag-5'>JD4</b><b class='flag-5'>固件</b>Android 8.1<b class='flag-5'>固件</b>分享

    Core PX30 JD4固件Buildroot(GPT)文件分享

    電子發燒友網站提供《Core PX30 JD4固件Buildroot(GPT)文件分享.txt》資料免費下載
    發表于 09-13 09:22 ?0次下載
    Core <b class='flag-5'>PX30</b> <b class='flag-5'>JD4</b><b class='flag-5'>固件</b>Buildroot(GPT)文件分享

    Core PX30 JD4固件Ubuntu(GPT)文件分享

    電子發燒友網站提供《Core PX30 JD4固件Ubuntu(GPT)文件分享.txt》資料免費下載
    發表于 09-13 09:21 ?1次下載
    Core <b class='flag-5'>PX30</b> <b class='flag-5'>JD4</b><b class='flag-5'>固件</b><b class='flag-5'>Ubuntu</b>(GPT)文件分享

    Core 1808 JD4固件Ubuntu18.04

    電子發燒友網站提供《Core 1808 JD4固件Ubuntu18.04.txt》資料免費下載
    發表于 09-20 17:03 ?0次下載
    Core 1808 <b class='flag-5'>JD4</b><b class='flag-5'>固件</b><b class='flag-5'>Ubuntu</b>18.04

    AIO 3566JD4固件Ubuntu

    電子發燒友網站提供《AIO 3566JD4固件Ubuntu.txt》資料免費下載
    發表于 09-20 10:19 ?0次下載
    AIO 3566<b class='flag-5'>JD4</b><b class='flag-5'>固件</b><b class='flag-5'>Ubuntu</b>
    主站蜘蛛池模板: 亚洲性人人天天夜夜摸| 天堂中文资源网| 色91在线| 成年网站在线| 在线观看视频h| 亚洲综合伊人| 国模私拍在线观看| 久久大综合| 最新天堂| 激情com| 国产午夜在线观看视频播放| 中文字幕天堂网| 黄色a三级免费看| 精品在线一区二区三区| 不卡免费在线视频| 久久ww| 成人午夜亚洲影视在线观看| 性福利视频| 丁香五月缴情在线| 特级全毛片| 一级毛片免费不卡直观看| 夜色剧场| 亚洲免费在线观看| 欧美色图久久| 国产高清色播视频免费看| tdg58在线观看| 桃色婷婷| 五月天综合婷婷| 美女露出扒开尿口让男人桶| 特级全毛片| 午夜美女久久久久爽久久| 特大一级aaaaa毛片| 久久精品国产6699国产精| 国产重口老太和小伙乱视频| 网www天堂资源在线| 午夜剧场毛片| 国产在线精品观看| 国产色视频在线| 69日本xxxxxxxxx96| 美女网站视频色| 插插插天天|