如何编译OpenWrt

\u5982\u4f55\u7f16\u8bd1OpenWrt

\u672c\u6559\u7a0b\u7684\u7f16\u8bd1\u73af\u5883\uff1awin7 \u4e13\u4e1a\u7248+VMwareWorkstation6.5\u865a\u62df\u673a+Ylmf OS 3.0
\u7f16\u8bd1\u7684\u8fc7\u7a0b\u4e2d\u8981\u4fdd\u6301\u7535\u8111\u8054\u7f51
\u642d\u5efa\u7f16\u8bd1\u73af\u5883
\u5e94\u7528\u7a0b\u5e8f--\u9644\u4ef6--\u7ec8\u7aef
sudo apt-get update (\u66f4\u65b0\uff09
\u5b89\u88c5\u7f16\u8bd1\u9700\u8981\u7684\u7ec4\u4ef6\uff1a
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
\u7f16\u8bd1\u73af\u5883\u642d\u5efa\u5b8c\u6210
mkdir openwrt \u521b\u5efa\u4e00\u4e2aopenwrt\u6587\u4ef6\u5939
cd openwrt \u8fdb\u5165openwrt\u6587\u4ef6\u5939
svn co svn://svn.openwrt.org/openwrt/branches/backfire \u4e0b\u8f7d\u5b98\u7f51\u7684\u6e90\u7801
./scripts/feeds update -a \u66f4\u65b0\u8f6f\u4ef6\u5305
./scripts/feeds install -a \u5b89\u88c5\u8f6f\u4ef6\u5305
make menuconfig \u8fdb\u5165\u5b9a\u5236\u754c\u9762\uff08\u91cc\u9762\u53ef\u4ee5\u9009\u62e9\u82af\u7247\u7684\u578b\u53f7\uff0c\u96c6\u6210\u7684\u7ec4\u4ef6\u7b49\u7b49\uff0c\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u9009\u62e9\uff09
defconfig
make V=99 \uff08\u5f00\u59cb\u7f16\u8bd1\uff09
\u5269\u4e0b\u7684\u5c31\u662f\u7b49\u5f85\u4e86\uff0c\u7b2c\u4e00\u6b21\u7f16\u8bd1\u9700\u8981\u7684\u65f6\u95f4\u76f8\u5bf9\u6bd4\u8f83\u957f\uff0c\u8fd9\u4e2a\u8ddf\u4f60\u7684\u7535\u8111\u914d\u7f6e\u548c\u7f51\u901f\u6709\u5173\u3002


\u4e0b\u9762\u4ee5\u7f16\u8bd1TP-LINK 741N\u7684openwrt\u56fa\u4ef6\u4e3a\u4f8b\uff0c\u53ea\u7f16\u8bd1\u57fa\u672c\u7684\u529f\u80fd\uff1a

make menuconfig
Target System---AR71xx/AR7240/AR913x/AR934x CPU\u578b\u53f7
Target Profile---TP-LINK 741
LuCI\u2014>Collections\u2014\u2013 luci \u6dfb\u52a0Luci
LuCI\u2014>Translations\u2014- luci-i18n-chinese \u6dfb\u52a0\u4e2d\u6587
EXT----YES
make V=99 \u5f00\u59cb\u7f16\u8bd1
\u6210\u529f\u540e\u5728bin\u6587\u4ef6\u5939\u91cc\u6709\u7f16\u8bd1\u597d\u7684\u56fa\u4ef6\u3002

OpenWrt\u7f16\u8bd1\u73af\u5883\u642d\u5efa\u548c\u7f16\u8bd1\u65b9\u6cd5 \u4e00\u3001 \u66f4\u65b0\u5f00\u53d1\u7cfb\u7edf\u3002 \u5b89\u88c5\u5b8cubuntu \u540e\uff0c\u91cd\u65b0\u5f00\u673a\u7684\u65f6\u5019\uff0c\u4f1a\u6709\u4e00\u4e2aVMware tools \u5b89\u88c5\u7684\u63d0\u793a\u754c\u9762\uff0c\u8010\u5fc3\u7b49\u5f85\uff0c\u7b49\u5230VMware tools \u5b89\u88c5\u597d\u540e \u56e0\u4e3a\u66f4\u65b0\u7cfb\u7edf\u548c\u5b89\u88c5\u4e00\u4e9b\u5de5\u5177\u5305\u9700\u8981\u7528\u5230\u7f51\u7edc\uff0c\u6240\u4ee5\u8fdb\u5165ubuntu\u7684\u754c\u9762\u540e\uff0c \u5c06u...

  准备工作
  在开始编译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编译环境搭建和编译方法
  
  一、 更新开发系统。
  安装完ubuntu 后,重新开机的时候,会有一个VMware tools 安装的提示界面,耐心等待,等到VMware tools 安装好后
  因为更新系统和安装一些工具包需要用到网络,所以进入ubuntu的界面后,
  将ubuntu的网络设置为NAT网络连接模式(默认为NAT),
  以上就绪后,更新开发系统的软件
  1、首先备份Ubuntu 10.04源列表
  sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup (备份下当前的源列表) 2、修改更新源
  sudo gedit /etc/apt/sources.list (打开Ubuntu 11.10源列表文件) 3、使用
  http://hi.baidu.com/pobenliu/blog/item/2180dc3502933c375bb5f5a5.html
  网站下的一个更新源贴到sources.list文件中(“#”开头的那一行为注释,可以直接复制进文件中) ,使用这里的源主要是为了提高下载速度,用官方的会比较慢。
  4、通知ubuntu启用新的更新源
  sudo apt-get update
  
  二、 安装编译OpenWrt需要用到的软件包:
  命令如下:
  sudo apt-get install g++ libncurses5-dev zlib1g-dev bison flex unzip
  autoconf gawk unzip make gettext gcc binutils patch asciidoc bzip2 libz-dev libc6-dev linux-headers-2.6.32-38
  注意,红色部分的版本根据自己的内核版本来修改,可以通过uname –a 来查看。
  三、 安装svn。
  由于在后面需要用到svn 来下载OpenWrt,所以需要先安装svn。
  由于使用命令 sudo apt-get install subversion来安装的版本最新也只是
  1.6.6版本,为了和windows 上的版本同步,所以需要下载安装包,进行手工安装。

  
  

  1、先下载两个包,
  subversion-1.7.2.tar.gz
  subversion-deps-1.6.1.tar.gz 2、拷贝到/home目录下,解压:
  tar -zxvf subversion-1.7.2.tar.gz
  tar -zxvf subversion-deps-1.6.1.tar.gz 3、进入目录,准备编译安装: cd subversion-1.7.2 执行:./configure
  安装遇到的第一个error: checking for APR... no
  configure: WARNING: APR not found
  The Apache Portable Runtime (APR) library cannot be found. Please install APR on this system and supply the appropriate --with-apr option to 'configure' 解决办法: 到tar -zxvf subversion-deps-1.6.1.tar.gz 解压的目录下,有一个apr的文件夹,放到subversion-1.7.2下即可 cp -rf ../subversion-1.6.1/apr .
  4、再重新执行./configure 命令 遇到第二个error:
  checking APR version... 1.3.3
  configure: Apache Portable Runtime Utility (APRUTIL) library configuration
  checking for APR-util... no
  configure: WARNING: APRUTIL not found
  The Apache Portable Runtime Utility (APRUTIL) library cannot be found. Either install APRUTIL on this system and supply the appropriate 提示的是apache的端口没有找到,因为此安装并没有与apache结合,到tar -zxvf subversion-deps-1.6.1.tar.gz 解压的目录下,发现有一个 APR-util,再移动到ubversion-1.7.2下
  5、重新执行./configure 命令 Ok,遇到第三个error,
  checking sqlite library version (via pkg-config)... no
  An appropriate version of sqlite could not be found. We recommmend 3.7.6.3, but require at least 3.6.18. 错误有提示:解决办法
  sqlite-amalgamation-3071000.zip

  

  下载这个包,解压,将sqlite3.c放到指定的位置: unzip sqlite-amalgamation-3070900.zip
  mkdir –p subversion-1.7.2/sqlite-amalgamation cd sqlite-amalgamation-3070900
  cp sqlite3.c ../subversion-1.7.2/sqlite-amalgamation/
  之後重新执行./configure 见到这表示./config执行ok
  checking for ctypesgen.py... none configure: creating ./config.status config.status: creating Makefile
  config.status: creating tools/backup/hot-backup.py
  config.status: creating tools/hook-scripts/commit-access-control.pl config.status: creating
  subversion/bindings/swig/perl/native/Makefile.PL
  config.status: creating subversion/svn_private_config.h.tmp config.status: executing libtool commands
  config.status: executing svn_private_config.h.tmp commands
  6、然后编译安装: make clean
  make && make install
  只要没有遇到error,就是ok的, 输入
  svn –version
  得到:
  svn, version 1.7.2 (r1207936) compiled Feb 8 2012, 23:09:00 说明安装成功。
  四、下载OpenWrt源码。
  分两种,一种是最新版但不是最稳定,也就是trunk版,一种是相对稳定版,backfire版。源码下载命令分别是: 先创建文件夹:
  mkdir OpenWrt_trunk cd OpenWrt_trunk Trunk版下载命令:
  svn co svn://svn.openwrt.org/openwrt/trunk/
  若需要backfire:
  mkdir OpenWrt_backfire

  

  cd OpenWrt_backfire
  Backfire下载命令:
  svn co svn://svn.openwrt.org/openwrt/branches/backfire/
  五、 编译OpenWrt:
  如果不是刚下载的代码,为了保持代码为最新状态,应该定期运行Svn up更新代码,什么时候有变你是不知道的 然后是更新软件包:
  ./scripts/feeds update –a ./scripts/feeds install –a
  如果不更新软件包的话,你会发现后面是看不到很多软件包的,也就无法集成那些看不到的包了。
  然后是make defconfig,再make menuconfig进入定制界面,定制自己的系统。
  最后,执行make命令,然后是非常漫长的等待。
  在编译的时候,是根据你的配置,进行下载程序包的,先是把这些程序包下载到./dl目录下,再进行解压编译,和安装。如果不是为了开发某一软件的话,建议一开始的时候不要安装太多的软件,一是时间太长,然后很容易出错。要用到的软件在编译好后,用opkg来安装。

  • 濡備綍缂栬瘧OpenWrt
    绛旓細1.浠g爜涓嬭浇閾炬帴澶辨晥銆傞娆缂栬瘧鏃讹紝缂栬瘧绋嬪簭浼氬疄鏃朵粠缃戜笂涓嬭浇涓浜涜蒋浠跺寘鐨勪唬鐮併傚鏋滀笅杞介摼鎺ュけ鏁堬紝缂栬瘧灏变細澶辫触銆傝繖鏃堕渶瑕佹牴鎹蒋浠跺寘鐨勫悕绉帮紝浠庣綉涓婅嚜琛屼笅杞斤紝鐒跺悗鏀惧湪 openwrt/dl/ 鐩綍涓嬶紝鎵ц make -j2 V=s 缁х画缂栬瘧鍗冲彲銆2.杞欢鍖呰嚜韬湁闂銆傝繖鏃堕噸鏂版墽琛 make menuconfig 锛屽彇娑堝搴旇蒋浠跺寘閫変腑鍗冲彲銆
  • 濡備綍缂栬瘧OpenWrt
    绛旓細棣栧厛锛 寮鏈虹櫥闄嗗埌鏀寔缂栬瘧Openwrt鐨勬搷浣滅郴缁燂紙搴熻瘽浜嗭級銆傚疄浣撴満鎴栬呰櫄鎷熸満(Vmware 鎴栬 Qemu)閲岀殑鎿嶄綔绯荤粺閮借锛岃繖閲屾帹鑽愪娇鐢↙inux绯荤粺銆 bsd鍜宮ac osx绯荤粺涔熷彲浠ョ紪锛屼絾涓嶆帹鑽愶紝涓旀湭楠岃瘉鏄惁鍙紪璇戞垚鍔熴備笅鏂囧亣瀹氭偍浣跨敤鐨勬槸Debian鎿嶄綔绯荤粺锛屼娇鐢 apt-get 鏉ョ鐞嗗寘. 鏇夸唬鐨勯夋嫨鏄 Ubuntu (鍒嗘敮 Kubuntu,...
  • VMware涓婾buntu缂栬瘧Openwrt鐨勪簩娆$紪璇戞祦绋嬫槸浠涔?
    绛旓細1. 棣栧厛锛屽垏鎹㈠埌LEDE鐩綍锛歝d lede 2. 鍚屾鏇存柊婧愮爜锛歡it pull 3. 鏇存柊Feeds锛./scripts/feeds update -a && ./scripts/feeds install -a 4. 淇濆瓨缂栬瘧璁剧疆锛屼娇鐢╩ake defconfig锛岃繖灏嗛鍏堥厤缃墍鏈夐夐」銆5. 閬囧埌涓嬭浇dl搴撻熷害鎱㈢殑闂鏃讹紝鍙皾璇曚笅杞斤細make -j8 download 6. 寮濮嬬紪璇戯紝浣跨敤骞惰澶勭悊...
  • 缂栬瘧OpenWrt绯荤粺姹傚姪
    绛旓細OpenWrt缂栬瘧鐜鎼缓鍜岀紪璇戞柟娉 涓銆 鏇存柊寮鍙戠郴缁熴 瀹夎瀹寀buntu 鍚庯紝閲嶆柊寮鏈虹殑鏃跺欙紝浼氭湁涓涓猇Mware tools 瀹夎鐨勬彁绀虹晫闈紝鑰愬績绛夊緟锛岀瓑鍒癡Mware tools 瀹夎濂藉悗 鍥犱负鏇存柊绯荤粺鍜屽畨瑁呬竴浜涘伐鍏峰寘闇瑕佺敤鍒扮綉缁滐紝鎵浠ヨ繘鍏buntu鐨勭晫闈㈠悗锛 灏唘...
  • openwrt鎬庝箞閫夋嫨缂栬瘧鐗堟湰?
    绛旓細鍙互鍙傝冧互涓嬫楠わ細寮鏈虹櫥闄嗗埌鏀寔缂栬瘧Openwrt鐨勬搷浣滅郴缁 2. 瀹夎鎵闇瑕佺殑鍚勭杞欢鍖 3. 32浣(x86)璇锋墽琛屼笅鍒楀懡浠: # apt-get install build-essential asciidoc binutils bzip2 gawk gettext \git libncurses5-dev libz-dev patch unzip zlib1g-dev64浣(x86_64)璇锋墽琛屼笅鍒楀懡浠: # apt-get install...
  • 鎬庝箞ubuntu涓嬫惌寤openwrt寮鍙戠幆澧?
    绛旓細姝ラ/鏂规硶 1 涓嬭浇qtframework銆傝繘鍏ョ綉鍧qt.nokia.com/downloads锛岄夋嫨涓棿鐨勬爣绛緇gpl锛岀劧鍚庝笅杞絨tlibraries4.7.0forlinux/x11(199mb)鏇存柊锛氭壘涓嶅埌鐨勮瘽鍙互鐩存帴鍒皅t-project.org/downloads锛屽湪椤甸潰涓棿鐨剄tlibrary閲岄夋渶鏂扮殑qtlibraries4.8.3forlinux/x11(223mb)2 瑙e帇鏂囦欢銆傝繘鍒板瓨鏀句笅杞芥枃浠剁殑鐩綍涓...
  • 濡備綍缂栬瘧OpenWrt
    绛旓細濡傛灉浣犲彧鏄缂栬瘧涓涓嚜瀹氫箟鐨勫浐浠讹紙榛樿甯︿粈涔堣蒋浠讹紝涓嶅甫浠涔堣蒋浠讹紝鑷畾涔夐粯璁ょ殑閰嶇疆绛夌瓑锛夛紝閭f帹鑽愪綘鐢↖mageBuilder锛岀畝鍗曞揩閫燂紝鐪佸績鐪佸姏 浣犺鏄渶瑕佽嚜宸卞紑鍙戣蒋浠跺寘锛岀敤OpenWRT鐨凷DK锛岀洿鎺ュ嚭ipk鏂囦欢 瑕佸畬鍏ㄩ噸鍐欏氨buildroot锛屽畬鍏ㄤ粠婧愪唬鐮佸紑濮嬫敼璧凤紝SVN鍜孏IT閮芥湁婧 ...
  • 濡備綍缂栬瘧openwrt鍥轰欢
    绛旓細缂栬瘧openwrt鍥轰欢鐨勬椂鍊欙紝涓昏瑕佹帉鎻″ソ缂栬緫鐨勪竴浜涙甯搁『搴忋傚缓璁繃绋嬪綋涓寜鐓х紪鐮佺殑鍒嗙被锛岀劧鍚庣浉搴斿湴缂栧嚭缂栫爜锛岀劧鍚庢牴鎹紪鐮佺殑鎿嶄綔椤哄簭缂栬緫鍥轰欢銆
  • 濡備綍鍦OpenWRT鐜涓嬪仛寮鍙
    绛旓細锛1锛.bin/.trx 鏂囦欢: 杩欎簺閮芥槸鍦ㄦ垜浠墍閫夌殑target-system鐨勭被鍒箣涓嬶紝閽堝涓嶅悓璺敱鍣ㄥ瀷鍙枫佺増鏈缂栬瘧鐨勮矾鐢卞櫒鍥轰欢銆傝繖浜涗笉鍚岃矾鐢卞櫒鐨勫瀷鍙峰拰鐗堟湰鏄openwrt棰勫厛璁剧疆濂界殑锛屾垜浠笉闇瑕佹洿鏀广傝嚦浜.bin鍜.trx鐨勫尯鍒紝涓绉嶈娉曟槸锛岀涓娆″埛璺敱鍣ㄧ殑鏃跺欙紝闇瑕佺敤.bin鏂囦欢锛屽鏋滈渶瑕佸啀鍗囩骇锛屽垯涓嶈兘鍐嶄娇鐢.bin...
  • openwrt寮鍙戜娇鐢ㄤ粈涔缂栬瘧鍣
    绛旓細OpenWrt鎼缓缂栬瘧鍣缂栬瘧OpenWrt闇瑕丩inux鐜鎴杕ac鐜锛屼笉鏀寔Windows锛屽鏋滆鍦╓indows涓婂紑鍙戯紝閭d箞鑲畾鏄瑁呰櫄鎷熸満鐨勩
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网