導航:首頁 > 源碼編譯 > openwrt編譯ip

openwrt編譯ip

發布時間:2022-12-15 03:17:00

『壹』 openwrt的IP修改了怎麼保存

【注】本文是基於Ubuntu14.04+Openwrt17.01開發的教程。

5.1在開發板上設置IP
由於我們在開發過程中,可能會用到其他路由器,而它們的IP一般都是192.168.1.1,為了讓開發板上的IP不與這些路由器的IP沖突,我們需要修改開發板上的IP地址。

接下來,我們就通過在開發板上面修改配置文件的方式來修改IP地址。首先開發板上電,等它啟動一會兒,然後回車進入控制台。如圖1所示。

我們可以在控制台中輸入ifconfig命令來查看開發板的IP地址。

#ifconfig

如圖2所示,輸入ifconfig命令並回車後,我們就得到了開發板的IP地址,此時是開發板的默認IP地址192.168.1.1。

接下來,我們就來修改IP地址,將它給為192.168.0.10。在開發板上面,通過修改/etc/config目錄下的network配置文件,可以達到目的。首先輸入一些命令。

#vi etc/config/network

此時,我們變可以看到network配置文件的內容如下。

此時,我們只需要將紅色部分的IP地址改為192.168.0.10,然後保存退出,然後再重啟開發板,就發現IP地址被改為192.168.1.111了。

5.2在源代碼中設置IP
前面是通過在開發板上面修改配置文件的方式來修改IP,這樣做雖然簡單,但是每當我們重新燒寫固件後,都要通過這個方式重新修改IP,這樣太麻煩。那麼,接下來我們就來通過修改源碼的方式,來修改IP。

如果大家對OpenWrt系統的啟動流程有一定的了解的話,我們就知道,系統在啟動的時候,會通過運行config_generate這個腳本程序來設置IP等基本參數。該腳本文件位於系統源碼的openwrt /package/base-files/files/bin目錄,那麼接下來我們就來修改該腳本文件,從而修改IP地址。

#cd ./package/base-files/files/bin
#vim config_generate

然後我們就可以在該腳本程序中看到,它是想IP地址設置為192.168.1.1的。

那麼,我們只需要將藍色部分的IP改為192.168.1.11即可。如下圖所示。

修改完成以後,然後保存退出。最遲回到OpenWrt系統源碼的頂層目錄,然重新編譯系統即可。

#make V=99

將新編譯出來的固件,重新燒到開發板上面,然後再查看IP,就發現IP的初始值已經是192.168.1.111了。

————————————————
版權聲明:本文為CSDN博主「帥氣滴點C」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/_31437863/article/details/89312405

『貳』 如何編譯OpenWrt

搭建編譯環境。編譯建議在Linux下進行。我的系統是Linux mint 17,執行以下命令,構建編譯環境:

sudo apt-get update
sudo apt-get install git-core build-essential

獲取openwrt源碼。在當前用戶主目錄下執行

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

等待代碼下載。結束後,目錄下會出現openwrt文件夾
配置軟體源。進入openwrt目錄,執行

./scripts/feeds update -a

./scripts/feeds install -a

檢查編譯環境是否完整:

make defconfig

make prereq

根據提示信息安裝需要的軟體包。如果提示類似

「tmp/.config-package.in:22022:warning: multi-line strings not supported」

的信息,打開 openwrt/tmp/.config-package.in,定位到對應行,添上丟掉的一個引號就可以了。
編譯選項:

執行 make menuconfig,根據路由器情況,選擇 Target System 和 Subtarget。如意雲一代和極壹S的 Target System 均為 Ralink RT288x/RT3xxx 。對於Subtarget ,前者為 MT7620n based boards ,後者為 MT7620a based boards。

其他選項根據個人喜好選擇。一般來說要選中LuCI界面,選中中文語言包等等。
開始編譯:

執行 make -j2 V=s 進行編譯。-j後面的數字是電腦物理CPU數量加一。V=s可以顯示出編譯的詳細信息。首次編譯大概需要幾個小時的時間。
錯誤排查:

編譯失敗,一般有兩種情況:

1.代碼下載鏈接失效。首次編譯時,編譯程序會實時從網上下載一些軟體包的代碼。如果下載鏈接失效,編譯就會失敗。這時需要根據軟體包的名稱,從網上自行下載,然後放在 openwrt/dl/ 目錄下,執行 make -j2 V=s 繼續編譯即可。

2.軟體包自身有問題。這時重新執行 make menuconfig ,取消對應軟體包選中即可。這種情況比較少見,目前已知的有 tor 等。

