RM新时代网站-首页

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

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

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

Firefly-RK3128主板編譯內(nèi)核介紹

firefly ? 來(lái)源:firefly ? 作者:firefly ? 2019-11-29 08:40 ? 次閱讀
編譯內(nèi)核
準(zhǔn)備工作
安裝開發(fā)包

安裝開發(fā)包:

sudo apt-get install build-essential lzop libncurses5-dev libssl-dev # 如果使用的是 64 位的 Ubuntu,還需要安裝: sudo apt-get install libc6:i386
安裝 mkbootimg 工具
git clone https://github.com/neo-technologies/rockchip-mkbootimg.git cd rockchip-mkbootimg make && sudo make install
獲取內(nèi)核源碼和安裝交叉編譯工具鏈

如果已經(jīng)下載 Firefly-RK3128 Android SDK,內(nèi)核源碼和交叉編譯工具鏈分別在 SDK/kernel 和 SDK/prebuilts 目錄里,無(wú)需額外下載,請(qǐng)?zhí)较乱徊?。如果沒有下載 SDK,則需要下載內(nèi)核源碼及 Android 的 arm-eabi-4.6 交叉編譯工具鏈。

下載內(nèi)核源碼:

git clone https://bitbucket.org/T-Firefly/fireprime-kernel.git
編譯內(nèi)核
編譯內(nèi)核映像

如果不是在 SDK 里編譯內(nèi)核,則需要先指定 ARCH 和 CROSS_COMPILE:

export ARCH=arm export CROSS_COMPILE=/path/to/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/arm-eabi-

在內(nèi)核源碼目錄里執(zhí)行:

make fireprime-linux_defconfig make -j8 rk3128-fireprime.img
編譯內(nèi)核模塊

在內(nèi)核源碼目錄里執(zhí)行:

make modules mkdir modules_install make INSTALL_MOD_PATH=./modules_install modules_install

內(nèi)核模塊是需要拷到根文件系統(tǒng)中即可:

rsync -av ./modules_install/ /path/to/your/rfs/

也可以遠(yuǎn)程拷貝到開發(fā)板的根文件系統(tǒng)中,這需要開發(fā)板可以通過(guò) ssh 遠(yuǎn)程連接:

rsync -av ./modules_install/ root@開發(fā)板IP:/

最后清理一下模塊安裝目錄(該目錄含有鏈接,會(huì)影響 SDK 的編譯):

rm -rf ./modules_install
創(chuàng)建 linux-boot.img
創(chuàng)建內(nèi)存盤

內(nèi)核啟動(dòng)時(shí)會(huì)加載內(nèi)存盤作為初始的根文件系統(tǒng),再加載實(shí)際的根存儲(chǔ)設(shè)備,最后切換過(guò)去。

git clone -b fireprime https://github.com/TeeFirefly/initrd.git make -C initrd
打包內(nèi)核和內(nèi)存盤

將 kernel 和 initrd 打包成 linux-boot.img:

truncate -s "%4" initrd.img mkbootimg --kernel arch/arm/boot/zImage --ramdisk initrd.img -o linux-boot.img
修改 parameter 文件

