下載sdk編譯openwrt
Ⅰ 怎樣製作基於OpenWrt的SDK
linux系統,需安裝如下依賴包:-c++gettextmakencurses-develpatchunzipwgetzlib-develgit這個不明白,直接安裝就可以了。安裝完之後要是還有問題就需要根據看出錯信息自己下載依賴包了。2、下載OpenWRT源碼我的工作目錄:/workPorjectCode/openwrtsvncosvn://svn.openwrt.org/openwrt/branches/backfire(開發版本,不穩定,不建議下載,但在這個版本中有MW4530R配置項。還是下載個使用)svncosvn://svn.openwrt.org/openwrt/branches/backfire(目前穩定版本,建議,但是這個版本配置項中少了好多支持。)3、檢查配置環境必須使用非root用戶進行操作,添加一個普通用戶。(注意:如果使用root進行操作的話,會提示檢查失敗:Checking'non-root'failed.)修改可在root用戶下編譯修改include/prereq-build.m文件第15行為:#["$$(shellwhoami)"!="root"]4、下載feedsFeeds是OpenWrt環境所需要的軟體包套件。最重要的feeds有:『packages』一些額外的基礎路由器特性軟體『LuCI』OpenWrt默認的GUI『Xwrt』另一種可選的GUI界面需要能夠連接互聯網。在下載之前可以通過查看』feeds.conf.default』文件,來檢查哪些文件需要包含在環境中。更新所有packages包並安裝,只有安裝之後,在後面的makemenuconfig時,才可以對相關配置進行勾選。
Ⅱ openwrt sdk下編譯uboot(添加usb埠功能)
在ehci-ra.c的ehci_hcd_init中加入MT7620_ASIC_BOARD定義:
MT7620#usbreset
(Re)startUSB...
USB:inusb_lowlevel_init
Mediatek/_length16
Register1111NbrPorts1
USBEHCI1.00
scanningbusfordevices...2USBDevice(s)found
scanningbusforstoragedevices...1StorageDevice(s)found
MT7620#usbinfo
1:Hub,USBRevision0.2
-u-bootEHCIHostController
-Class:Hub
-PacketSize:64Configurations:1
-Vendor:0x0000Proct0x0000Version0.1
Configuration:1
-Interfaces:1SelfPowered0mA
Interface:0
-AlternateSettings0,Endpoints:1
-ClassHub
-
2:MassStorage,USBRevision2.0
-HPUSB2.0Flash00CCCBB99999
-Class:(fromInterface)MassStorage
-PacketSize:64Configurations:1
-Vendor:0x0204Proct0x6025Version1.0
Configuration:1
-Interfaces:1BusPowered100mA
Interface:0
-AlternateSettings0,Endpoints:2
-ClassMassStorage,Transp.SCSI,Bulkonly
-Endpoint1OutBulkMaxPacket512
-Endpoint1InBulkMaxPacket512
Ⅲ openwrt怎麼通過sdk編譯
先查詢出article,為持久態後再執行刪除。
修改後的代碼為:
@RequestMapping("/articledelete.do")
public String deleteArticle(Long id){
Article a = articleService.findById(id);
articleService.delete(a);
return "redirect:/user/articlelist.do";
}
Ⅳ 如何編譯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跑千兆需要多大內存
64m及以上。
要確定硬體支持,主要是主晶元是否支持,然後再看快閃記憶體和內存是否夠用,如果不夠,把內存換好之後再換快閃記憶體,一般先用編程器把OPENWRT刷入快閃記憶體再焊到板上。
openwrt默認沒有rtl8111專屬的r8168驅動,默認使用r8169驅動兼容。但是用iperf3實測內網只能跑滿880m而且速度不太穩定。可以用openwrt官方系統直接下載對應sdk去編譯,編譯出來ipk安裝後重啟。
Ⅵ openwrt-SDK編譯成功但找不到ipk
解壓之後就是OpenWrt-SDK-ar71xx-for-linux-i686-gcc-4.6-linaro_uClibc-0.9.33.2,此目錄結構跟openwrt的目錄結構基本一致
[cpp] view plain
song@song-virtual-machine:attitude_adjustment# ls bin/ar71xx/OpenWrt-SDK-ar71xx-for-linux-i686-gcc-4.6-linaro_uClibc-0.9.33.2
bin Config.in docs include logs package Packages.gz rules.mk staging_dir tmp
build_dir dl feeds.conf.default LICENSE Makefile Packages README.SDK scripts target
[cpp] view plain
song@song-virtual-machine:attitude_adjustment# ls
bin build_dir dl feeds.conf.default LICENSE Makefile README scripts target toolchain
BSDmakefile Config.in docs feeds include
Ⅶ 如何編譯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
等等。