落風(fēng)的個(gè)人空間 http://selenalain.com/space-uid-138363.html [收藏] [復制] [RSS]

博客

迅為IMX6Q開(kāi)發(fā)板QtE5.7編譯(上)

已有 582 次閱讀2020-12-16 11:27

7.2 QtE5.7 編譯
本小節主要包括以下內容:
1 在 Ubuntu16.04 系統下搭建編譯環(huán)境;
2 在 Ubuntu16.04 系統下實(shí)現 uboot 和內核源碼編譯;
3 在 Ubuntu16.04 系統下實(shí)現 QtE5.7 的編譯;
4 在 Ubuntu16.04 系統下實(shí)現 QtE5.7 鏡像的打包編譯。
迅為開(kāi)發(fā)板可以支持 QtE5.7 系統,將 uboot 和內核在同一 Ubuntu 環(huán)境下編譯,有
助于提高開(kāi)發(fā)效率。請注意,在 Ubuntu16.04 下是無(wú)法編譯 Android 系統的,必須要使用
Android 編譯章節對應的 Ubuntu 系統。
7.2.1 QtE5.7 編譯環(huán)境的兩種搭建方式
7.2.1.1 使用已經(jīng)搭建好的鏡像
搭建好的編譯環(huán)境在網(wǎng)盤(pán)“iTOP-iMX6 開(kāi)發(fā)板資料匯總(不含光盤(pán)資料)\02_iTOP-
iMX6 開(kāi)發(fā)板編譯系統所需要的工具包等\06_QtE5.7 的編譯環(huán)境安裝包”目錄下。用戶(hù)如果使用搭建好的編譯環(huán)境,在簡(jiǎn)單的修改環(huán)境變量之后,就可以完成本章的編譯。
用戶(hù)在使用搭建好的環(huán)境時(shí),如果 ssh 連接失敗的話(huà),可以參考“7.2.1.2”小節,配置ssh 服務(wù)。如果參考參考“7.2.1.2”小節修改配置之后還有問(wèn)題,可以參考 7.2.1.3 和 7.2.1.4小節,使用的替換工具。經(jīng)過(guò)測試,在 ssh 工具無(wú)法使用的時(shí)候,這兩個(gè)工具仍然可以使用。
7.2.1.2 自己搭建環(huán)境
另一種方法是自己安裝虛擬機,安裝 Ubuntu16.04 系統,搭建環(huán)境。
有關(guān)“虛擬機安裝”、“虛擬機加載 ubuntu 鏡像”、“Ubuntu 基本操作”等內容,用戶(hù)可以參考第三章的內容,這些基本操作在 ubutu16 上都是通用的。有一點(diǎn)需要特殊提出的是,使用 ubuntu16 時(shí),使用的站點(diǎn)是清華的源,具體的設置過(guò)程如下:
右上角小齒輪→System Settings→System→Software & updates
→Ubuntu Software→Download from 選擇站點(diǎn)
→選擇清華站點(diǎn)
→彈出驗證→輸入 root 賬號密碼
→替換為清華的下載點(diǎn)
→apt-get update 更新
使用命令“apt-get install vim ssh”安裝 vim 編輯器以及 ssh 工具。
使用 ssh 的時(shí)候,會(huì )遇到 ssh 連接失敗的問(wèn)題。
先使用命令“/etc/init.d/ssh restart”啟動(dòng) ssh 服務(wù),然后使用命令“vim
/etc/ssh/sshd_config”打開(kāi)配置文件。在配置文件最后位置添加:
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-
sha256@libssh.org
如下圖所示:

在配置文件中找到下面這段代碼,修改如下。
# Authentication:
LoginGraceTime 120
#PermitRootLogin prohibit-password
PermitRootLogin yes
StrictModes yes

之后使用“/etc/init.d/ssh restart”命令重啟 ssh 服務(wù),ssh 就可以連接上了。
依次使用如下命令,進(jìn)行庫文件的安裝。
apt-get install lzop
apt-get install u-boot-tools
apt-get install autoconf
apt-get install automake
apt-get install libtool
apt-get install libstdc++6
apt-get install lib32c-dev
apt-get install lib32stdc++6
apt-get install lib32z1
apt-get install lib32ncurses5
7.2.1.3 putty 工具的使用
用戶(hù)手冊 3.3.5 小節介紹 SSH 工具,在 Ubuntu16.04 上有一定的概率使用不了,本節介紹替換 SSH 控制臺的工具 putty。
putty 工具是網(wǎng)盤(pán)“iTOP-iMX6 開(kāi)發(fā)板資料匯總(不含光盤(pán)資料)\02_iTOP-iMX6 開(kāi)發(fā)板編譯系統所需要的工具包等\06_QtE5.7 的編譯環(huán)境安裝包\03-QtE5.7 編譯環(huán)境需要的工具\01-putty 控制臺工具”目錄下的壓縮包“putty_cn.zip”,解壓之后得到文件夾“puttyfile_0.62cn”,進(jìn)入該文件夾,如下圖所示。

確認 Ubuntu16.04 上已經(jīng)安裝了 SSH 并開(kāi)啟 SSH 功能,虛擬機已經(jīng)開(kāi)啟。作者虛擬機上的 IP 是:192.168.2.23,用戶(hù)要根據自身的實(shí)際情況修改。如下圖所示,雙“putty.exe”打開(kāi) Putty 配置,如下圖所示。

如上圖所示,需要注意的部分已經(jīng)標注。
第一步“遠程主機 IP”要根據實(shí)際情況設置;第 2-4 步驟,使用默認即可;第 5 步在保存登陸設置之后,如果配置沒(méi)有變化,可以使用默認配置登陸;配置完成之后使用第 6 步,登陸主機。
作者配置如下圖所示。

點(diǎn)擊打開(kāi),彈出如下圖所示對話(huà)框。
有三種選項目,第一個(gè)選項“是”,表示登陸主機并且保存配置到緩存;第二個(gè)選項“否”,表示登陸主機,但是不保存配置;第三個(gè)選項“取消”,表示不登錄,不保存。選擇第一個(gè)選項,第二次登陸就不會(huì )彈出這個(gè)下圖所示的對話(huà)框。

這里選擇“是”,只剩下 PuTTY 使用界面,如下圖所示。輸入賬號 root 和密碼
topeet,搭建好的 Ubuntu 系統默認密碼是“topeet”。

輸入賬號和密碼之后,如下圖所示,已經(jīng)可以遠程控制 Ubuntu16.04 系統了。

7.2.1.4 winscp 工具的使用
用戶(hù)手冊 3.3.5 小節介紹 SSH 工具,在 Ubuntu16.04 上有一定的概率使用不了,本節介紹替換 SSH 文件傳輸的工具 winscp。
winscp 工具是網(wǎng)盤(pán)“iTOP-iMX6 開(kāi)發(fā)板資料匯總(不含光盤(pán)資料)\02_iTOP-iMX6 開(kāi)發(fā)板編譯系統所需要的工具包等\06_QtE5.7 的編譯環(huán)境安裝包\03-QtE5.7 編譯環(huán)境需要的工具\02-WinSCP 文件傳輸工具”目錄下的壓縮包“winscp5131.zip”,解壓之后得到文件夾“WinSCP(SFTP 客戶(hù)端) v5.13.1 中文版”,進(jìn)入該文件夾,如下圖所示。

雙擊“WinSCP.exe”,如下圖所示。彈出登陸框。

如下圖所示,主機名稱(chēng)為 Ubuntu 的 IP 地址,用戶(hù)名直接登陸 root,搭建好的編譯環(huán)境密碼為 topeet,然后點(diǎn)擊按鈕“登陸”。

彈出如下圖所示提示框。有三種選項目,第一個(gè)選項“是”,表示登陸主機并且保存配置到緩存;第二個(gè)選項“否”,表示登陸主機,但是不保存配置;第三個(gè)選項“取消”,表示不登錄,不保存。選擇第一個(gè)選項,第二次登陸就不會(huì )彈出這個(gè)下圖所示的對話(huà)框。

作者這里選擇“是”,如下圖所示,已經(jīng)登陸,左邊是 Windows 目錄,右邊是 Ubuntu的目錄,使用方法比較簡(jiǎn)單,傳文件直接向對應目錄拖動(dòng)即可。

7.2.2 Ubuntu16.04 系統編譯 uboot 和 kernel
通過(guò) Ubuntu16.04 編譯 uboot 和 kernel 鏡像,和使用第五章編譯出來(lái)的鏡像是一摸一樣的。由于 QtE5.7 必須在 Ubuntu16.04 上編譯,為了方便只使用 QtE5.7 的用戶(hù),所以在這一小節中,提供在 Ubuntu16.04 上編譯 QtE5.7 對應的 uboot 和 kernel 鏡像的方法。
uboot 源碼和內核源碼均在 Android 源碼中。
Android 源碼在光盤(pán)目錄“04_源碼_Android4.4 文件系統”下,壓縮包先在 windows下解壓,解壓之后的到單獨的壓縮包“iTOP-iMX6_android4.4.2_20160904.tar.gz”。將“iTOP-iMX6_android4.4.2_20160904.tar.gz”壓縮包解壓到 Ubuntu 下(注意,日期后綴可能會(huì )更新),得到“iTOP-iMX6_android4.4.2”文件夾,進(jìn)入“iTOP-iMX6_android4.4.2”目錄,如下圖所示。

7.2.2.1 編譯器版本
編譯的時(shí)候需要用到交叉編譯工具。具體設置過(guò)程,可以參考“5.2.2 交叉編譯工具的安裝”小節。
7.2.2.2 編譯 uboot
進(jìn)入源碼解壓得到的“iTOP-iMX6_android4.4.2/bootable/bootloader/uboot-imx”目錄,如下圖所示,可以看到腳本“build_uboot.sh”,執行腳本“build_uboot.sh”開(kāi)始編譯 uboot。如下圖所示。

編譯完成后,生成了“u-boot.bin”文件,就是 uboot 的鏡像。iTOP-iMX6 開(kāi)發(fā)板所有的系統通用一套 uboot 源碼和鏡像。如下圖所示。

7.2.2.3 編譯內核
進(jìn)入源碼解壓得到“iTOP-iMX6_android4.4.2/kernel_imx”目錄,使用“vikernel/timeconst.pl”命令打開(kāi)該文件,進(jìn)入到 373 行,并修改為如下圖所示。

保存,退出。
使用“./build_qt_kernel.sh”命令,開(kāi)始編譯內核,如下圖所示。

編譯完成后,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目錄下生成uImage,即是內核鏡像。如下圖所示。

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页