編譯成功,但沒有生成固件。這種情況一般是因為選中的軟體包過多,導致固件大小超過16MB。重新執行 make menuconfig,去掉一些軟體包,重新執行編譯即可。
得到固件。在排除了所有錯誤後,現在終於得到了固件。對於如意雲RY-1,固件在 openwrt/bin/ramips 目錄下,形如

openwrt-ramips-mt7620n-rt-n14u-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-mlw221-squashfs-sysupgrade.bin
openwrt-ramips-mt7620n-wr8305rt-squashfs-sysupgrade.bin

等等。

『叄』 openwrt編譯需要哪些依賴庫

openwrt mysql引用庫
1. 用opkg安裝myserver及其依賴包
opkg update
opkg install libpthread libncurses libreadline mysql-server

2. 創建mysql數據目錄
mkdir -p /home/data/mysql
mkdir -p /home/data/tmp

3. 修改配置文件
vi /etc/my.cnf
datadir = /home/data/mysql/ #數據保存路徑
tmpdir = /home/data/tmp/
bind-address = 0.0.0.0 #綁定的ip地址

4. 初始化建庫
mysql_install_db --force

5. 啟動mysql,並設定開機啟動
/etc/init.d/mysqld start
/etc/init.d/mysqld enable

6. 設定密碼
mysqladmin -u root password 'new-password'

『肆』 Openwrt ipv6 怎麼設置

在OPWNERT裡面安裝 6relayd插件就行了。

說明
本文所述方法只用於原生支持 IPv6 接入的網路環境(典型例子如教育網)。
本文用來解決這一問題:本來我的網路環境是支持 IPv6 的,但是接入到 OpenWrt 路由器後,我的設備就沒法使用 IPv6 了;怎麼讓路由器下的設備也能用上原生的 IPv6 呢?
完成以下操作約耗時 10 分鍾。
方案
使用 6relayd 這個軟體包。介紹(link):

一、安裝 6relayd。
在 OpenWrt 12.09(Attitude Adjustment)中,官方源默認不提供 6relayd。解決辦法有兩個:
自己編譯帶有 6relayd 的固件(或 ipk 包);
如果你的路由器是 ar71xx 架構(比如 TP-Link WR703N、NETGEAR WNDRMAC),可以使用 我編譯好的 ipk 包。
二、配置 6relayd。
編輯 /etc/config/6relayd,加入一組配置項:
config relay
option network 'wan lan' # note the order
option rd 'relay'
option dhcpv6 'relay'
option ndp 'relay'
然後 /etc/init.d/6relayd start 開啟 6relayd 服務即可。
現在連接至 OpenWrt 的設備可以獲得 IPv6 地址了:
連接至 OpenWrt 的設備可以獲得 IPv6 地址了

『伍』 Openwrt編譯時候怎麼修改LAN的默認IP

https://forum.openwrt.org/viewtopic.php?id=40801

Make a directory files/ in the toplevel dir and put preconfigured settings there, e.g.
files/etc/passwd
files/etc/shadow
files/etc/config/network
...

『陸』 【路由器】OpenWrt 手動編譯 ipk

.ipk 文件是可以通過 OpenWrt 的包管理軟體 opkg 直接安裝,好比 .deb 文件與 apt 的關系。雖然官方的軟體倉庫已經很豐富了,但是有時仍然需要從源碼編譯一些第三方的軟體使用,例如銳捷認證等

但是由於路由器平台通常與常用的伺服器或者個人 PC 的處理器架構不同,並且路由器的處理器本身性能較弱,幾乎不可能直接在路由器上進行編譯生成 .ipk 文件,因此需要交叉編譯來實現

而官方的 OpenWrt 倉庫就提供了一個方便使用的交叉編譯環境

以 Debian / Ubuntu 為例,參考 官網給出的要求 ,可以通過下面命令來進行安裝依賴包

安裝/更新好這些依賴之後,就可以通過 git 拉取 OpenWrt 倉庫了

通常由於倉庫較大以及網速問題,可能會需要很久,其實可以通過 --depth 來限制拉取的倉庫深度,或者通過鏡像站來加速拉取,當然也可以兩者同時採用

進入 openwrt 倉庫後,首先需要更新軟體包列表 feeds ,它是在 OpenWrt 中共用位置的包的集合。運行以下命令即可更新內置軟體包列表並鏈接到編譯工具中:

通常使用圖形化菜單界面來進行配置編譯選項,依次配置處理器架構、具體的處理器型號以及設備

以小米 mini 路由器為例,應該將他們配置成如下圖所示

這一步就是獲取對應設備交叉編譯所需的編譯鏈

