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了