導航:首頁 > 源碼編譯 > 樹莓派32位交叉編譯

樹莓派32位交叉編譯

發布時間:2022-11-27 20:53:52

⑴ 樹莓派linux內核編譯選項如何開啟TPM 2.0

本文更新於2018-08-11

首發於, 文章鏈接 http://www.jianshu.com/p/174844b99716
同步至GitHub: https://github.com/liuqun/linux/wiki

定製樹莓派內核源碼, 通過樹莓派SPI介面載入並訪問TPM2.0設備

所需硬體: X86主機一台, 樹莓派3-B型號開發板一塊, 大容量Micro-SD卡+USB讀卡器一個, 英飛凌TPM2.0評估板一套

所需軟體: 任意版本樹莓派固件(推薦使用 最新版本 ), Ubuntu Linux 虛擬機, gcc-arm-linux-gnueabihf 交叉編譯器, libncurses5(編譯Linux內核配置菜單界面)

取出樹莓派的SD卡, 通過讀卡器插入 Ubuntu 主機或將讀卡器 USB 設備接入 VMware 虛擬機。Ubuntu 默認自動將 U 盤掛載到 /media/$USER/boot 和 /media/$USER/【根文件系統分區】

(以下為覆蓋式安裝, 如果不放心請自行備份SD卡上的原有內核及模塊文件)

選中 5. Interfacing Options --- P4 SPI(啟用/禁用SPI串口)
重啟樹莓派,開機後檢查/dev/tpm0設備文件是否已經載入就緒

⑵ 在Ubuntu下安裝樹莓派的交叉編譯環境,有試過嗎

開始做嵌入式開發的朋友都在前期配置交叉編譯工具而煩惱,網上的交叉編譯工具的教程很多,但是要麼很繁瑣要麼就是資料不全。 那麼怎麼樣快速而又簡單地配置交叉編譯工具呢,我們現在就用ubuntu裡面的apt-get工具快速安裝交叉編譯工具。 1...

⑶ QT交叉編譯環境

將安裝全套的Qt開發環境,可以在PC端進行qt開發。

Ubuntu14.04的Qt版本為5.2.1,16.04的Qt版本為5.5.1,高版本Qt庫可以向下兼容運行低版本工具鏈編譯的程序,因此這里選用5.2.1版本作為編譯工具鏈。

進入Qt工程目錄中,目錄下會有個<工程名>.pro文件,如果目錄中存在<工程名>.pro.user文件,是之前qtcreator生成的配置文件,請先刪除。然後運行:

即可完成編譯,編譯好的程序可以放到樹莓派上直接運行。

另外,工程的配置可以通過修改 工程名.pro文件,例如添加鏈接庫,只需要在文件中添加如下選項:

添加c99支持:QMAKE_CFLAGS += -std=c99

⑷ 樹莓派 編譯 platform選哪個

1、獲取升級所需源碼

1)下載地址:
官方網址:https://github.com/raspberrypi
上面列出了樹莓派所有的開源軟體:
firmware:樹莓派的交叉編譯好的二進制內核、模塊、庫、bootloader
linux:內核源碼
tools:編譯內核和其他源碼所需的工具——交叉編譯器等
我們只需要以上三個文件即可,下面的工程可以了解一下

documentation:樹莓派離線幫助文檔,教你如何使用、部署樹莓派(樹莓派官方使用教程)
userland:arm端用戶空間的一些應用庫的源碼——vc視頻硬浮點、EGL、mmal、openVG等
hats:Hardware Attached on Top,樹莓派 B+型板子的擴展板資料
maynard:一個gtk寫成的桌面環境
scratch:一個簡易、可視化編程環境
noobs:一個樹莓派鏡像管理工具,他可以讓你在一個樹莓派上部署多個鏡像
weston:一個應用程序
target_fs:樹莓派最小文件系統,使用busybox製作
quake3:雷神之錘3有線開發源碼firmwareb
2)下載方法:
a、網頁直接下載:

點到所需要下載的工程,左上角選版本,右方有一個download ZIP按鈕可直接下載(筆者下載完成後,在linux中解壓提示出錯,windows又非常慢切內核建議不要在windows環境解壓,所以筆者不建議使用這種辦法)

b、使用git下載
$ mkdir raspeberrypi_src
$ cd raspberrypi_src
$ git clone git://github.com/raspberrypi/firmware.git
$ git clone git://github.com/raspberrypi/linux.git
$ git clone git://github.com/raspberrypi/tools.git

會得到三個文件夾
firmware linux tools

2、編譯、提取內核及其模塊

1)獲得內核配置文件
在運行的樹莓派中運行:
$ls /proc/
可看到一個叫config.gz的文件,他是當前的樹莓派配置選項記錄文件,我們將他拷出,放入我們的內核源碼目錄樹下

$cp /proc/config /home/pi
我們這里使用前面交過的samba拷出並拷入內核源碼目錄下,不熟悉的人可參考前面文章

在linux內核源碼下執行:
$zcat config.gz > .config

2)配置、編譯內核
a、修改內核源碼makefile ARCH類型和編譯器路徑
$vi Makefile +195
找到以上類似代碼,改為如圖所示

b、查看、修改配置選項
$make menuconfig
可出現以下界面

如果不做修改,直接選中exit即可(注意使用鍵盤操作)

c、編譯內核鏡像
$make
在arch/arm/boot目錄下可以看到一個叫zImage的文件,就是我們新的內核

但是樹莓派需要另外一種格式的鏡像,需要進行處理一下,執行以下命令
$cd tools/mkimage

$./imagetool-uncompressed.py ../../linux/arch/arm/boot/zImage
即可在當前文件夾下看到一個叫:kernel.img的文件,就是我們需要的新內核了

d、提取moles
上一步其實不但編譯出來了內核的源碼,一些模塊文件也編譯出來了,這里我們提取一下
$cd raspberrypi_src
$mkdir moles
$cd linux
$ make moles_install INSTALL_MOD_PATH=../moles

即可在moles得到我們需要的模塊文件

2、升級RPi的kernel、Firmware、lib
將SD卡拔下插在電腦上(可使用讀卡器)
1)升級內核
將新編好的內核拷入SD卡,改名為:kernel_new.img
打開boot目錄下
找到config.txt文件,加入:kernel=kernel_new.img這一行

2)升級boot
將firmware/boot/目錄下 以下文件拷入SD卡boot目錄:fbootcode.bin fixup.dat fixup_cd.dat start.elf

3)更新vc庫及內核moles
將第3步d步中編譯出來的moles/lib/moles拷入樹莓派文件系統/lib下

⑸ Step by Step帶你玩轉DuerOS - Python DuerOS SDK[樹莓派平台] (3)

在前一個帖子中,給大家帶來了Python版本的DuerOS SDK。但DuerOS的測試環境卻聲明為Ubuntu,相信很多同學會疑惑:Python不是跨平台的嗎?為什麼要限制測試平台呢?真實的情況呢是這樣的:
首先,Python跨平台這個沒毛病。但問題在於DuerOS運行所需要的依賴環境確實跟平台相關的。比如DuerOS是基於Http2 ALPN的,但樹莓派官方鏡像的OpenSSL並不支持,而對應的Python庫依賴於OpenSSL。為了在樹莓派平台上支持Python的DuerOS SDK,專門交叉編譯了OpenSSL和Python。
所以,這里限制了平台主要是方便同學能將DuerOS快速的Run起來。當然,如果想在MacOS、Windows平台運行DuerOS Python SDK也是沒問題的,只是在依賴配置方面可能要多花些時間。
好了,廢話不多說,直接上干貨:

按照個人版使用說明完成如下3步( http://open.er..com/doc/device-devkit/intro_markdown )

hyper庫用來支持http2.0 client, pyaudio用來支持錄音,tornado用來完成oauth認證。

直接運行使用默認的client_id和client_secret,開發者可以替換成自己在DuerOS開放平台申請的client_id和client_secret,進而實現在控制台自定義的配置屬性。

其中,
需要在開放平台中「安全設置」的「授權回調頁",設置成

⑹ 樹莓派上使用rust:交叉編譯

樹莓派Zero 用的 BCM2835 是 armv6 架構的。 arm-linux-gnueabihf-gcc

需要給 cargo 的配置文件裡面指定 arm-unknown-linux-gnueabihf 的 linker.
默認配置一般在 ~/.cargo/config 這里, 沒有就創一個.

來告訴 cargo 在編譯到 arm-unknown-linux-gnueabihf target 的時候用之前安裝的 gcc 做 linker, 不然會默認用 cc 做 linker, 那這當然是不行的.

用scp傳到樹莓派上就可以了

用 cross ,非常方便,強烈推薦!!!

⑺ 如何安裝樹莓派虛擬機

你的電腦是和樹莓派相同的
ARM
架構
你使用更慢的
qemu
模擬器來安裝
建議(任選一):
嫌安裝慢,我猜你是在編譯安裝:
找預編譯包。不知道你的樹莓派裝的什麼系統,以及你要裝什麼軟體。常見軟體+操作系統組合都可以從軟體源里直接安裝的
找個適合樹莓派的交叉編譯工具鏈在電腦上編譯了給樹莓派用。推薦使用類
UNIX
系統,不推薦使用虛擬機因為它會慢一些

⑻ 一 . 樹莓派A20 基本環境搭建 1

我的實驗環境:

1.交叉編譯工具鏈:gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux(4.8.2).tar.xz
2.SDK文件:MarsBoard-A20-Linux-SDK-V1.1.tar.bz2

在安裝gcc-arm-linux-gnueabi的時候,會自動安裝上gcc-4.6-arm-linux-gnueabi,如下圖所示:

第二個文件的安裝很重要,盡管後面提示的編譯錯誤,缺少的是arm-linux-...,但是安裝這個文件還是挺好用的。

根據前面安裝的一些安裝包,其實本節的交叉編譯工具鏈可以不用操作。因為已經包含了本節所做的了。

我得先將vim改一下,否則按住上下左右,會出現A,B,C,D。

再/etc/profile最後一行添加內容:

然後:

這里做一些簡要的說明,在網址: 鏈接 上有一些說明,從說明中,我們可以看到我們用的sdk的架構。

pack文件夾

選擇2,server版本。

之後:

能找到的livesuit_marsboard_a20_debian.img就是生成的鏡像文件。如果要修改名字,可以:

這裡面就包含了image.cfg,找到裡面的一項:

修改為其他的名字即可。

選擇2,server版本。

1.若出現如下報錯:

可以:

如果出現:

但是其實這些文件都是有的,可以不妨:

再次編譯,則問題如下:

仔細找編譯的shell輸出文件,發現是rootfs/下的gz文件找不到,這是因為我做前面的操作的時候,希望生成自己的rootfs_my.tar.gz文件。現在我重新將該文件放到rootfs/下,再次編譯,我將最後的結果放在下面:

這樣表示成功了。

下面列入生成的鏡像:

livesuit_superpi3.img即是。

1.我在做上面的操作的時候,夾雜的使用了兩個開發板,一個是marsboard出品的a20開發板,另外一個是風火輪出品的a20樹莓派3卡片電腦,說實在的,看起來風火輪附帶板子資料挺多,但是其真正寫的資料可沒用心做,實在不是一個榜樣,在該開發板上做非核心開發,是可以的,但是做研發,還是需要做考量。

燒寫成功後,列印的內容如下,作為日誌信息,留作以後分析:

⑼ 樹莓派中怎麼編譯golang,求大神支招

從源代碼編譯golang(sd) 還是編譯go程序?

如果是編譯go程序的話直接用go交叉編譯一個linux/arm版本的可執行文件就行,可以裝個gox, 能同時編譯多個版本

閱讀全文

與樹莓派32位交叉編譯相關的資料

熱點內容
mc演算法實現 瀏覽:672
阿里雲伺服器t5 瀏覽:46
命令行調用程序 瀏覽:73
汽缸壓縮比大了好嗎 瀏覽:667
工程電路分析pdf 瀏覽:48
k線圖源碼大全 瀏覽:457
c語言編譯器可以走c嘛 瀏覽:18
蘋果已經購買的app如何不再訂閱 瀏覽:150
ubuntu默認命令行 瀏覽:532
平面橢圓怎麼編程 瀏覽:516
安卓手機微信照片馬克筆怎麼去掉 瀏覽:231
編譯器工具是什麼 瀏覽:983
年底解壓的最佳方法 瀏覽:193
操作系統源碼查詢 瀏覽:853
陪聊app怎麼收費 瀏覽:88
python刪除csv文件的特定行 瀏覽:484
51單片機如何串口發送數據 瀏覽:998
文件夾的修改日期是啥 瀏覽:753
金碟雲伺服器數據稅務 瀏覽:988
java進程退出 瀏覽:849