可以先搜索有沒有已經配置好的含有 Makefile 的倉庫,有了適配過的 Makefile 文件就可以很方便的來編譯源碼生成 .ipk 文件了

以 minieap 為例, github 上有已經完成的倉庫,依次可以直接拉取來編譯

在拉取完成倉庫後,就可以再次配置編譯選項,將需要編譯成 .ipk 的功能配置成模塊編譯,也就是標記成 M

對於 minieap 來說,在 Network 找到對應選項並配置成 M 即可,如下圖

配置完成後就可以進行編譯了,編譯命令也很簡單,以 minieap 為例如下所示

編譯完成後, .ipk 文件會生成在 ./bin/packages/<YourArchitecture>/base 目錄下,將其拷貝到路由器上就可以通過 opkg 進行安裝使用了

『柒』 如何編譯OpenWrt

准備工作
在開始編譯Openwrt之前需要您做些准備工作;與其他編譯過程一樣,類似的編譯工具和編譯環境是必不可少的:
一個構建OpenWrt映像的系統平台,簡單說就是准備一個操作系統(比如Ubuntu、Debian等);
確保安裝了所需的依賴關系庫, (在debian系統中就是安裝各種需要的軟體包)
OpenWrt源代碼副本
首先, 開機登陸到支持編譯Openwrt的操作系統(廢話了)。實體機或者虛擬機(Vmware 或者 Qemu)里的操作系統都行,這里推薦使用Linux系統。 bsd和mac osx系統也可以編,但不推薦,且未驗證是否可編譯成功。下文假定您使用的是Debian操作系統,使用 apt-get 來管理包. 替代的選擇是 Ubuntu (分支 Kubuntu, Xubuntu 等即可)。
第二步, 就是安裝所需要的各種軟體包, 包括編譯器,解壓工具,特定的庫等. 這些工作可以簡單的通過鍵入以下命令 (通常需要root 或者是 sudo 許可權),以root許可權安裝下列軟體包(可能並不完整,會有提示,提示缺少即裝就可以了):
32位(x86)請執行下列命令:
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev

64位(x86_64)請執行下列命令(多裝了哪些庫或軟體包呢?請您仔細看一看哦):
# apt-get install build-essential asciidoc binutils bzip2 gawk gettext \
git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs \
lib32gcc1 libc6-dev-i386

參考 本列表中 所列的編譯環境所需要軟體包或庫。
某些依賴的為庫或軟體包也許操作系統中已經安裝過,此時apt-get會作出提示(提示您忽略或重新安裝的),別緊張,放輕鬆些,編譯Openwrt不會像編譯DD-WRT那樣難的(至少本人是體會到了編譯DD-WRT的難)。
最後下載一份完整的 Openwrt 源碼到編譯環境中。關於Openwrt的源代碼下載,途徑有二,一是通過 svn ,一是通過 git,建議使用 svn ,因為Openwrt主要以 svn 來維護Openwrt系統的版本。另外,請注意Openwrt中不同的分支版本,一個是用得較多的開發快照,俗稱 trunk,二是穩定版,俗稱 backfire。

『捌』 怎樣知道openwrt IP地址

內網ip:不同終端連上路由被分配到的ip不同
手機:你可以用手機連上路由,再通過手機終端模擬器輸入ip -f inet addr 回車獲得ip
windows電腦:win電腦連上路由器,在命令符下輸入ipconfig,其中ipv4就是你的ip

外網ip:直接網路ip即可

路由器ip:一般是192.168.1.X (X多數是0,1,2)。不行也可以在通過ipconfig找網關,那個就是你的路由ip

推薦:在openwrt里,你也可以在webshell(網頁命令)里輸入ifconfig,可以看到所有ip,mac地址
如果沒有網頁命令界面,可以通過putty以ssh訪問openwrt,同樣輸入ifconfig,可以看到所有ip

閱讀全文

與openwrt編譯ip相關的資料

熱點內容
ipad怎麼把app資源庫關了 瀏覽:299
量柱比前一天多源碼 瀏覽:416
電子書app怎麼上傳 瀏覽:66
國家反詐中心app注冊怎麼開啟 瀏覽:804
全波差分傅里葉演算法窗長 瀏覽:41
程序員如何講自己做過的項目 瀏覽:7
程序員要看的書頸椎 瀏覽:946
php文章cms 瀏覽:553
CSS權威指南第三版PDF 瀏覽:496
android怎麼搭建框架 瀏覽:184
正宗溯源碼大燕條一克一般多少錢 瀏覽:917
電腦感染exe文件夾 瀏覽:916
wpsppt怎麼轉pdf格式 瀏覽:88
騰訊文檔在線編輯怎麼添加密碼 瀏覽:880
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664