Linux 的根文件系統(tǒng)(RFS)可能在不同的分區(qū)或存儲(chǔ)設(shè)備上(eMMC、TF 卡或 U 盤),所以需要在內(nèi)核的參數(shù)中指定。修改 parameter 文件中的 CMDLINE 行,根據(jù)實(shí)際情況加入以下之一(# 后是注釋,不需要加入):

root=/dev/block/mtd/by-name/linuxroot # 名為 "linuxroot" 的 nand 分區(qū) root=/dev/mmcblk0p1 # TF 卡的第一個(gè)分區(qū) root=/dev/sda1 # U 盤或 USB 硬盤的第一個(gè)分區(qū) root=LABEL=linuxroot # 卷標(biāo)為 "linuxroot" 的分區(qū),可以是任一存儲(chǔ)設(shè)備

以下是官方雙啟動(dòng)固件所使用的 parameter 文件,供參考:

FIRMWARE_VER:5.1 MACHINE_MODEL:rk312x MACHINE_ID:007 MANUFACTURER:RK30SDK MAGIC: 0x5041524B ATAG: 0x60000800 MACHINE: 312x CHECK_MASK: 0x80 KERNEL_IMG: 0x60408000 #RECOVER_KEY: 1,1,0,20,0 CMDLINE:console=ttyFIQ0,115200 earlyprintk androidboot.hardware=rk30board androidboot.console=ttyFIQ0 board.ap_has_alsa=0 init=/init initrd=0x62000000,0x00800000 mtdparts=rk29xxnand:0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00180000@0x00092000(system),0x00002000@0x00212000(metadata),0x00200000@0x00214000(userdata),0x00020000@0x00414000(radical_update),-@0x00434000(user)
燒寫到設(shè)備

參考《升級(jí)固件》燒寫 parameter 和相應(yīng)的分區(qū)映像。如果是在官方固件的基礎(chǔ)上更新,則需要根據(jù)固件的類型,將 linux-boot.img 燒寫至對(duì)應(yīng)的分區(qū):

如果還沒有燒寫根文件系統(tǒng)的,可以下載預(yù)先做好的鏡像,或定制自己的根文件系統(tǒng),并燒寫到 parameter 文件指定的根分區(qū)中。


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

    關(guān)注

    7

    文章

    6085

    瀏覽量

    35295
  • 安卓
    +關(guān)注

    關(guān)注

    5

    文章

    2126

    瀏覽量

    57145
  • Firefly
    +關(guān)注

    關(guān)注

    2

    文章

    538

    瀏覽量

    7027
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何解決firefly rk3128 linux內(nèi)核適配問題?

    如何解決firefly rk3128 linux內(nèi)核適配問題?
    發(fā)表于 03-04 06:17

    Firefly-RK3128開發(fā)板上手教程(上)

    1、Firefly-RK3128開發(fā)板入手指南配件Firefly-RK3128 的標(biāo)準(zhǔn)套裝包含以下配件:Core-3128J 核心板一塊Firefly-RK3128 基板一塊WiFi
    發(fā)表于 08-12 17:32

    Firefly-RK3128開發(fā)板上手教程(下)

    1、如何將主機(jī)上的固件文件通過(guò)雙公頭USB數(shù)據(jù)線燒錄到開發(fā)板的閃存中準(zhǔn)備工作Firefly-RK3128 開發(fā)板固件主機(jī)良好的 Micro USB OTG 線固件文件一般有兩種:?jiǎn)蝹€(gè)統(tǒng)一固件
    發(fā)表于 08-12 17:51

    Firefly-RK3128 MIPI DSI使用步驟說(shuō)明

    screen-type屬性:顯示屏類型,Firefly-RK3128只支持單通道MIPI屏,配置成SCREEN_MIPI即可。lvds-format屬性:無(wú)關(guān)選項(xiàng)。out-face屬性:配置顏色,可為OUT_P888
    發(fā)表于 08-22 17:12

    firefly RK3128開發(fā)板介紹

    Firefly-RK3128 采用Cortex-A7架構(gòu)四核1.3GHz處理器,集成Mali-400MP2 GPU, 擁有優(yōu)秀的運(yùn)算與圖形處理能力;板載千兆以太網(wǎng)口、2.4GHz Wi-Fi和藍(lán)牙4.0
    的頭像 發(fā)表于 11-14 11:27 ?4554次閱讀
    <b class='flag-5'>firefly</b> <b class='flag-5'>RK3128</b>開發(fā)板<b class='flag-5'>介紹</b>

    Firefly-RK3128主板PWM輸出介紹

    Firefly-RK3128 開發(fā)板上有 4 路 PWM 輸出,分別為 PWM0 ~ PWM3
    的頭像 發(fā)表于 11-28 16:56 ?2381次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>PWM輸出<b class='flag-5'>介紹</b>

    Firefly-RK3128主板LED子系統(tǒng)介紹

    Firefly-RK3128 開發(fā)板上有 2 個(gè) LED 燈
    的頭像 發(fā)表于 11-28 17:01 ?2735次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>LED子系統(tǒng)<b class='flag-5'>介紹</b>

    Firefly-RK3128主板I2C控制器

    Firefly-RK3128 開發(fā)板上有 4 個(gè)片上 I2C 控制器。本文主要描述如何在該開發(fā)板上配置 I2C。
    的頭像 發(fā)表于 11-29 08:47 ?1477次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>I2C控制器

    Firefly-RK3128開發(fā)板攝像頭的介紹

    Firefly-RK3128 開發(fā)板上有 CIF 接口,支持 CIF 攝像頭。
    的頭像 發(fā)表于 11-28 16:48 ?3764次閱讀
    <b class='flag-5'>Firefly-RK3128</b>開發(fā)板攝像頭的<b class='flag-5'>介紹</b>

    Firefly-RK3128主板ADC簡(jiǎn)介

    Firefly-RK3128 開發(fā)板有一個(gè) 3 通道(0/1/2)、10 比特精度的 SAR ADC (Successive Approximation Register,逐次逼近寄存器),
    的頭像 發(fā)表于 11-28 17:17 ?3509次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>ADC簡(jiǎn)介

    Firefly-RK3128主板接口定義介紹

    Firefly-RK3128 開發(fā)板提供了豐富的接口,主要包括:HDMI、音頻數(shù)字光纖、以太網(wǎng)、電源接口、復(fù)位按鍵、電源鍵、音頻輸入輸出、硅麥、串口調(diào)試接口、紅外接收、OTG接口、TF卡槽、USB Host1~4、
    的頭像 發(fā)表于 11-29 08:45 ?3485次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>接口定義<b class='flag-5'>介紹</b>

    FireflyRK3128主板外殼介紹

    外殼 Firefly-RK3128 CAD圖 核心板 底板 Firefly-RK3128 外殼亞克力CAD圖
    的頭像 發(fā)表于 11-29 09:19 ?1246次閱讀
    FireflyRK<b class='flag-5'>3128</b><b class='flag-5'>主板</b>外殼<b class='flag-5'>介紹</b>

    Firefly-RK3128主板編譯固件介紹

    編譯 Android 對(duì)機(jī)器的配置要求較高
    的頭像 發(fā)表于 11-29 09:13 ?2553次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b><b class='flag-5'>編譯</b>固件<b class='flag-5'>介紹</b>

    Firefly-RK3128主板啟動(dòng)模式簡(jiǎn)介

    Firefly-RK3128 有靈活的啟動(dòng)方式。
    的頭像 發(fā)表于 11-29 09:27 ?5255次閱讀

    Firefly-RK3128主板串口調(diào)試

    Firefly-RK3128 開發(fā)板的調(diào)試串口與 TF 卡接口有信號(hào)引腳復(fù)用,因此無(wú)法同時(shí)使用
    的頭像 發(fā)表于 11-29 09:47 ?3544次閱讀
    <b class='flag-5'>Firefly-RK3128</b><b class='flag-5'>主板</b>串口調(diào)試
    RM新时代网站-首页