一. 什麼是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' target='_blank'>https://git.openwrt.org/openwrt.git[/code] 3. (可選)更新各軟件包:
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
4. 編譯並查看你的編譯環境是否有遺漏或者不合適的依賴關系,如果有請參考這篇文章:
/content/6425779.html
編譯方法:
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下。
詳細編譯過程可以參考http://wenku.baidu.com/link?url=OsBqSfVuKtryH2hCudEq5qKGB8yueYLTKUWDlF42-5q3pTE4u-hWG2Fmom6aXf3d9XiAK9VLNaMnnkNxfa4OW0KsfCqb2DJGcTzcEneAEWG
7.
需要注意的問題:
(1)如果在編譯過程中遇到問題可以參考我openwrt分類下的問題整理這篇文章。
(2)vmware和irtualbox我都驗證過,都沒有問題。但是要注意,在使用vmware建立虛擬機的過程中硬盤格式選擇IDE格式,默認SCSI格式不成功,現在也不知道什麼原因。