1. 程式人生 > >openwrt學習之虛擬機器vm下編譯執行測試

openwrt學習之虛擬機器vm下編譯執行測試

之前成功編譯出來openwrt的img韌體,現在進一步學習,編譯一個基於x86cpu的映象,並用vm跑起來,自己學著先配置一下

1.更新openwrt

./scripts/feeds update -a

2.更新完成後,安裝需要的更新依賴包

/scripts/feeds  install  -a

看到網上說有的需要把LUCI編譯進核心,之前沒有接觸過,不知道是什麼,查了一下,是路由器web的配置介面(基於LUA指令碼),這樣就不需要命令列配置了,現在路由器基本都是這種做法

3在核心編譯中加入luci的命令:

./scripts/feeds update packages luci

./scripts/feeds install -a -p luci

執行這兩條命令後,在編譯核心的時候才會出現LUci的選項

4編譯配置

make menuconfig

1. Target System (x86) ---> (X) x86  (虛擬機器vm要執行,必須x86選項)

2. 配目標檔案系統為 EXT2

        Target Images ---> [*] ext4

        Target Images ---> [*] Build VMwareimage files (VMDK)

編譯成vm能認識的可以直接在vm上執行的虛擬硬碟

接下來配置web 管理的UI介面

3配 Web UI :

1) Base system --->  uci................ Utility for the UnifiedConfiguration Interfa 

2) LuCI都選上 

3) Network ---> 

uhttpd........................ uHTTPd -tiny, single threaded HTTP server ---> 

uhttpd-mod-lua... uHTTPd - tiny, singlethreaded HTTP server (Lua plugin)

5編譯make -j4 V=99

中間出錯了,error: ext4_allocate_best_fit_partial: failed to allocate 720 blocks, out of space?

是因為我編譯進去的東西太多,導致root filesystem partition size不夠用,重新配置

make menuconfig

Target Images

        Root filesystem partition size (in MB)

將預設的48改成96,重新編譯,成功

轉自  http://blog.csdn.net/zxygww/article/details/24802443