1. 程式人生 > >OpenWRT學習筆記(1)環境部署程式碼下載及編譯

OpenWRT學習筆記(1)環境部署程式碼下載及編譯

一 . 安裝虛擬機器,我選擇安裝ubuntu14.04版本。

二. 安裝編譯工具

  更新ubuntu軟體倉庫中軟體包的索引檔案。

   sudo apt-get update

  安裝如下工具:

  sudo apt-get install subversion

  sudo apt-get install g++ flex patch

  sudo apt-get install libncurses5-dev zlib1g-dev

  sudo apt-get install git-core

  sudo apt-get install libssl-dev

  sudo apt-get install gawk

  sudo apt-get install xz-utils

subversion  版本管理工具。

g++ GNU 工程的c/c++編譯工具。

FLEX (The Fast Lexical Analyzer) 一個快速詞法分析工具。

patch 是將diff檔案應用到原始檔案的工具。打補丁。

libncurses5-dev 用於螢幕終端控制。

zlib1g-dev 是壓縮及解壓縮開發庫。

git-core 大型工程的分散式管理工具。

libssl-dev 是openssl開發庫。

gawk 是GNU工程實踐的awk語言工具。

 xz-util 是xz格式的壓縮工具。

三. 下載程式碼

    OpenWrt社群同時使用svn和git 兩種工具來管理程式碼, svn管理程式碼通常會建立 tags,branches和truck 3個目錄管理程式碼。

  truck 目錄用來儲存開發的主線,一般最新的功能均在trunk目錄提交。

  braches目錄存放分支,用於功能開發完成之後建立分支,修改bug及釋出版本使用。

  tags目錄儲存標籤複製,一個標籤是一個專案在某一時間點的快照,用來給釋出版本的程式碼建立快照,以便多數開發人員基於這個版本進行開發。一般永遠不再修改。

openwrt程式碼在2016年3月將程式碼庫由svn徹底轉到github提供的git託管空間上,因此我們使用git命令來下載程式碼。

openwrt 3個主要版本

分支 chaos calmer 15.05(CC) barrier breaker 14.07(BB) Attitude Adjustment 12.09(AA)
核心 Linux kernel 3.18.21 Linux kernel 3.10 Linux kernel 3.3
git程式碼地址 git://git.openwrt.org/15.05/openwrt.git git://git.openwort.org/14.07/openwrt.git git://git.openwrt.org/12.09/openwrt.git
主要修改

增加大量的3G/4G調變解調器支援

Netfliter效能增加

網路棧多核支援

DNSSEC增強支援

增加procd新的preinit,init,熱拔插及時間通知機制

原生IPV6支援

檔案系統增強

UCI配置增強

網路功能增強

增加並行編譯支援

使用密文密碼

無線驅動更新及穩定性增強

新平臺支援:ramips,bcm2708等等

我選擇BB釋出程式碼進行編譯,因此使用目錄bb下載程式碼

mkdir openwrt_bb

chmod 777 openwrt_bb

cd openwrt_bb

git clone git://git.openwrt.org/14.07/openwrt.git bb

四. 程式碼下載完成,開始配置和編譯。

1. 更新和安裝所有可選軟體包

./scripts/feeds update  //更新最新的包定義

./scripts/feeds install -a //安裝所有包

feeds命令將安裝擴充套件程式碼包編譯選項,如果不執行該命令,在menuconfig配置時將沒有選擇這些擴充套件包的機會。

2. 進行編譯配置

make defconfig

make menuconfig

選擇自己所需的配置

3. 編譯

make V=s 輸出編譯時每一個動作.