1, 設置編譯環境
1.1下載安裝需要用到的軟件組件
首先確保網絡暢通(注意有時網絡會被和諧了,有一些軟件依賴源下載安裝失敗,設置個vpn),用以下命令批量安裝需要用到的開源組件,
$ sudo apt-get install gcc g++ binutilspatch bzip2 flex make gettext \
pkg-config unzip zlib1g-dev libc6-dev subversionlibncurses5-dev gawk \
sharutils curl libxml-parser-perl ocaml-nox
1.2安裝repo和git
repo 的在這裏的作用是通過讀取XML文件從不同的軟件庫中下載和更新軟件包,注意在ubuntu中repo 腳本必須安裝在~/bin目錄下。Git是linux下軟件版本管理工具
手動添加repo目錄:
$mkdir –p ~/bin
添加路徑:
$PATH=~/bin
下載repo腳本到~/bin目錄:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
添加可執行權限:
$chmod 777 ~/bin
安裝git
$apt-get install git
2,下載qsdk相關文件
$ repo init -ugit://codeaurora.org/quic/qsdk/releases/manifest/qstak -b
release -m caf_AU_LINUX_QSDK_RELEASE_BANANA_SW_TARGET_ALL.2.7.029.xml
$ repo sync
$ mkdir -p qsdk/dl
$ tar xjvf qsdk-qca-wifi-2.7.029.tar.bz2 -C qsdk
$ tar xjvf qsdk-qca-wlan-2.7.029.tar.bz2 -C qsdk
$ tar xjvf qsdk-qca-shortcut-fe-2.7.029.tar.bz2 -Cqsdk
3,編譯軟件
3.1. 安裝feeds腳本文件,package/symlinks是更新或安裝軟件包的目標或來源, 使用feeds管理
$ cd qsdk
$ make package/symlinks
3.2. 複製用於編譯的配置文件,SDK中存在兩個配置,一個是premium另一個是Wireless,可以複製qca/configs/qca955x.ln/ar71xx_<profile>.config中的其中一個配置作爲我們編譯的一個初始配置
$ cp qca/configs/qca955x.ln/ar71xx_<profile>.config .config
3.3. 重新生成一個完整的配置文件並開始編譯
$ make defconfig
$ make V=s
一旦編譯完成就可以在qsdk/bin/ar71xx/路徑下查看到相應的firmware了