官網安裝編譯推薦:
https://wiki.openwrt.org/doc/howto/buildroot.exigence
https://wiki.openwrt.org/doc/howto/build
https://forum.openwrt.org/viewtopic.php?pid=31794#p31794
1. host
32位主機
~$uname -a Linux yuxi-T530 3.13.0-66-generic #108-Ubuntu SMP Wed Oct 7 15:21:40 UTC 2015 i686 i686 i686 GNU/Linux ~$lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.3 LTS Release: 14.04 Codename: trusty
2. 基礎軟件安裝
這些軟件是openwrt編譯成功或正常使用的前提,可能部分軟件已安裝成功。
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip
sudo apt-get install gettext ocaml-nox ocaml-findlib sharutils mtd-utils u-boot-tools device-tree-compiler
3. 下載openwrt源碼
github:https://github.com/openwrt/openwrt
git clone https://github.com/openwrt/openwrt.git
git clone -b chaos_calmer git://github.com/openwrt/openwrt.git
4. 下載安裝可用feeds
cd openwrt ./scripts/feeds update -a ./scripts/feeds install -a
傳統的linux操作系統在編譯某一個軟件的時候,會檢查其依賴軟件及頭文件是否存在,如果沒有安裝,則會報缺少頭文件或缺少鏈接庫的錯誤,編譯將退出。
feeds是openwrt開發所需要的軟件包套件的工具及更新地址集合,這些軟件包通過一個統一的接口地址進行訪問。這樣用戶可以不用關心擴展包的存儲位置,可以減少擴展軟件包和核心代碼部分的耦合。它由兩部分組成,即擴展包位置配置文件feeds.conf或feeds.conf.default和腳本工具feeds。
update:下載在feeds.conf或feeds.conf.default文件中的軟件包列表並創建索引。-a表示更新所有軟件包。只有更新后才能進行后面的操作。
install:安裝軟件包以及它所依賴的軟件包,從feeds目錄安裝到package目錄,即在package/feeds目錄創建軟件包的軟鏈接。只有安裝之后,在后面執行make menuconfig時,才可以對相關軟件包是否編譯進行選擇。
編譯擴展安裝過程就是將feeds目錄下的軟件包銜接到package/feeds對應目錄下。
feeds.conf由3部分組成,方法,名字和源。支持的feeds方法有3種:
》src-cpy通過從數據源路徑復制數據;
》src-git通過使用git從代碼倉庫地址下載代碼數據;
》src-svn通過使用svn從代碼倉庫地址下載代碼數據。
5. build
openwrt自動化編譯平台:http://buildbot.openwrt.org:8010/