vmware安裝openwrt | 包含代碼下載,編譯,安裝,配置和使用


概述

OpenWrt 可以被描述為一個嵌入式的 Linux 發行版,(主流路由器固件有 dd-wrt,tomato,openwrt三類)而不是試圖建立一個單一的、靜態的系統。OpenWrt的包管理提供了一個完全可寫的文件系統,從應用程序供應商提供的選擇和配置,並允許您自定義的設備,以適應任何應用程序。對於開發人員,OpenWrt 是使用框架來構建應用程序,而無需建立一個完整的固件來支持;對於用戶來說,這意味着其擁有完全定制的能力,可以用前所未有的方式使用該設備。

如果對Linux系統有一定的認識, 並想學習或接觸嵌入式 Linux 的話, OpenWRT很適合。 而且OpenWRT支持各種處理器架構,無論是對ARM,X86,PowerPC或者MIPS都有很好的支持。 其多達3000多種軟件包,囊括從工具鏈(toolchain),到內核(linux kernel),到軟件包(packages),再到根文件系統(rootfs)整個體系,使得用戶只需簡單的一個make命令即可方便快速地定制一個具有特定功能的嵌入式系統來制作固件。
一般嵌入式 Linux 的開發過程, 無論是 ARM, PowerPC 或 MIPS 的處理器, 都必需經過以下的開發過程:
1、 創建 Linux 交叉編譯環境;
2、建立 Bootloader;
3、移植 Linux 內核;
4、建立 Rootfs (根文件系統);
5、安裝驅動程序;
6、安裝軟件;
熟悉這些嵌入式 Linux 的基本開發流程后,不再局限於 MIPS 處理器和無線路由器, 可以嘗試在其它處理器, 或者非無線路由器的系統移植嵌入式 Linux, 定制合適自己的應用軟件, 並建立一個完整的嵌入式產品。

編譯openwrt

下載openwrt

下面是我個人拉的一個openwrt分支,項目通過repo(Repo工具使用 - whilewell - 博客園)進行管理下載,代碼均放在碼雲上面。整套代碼編譯完成后占用16G左右的空間。

也可以下載openwrt官方的tags代碼, 該代碼中不包含組件源碼,所以在第一次編譯的時候需要從外網下載源碼包,編譯的時間會特別特別的久。

mkdir openwrt && cd openwrt
repo init -u https://gitee.com/whilewell/manifest.git -b master -m openwrt.xml --no-repo-verify --repo-url=https://gitee.com/whilewell/git-repo.git --repo-branch=master
repo sync -c -j4

下載完成后,代碼結構:其中dl,feeds_dl,topdir,.repo非原生,個人添加
image

編譯openwrt

1. 下載feeds

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

2. 進行配置

make menuconfig

執行下面編譯命令后,會彈出交互窗口來進行配置,選擇需要修改的編譯選項:
Target Systme:X86
Target Images:vmdk
luci:開啟

image
配置完成后,在代碼根目錄會生成一個.config文件,這就是所有代碼的配置參數。

4. 然后執行下面命令,下載開源組件【過程可選】:該過程默認包含在make -j4 V=s過程中,單獨執行可以確認下載過程中的問題

  1. 如果使用官方源碼,下載時間會比較久,個人拉的分支可以節省很多時間
  2. 也可以復制我分支中dl目錄下的源碼到個人項目中
  3. 如果make menuconfig中選擇了其它特性, 可能會存在下載新開源組件的可能
make download -j4 V=s

5. 開始編譯:也可以通過make -j4 V=s 2>&1 | tee build_log 來記錄編譯過程的日志

make -j4 V=s

編譯完成后的目錄結構:其中bin,build_dir,feeds,staging_dir,tmp目錄為編譯新增
image

6. 取出編譯生成的openwrt鏡像文件openwrt-x86-generic-generic-squashfs-combined.vmdk

wsk@wsk:~/openwrt$ find ./ -name "*vmdk"
./bin/targets/x86/generic/openwrt-x86-generic-generic-squashfs-combined.vmdk
./bin/targets/x86/generic/openwrt-x86-generic-generic-squashfs-combined-efi.vmdk
./build_dir/target-i386_pentium4_musl/linux-x86_generic/tmp/openwrt-x86-generic-generic-squashfs-combined.vmdk
./build_dir/target-i386_pentium4_musl/linux-x86_generic/tmp/openwrt-x86-generic-generic-ext4-combined.vmdk
./build_dir/target-i386_pentium4_musl/linux-x86_generic/tmp/openwrt-x86-generic-generic-squashfs-combined-efi.vmdk
./build_dir/target-i386_pentium4_musl/linux-x86_generic/tmp/openwrt-x86-generic-generic-ext4-combined-efi.vmdk

安裝openwrt

1. 創建openwrt虛擬機
image
2. 加載openwrt虛擬機
image

配置openwrt

配置地址

vm配置

選擇Nat模式后,在openwrt中還可以上網
image

openwrt配置

uci set network.lan.proto=dhcp
uci commit network
/etc/init.d/network restart (此過程可選)
reboot

查看ip地址

終端中輸入ip addr后,br-lan端口下面顯示的192.168.83.130就是ip地址,后面可以通過該地址進行訪問
image

訪問openwrt

webui訪問

訪問http://192.168.83.130地址(其中的ip地址是通過上面過程獲取),然后可以在里面做一些配置操作。
image

終端訪問

鏈接192.168.83.130地址22端口即可登錄(密碼是webui首次登錄的passwd)
image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM