1. 程式人生 > >Ubuntu12.04 LTS編譯openwrt

Ubuntu12.04 LTS編譯openwrt

什麼是OpenWrt

OpenWrt可以被描述為一個嵌入式Linux發行版,(主流路由器韌體有dd-wrt,tomato,openwrt三類),而不是試圖建立一個單一的、靜態的系統。

OpenWrt的包管理提供了一個完全可寫的檔案系統,從應用程式供應商提供的選擇和配置,並允許您自定義的裝置,以適應任何應用程式。

二.開始編譯openwrt

由於最近想在openwrt上移植USB轉串列埠的驅動,所以想重新編譯openwrt我的開發環境是Ubuntu 12.04 LTS虛擬機器用的VMWARE和irtualbox有意思的是,openwrt可以編譯生成

VMDK,這樣我們可以用虛擬機器模擬路由器的硬體環境,在上面跑起openwrt。

1. 首先得安裝一些編譯OPENWRT時要用到的工具:

sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf gawk make gettext gcc binutils patch bz ip2 libz-dev asciidoc subversion

2. 下載原始碼:

cd /home/hndz
sudo mkdir myopenwrt
cd myopenwrt

使用git下載:

git clone https://git.openwrt.org/openwrt.git

3. (可選)更新各軟體包:

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

4. 編譯並檢視你的編譯環境是否有遺漏或者不合適的依賴關係,如果有請參考這篇文章:

編譯方法:

make menuconfig (推薦)
make defconfig
make prereq

5. 安裝LuCI

./scripts/feeds update
./scripts/feeds install -a -p luci

6. 配置編譯

cd openwrt
make v=99

生成的檔案在目錄/bin/x86下。

7. 需要注意的問題:

(1)如果在編譯過程中遇到問題可以參考我openwrt

分類下的問題整理這篇文章

(2)vmware和irtualbox我都驗證過,都沒有問題。但是要注意,在使用vmware建立虛擬機器的過程中硬碟格式選擇IDE格式,預設SCSI格式不成功,現在也不知道什麼原因。