1. 程式人生 > >vmware搭建openwrt (二)

vmware搭建openwrt (二)

    這幾天有空, 折騰了一下原始碼編譯的方式, 還這不是一般的麻煩, 不過也當練練手了。 

    首先下載原始碼:

git  clone  git://git.archive.openwrt.org/15.05/openwrt.git

   下載完長這樣 :

  安裝必要的依賴:

sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc

  獲取最新的包並安裝:

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

  配置需要的功能:  

make menuconfig

  一, 配置Target System 為 X86 :

  

  

  二, 由於我編譯出來的系統image要用於vmware的x86虛擬機器,所以需要vmdk字尾的image, 這裡需要配置Target Images :

  

  

  三, 新增一些基本工具, 比如opkg, uci等,後面經常要用到:

  

  

  四, 因為openwrt可以通過網頁配置很多選項,這個功能就是LuCI , 因為不熟悉這個,所以把 LuCI 所有選項都勾上, 並且新增中文支援:

  

  

   

    

 五, Save ,儲存退出。 

 六, 執行make  V=s , 等待一兩個小時, 中間如果有提示缺少依賴, 根據提示安裝即可。 

 編譯完後,生成我們想要的系統image : 

 上圖中 openwrt-x86-generic-combined-ext4.vmdk 就是我們需要的。

 

 這裡配置的ip是192.168.1.5, 通過網頁登入上去, 會報關於Failsafe模組的錯:

 

  進到 openwrt 裡面, vim  /usr/lib/lua/luci/controller/failsafe/failsafe.lua  ,   跳轉到第 73 行: 

  

  修改為 :

  

 儲存, 退出,  reboot系統 。 

 再登入192.168.1.5,   已經正常訪問了 !!

  設定帳號和密碼即可登入。  

  還有一點要注意的是!!!!

  現在是使用橋接的方式配置的網路, 預設沒有設定閘道器和dns, 所以沒有辦法訪問外網 。

  可以修改 /etc/config/network 檔案:

  

  然後執行 : 

  /etc/init.d/network  restart
  /etc/init.d/dnsmasq  restart  

  其中我發現配置完後 , 可以ping通百度, 如果只執行 /etc/init.d/network  restart, 就不能ping通百度, 必須再執行一次/etc/init.d/dnsmasq  restart才可以。

   網上說是因為實際使用的dns配置檔案是 /etc/resolv.conf.auto, 具體我還沒去研究, 先MARK一下!! 

   好了, 至此, 就可以正常訪問外網了!!