1.å¦ä½ç¼è¯OpenWrt
2.openwrt是内内核什么
3.å¦ä½å¨OpenWRTç¯å¢ä¸åå¼å
4.openWRT发展历程
å¦ä½ç¼è¯OpenWrt
æ建ç¼è¯ç¯å¢ãç¼è¯å»ºè®®å¨Linuxä¸è¿è¡ãæçç³»ç»æ¯Linux mint ï¼æ§è¡ä»¥ä¸å½ä»¤ï¼æ建ç¼è¯ç¯å¢ï¼
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::warning: multi-line strings not supportedâ
çä¿¡æ¯ï¼æå¼ openwrt/tmp/.config-package.inï¼å®ä½å°å¯¹åºè¡ï¼æ·»ä¸ä¸¢æçä¸ä¸ªå¼å·å°±å¯ä»¥äºã
ç¼è¯é项ï¼
æ§è¡ make menuconfigï¼æ ¹æ®è·¯ç±å¨æ åµï¼éæ© Target System å Subtargetãå¦æäºä¸ä»£åæ壹Sç Target System å为 Ralink RTx/RT3xxx ã对äºSubtarget ï¼åè 为 MTn based boards ï¼åè 为 MTa based boardsã
å ¶ä»éé¡¹æ ¹æ®ä¸ªäººå好éæ©ãä¸è¬æ¥è¯´è¦éä¸LuCIçé¢ï¼éä¸ä¸æè¯è¨å ççã
å¼å§ç¼è¯ï¼
æ§è¡ make -j2 V=s è¿è¡ç¼è¯ã-jåé¢çæ°åæ¯çµèç©çCPUæ°éå ä¸ãV=så¯ä»¥æ¾ç¤ºåºç¼è¯ç详ç»ä¿¡æ¯ãé¦æ¬¡ç¼è¯å¤§æ¦éè¦å 个å°æ¶çæ¶é´ã
é误ææ¥ï¼
ç¼è¯å¤±è´¥ï¼ä¸è¬æ两ç§æ åµï¼
1.代ç ä¸è½½é¾æ¥å¤±æãé¦æ¬¡ç¼è¯æ¶ï¼ç¼è¯ç¨åºä¼å®æ¶ä»ç½ä¸ä¸è½½ä¸äºè½¯ä»¶å ç代ç ãå¦æä¸è½½é¾æ¥å¤±æï¼ç¼è¯å°±ä¼å¤±è´¥ãè¿æ¶éè¦æ ¹æ®è½¯ä»¶å çå称ï¼ä»ç½ä¸èªè¡ä¸è½½ï¼ç¶åæ¾å¨ openwrt/dl/ ç®å½ä¸ï¼æ§è¡ make -j2 V=s 继ç»ç¼è¯å³å¯ã
2.软件å èªèº«æé®é¢ãè¿æ¶éæ°æ§è¡ make menuconfig ï¼åæ¶å¯¹åºè½¯ä»¶å éä¸å³å¯ãè¿ç§æ åµæ¯è¾å°è§ï¼ç®åå·²ç¥çæ tor çã
ç¼è¯æåï¼ä½æ²¡æçæåºä»¶ãè¿ç§æ åµä¸è¬æ¯å 为éä¸ç软件å è¿å¤ï¼å¯¼è´åºä»¶å¤§å°è¶ è¿MBãéæ°æ§è¡ make menuconfigï¼å»æä¸äºè½¯ä»¶å ï¼éæ°æ§è¡ç¼è¯å³å¯ã
å¾å°åºä»¶ãå¨æé¤äºææé误åï¼ç°å¨ç»äºå¾å°äºåºä»¶ã对äºå¦æäºRY-1ï¼åºä»¶å¨ openwrt/bin/ramips ç®å½ä¸ï¼å½¢å¦
openwrt-ramips-mtn-rt-nu-squashfs-sysupgrade.bin
openwrt-ramips-mtn-wrtnode-squashfs-sysupgrade.bin
openwrt-ramips-mtn-mlw-squashfs-sysupgrade.bin
openwrt-ramips-mtn-wrrt-squashfs-sysupgrade.bin
ççã
openwrt是什么
OpenWrt是一个适用于路由器的Linux发行版,主要用于嵌入式设备路由网络流量。核源OpenWrt的源码entityframe框架源码主要组件是Linux内核。
OpenWrt可以被描述为一个嵌入式的内内核Linux发行版。(主流路由器固件有dd-wrt,核源xposed edge源码tomato,openwrt三类)对比一个单一的、静态的源码2018迪士尼源码系统,OpenWrt的内内核包管理提供了一个完全可写的文件系统,从应用程序供应商提供的核源选择和配置,并允许您自定义的源码设备,以适应任何应用程序。内内核
对于开发人员,核源OpenWrt是源码使用框架来构建应用程序,而无需建立一个完整的内内核ewebeditor tm源码固件来支持;对于用户来说,这意味着其拥有完全定制的核源能力,可以用前所未有的源码fourinone源码解读方式使用该设备。OpenWrt项目由年1月开始,第一个版本是基于Linksys提供的GPL源码及uclibc中的buildroot项目,这个版本称为“stable”版,在网上至今仍有很多项目使用这个版本,较为有名Freifunk-Firmware和Sip@Home.
å¦ä½å¨OpenWRTç¯å¢ä¸åå¼å
1ãæ建å¼åç¯å¢é¦å ï¼å¨æ§è¡make menuconfigåï¼ä¼åºç°ä¸å¾ï¼
ããå ¶ä¸ï¼å¾ä¸çº¢æ¡é¨åæ¯æå®å¶è·¯ç±å¨çç³»ç»çæ¬ï¼å¤§å®¶å¯ä»¥æ ¹æ®ä¸åçè·¯ç±å¨è¿è¡ä¸åçéæ©ï¼ç»¿æ¡é¨å表示æ们éè¦ç¼è¯ä¸ä¸ªSDKå¼åç¯å¢ï¼é»è®¤æ åµä¸ï¼æ¤é¡¹æªå¾éï¼ã
ããç¼è¯è¿ç¨ä¸éè¦éè¿å®ç½ä¸è½½å¾å¤ç¸å ³ç软件å ï¼æä»¥å¿ é¡»ä¿è¯è½å¤é¡ºå©è¿ä¸å¤ç½ãç±äºä¸è½½é度çéå¶ï¼ç¼è¯è¿ç¨å¤§æ¦éè¦æ°å°æ¶ãç¼è¯ç»æåï¼ææç产åé½ä¼æ¾å¨ç¼è¯æ ¹ç®å½ä¸çbin/yourtarget/. ä¾å¦:ææç¼è¯ç产ç©é½æ¾å¨./bin/brcmxx/ä¸ï¼å ¶ä¸æ件主è¦æå ç±»ï¼
ããï¼1ï¼.bin/.trx æ件: è¿äºé½æ¯å¨æ们æéçtarget-systemçç±»å«ä¹ä¸ï¼é对ä¸åè·¯ç±å¨åå·ãçæ¬ç¼è¯çè·¯ç±å¨åºä»¶ãè¿äºä¸åè·¯ç±å¨çåå·åçæ¬æ¯openwrté¢å 设置好çï¼æ们ä¸éè¦æ´æ¹ãè³äº.binå.trxçåºå«ï¼ä¸ç§è¯´æ³æ¯ï¼ç¬¬ä¸æ¬¡å·è·¯ç±å¨çæ¶åï¼éè¦ç¨.binæ件ï¼å¦æéè¦åå级ï¼åä¸è½å使ç¨.binæ件ï¼èéè¦ç¨.trxæ件ãåå æ¯ï¼.binæ¯å°è·¯ç±å¨çç¸å ³é 置信æ¯å.trxå°è£ å¨ä¸èµ·èçæçå°å ï¼ä¹å°±æ¯è¯´æ¯å å«è·¯ç±å¨çæ¬ä¿¡æ¯ç.trxãå¨ç¬¬ä¸æ¬¡å·åºä»¶çæ¶åï¼æ们éè¦æä¾è¿æ ·çä¿¡æ¯ï¼èå¨åç»å级æ¶ï¼åä¸åéè¦ï¼ç¨.trxæ件å³å¯ã
ããï¼2ï¼packagesæ件夹: éé¢å å«äºæ们å¨é ç½®æ件é设å®çææç¼è¯å¥½ç软件å ãé»è®¤æ åµä¸ï¼ä¼æé»è®¤éæ©ç软件å ã
ããï¼3ï¼OpenWrt-SDK.**.tar.bz2: è¿ä¸ªä¹å°±æ¯æ们å®å¶ç¼è¯å¥½çOpenWRT SDKç¯å¢ãæ们å°ç¨è¿ä¸ªæ¥è¿è¡OpenWrt软件å çå¼åãä¾å¦ï¼ææç¼è¯å¥½çSDKç¯å¢å 为ï¼/bin/brcmxx/OpenWrt-SDK-brcmxx-for-Linux-x_-gcc-4.3.3+cs_uClibc-0.9..1.tar.bz2
å¯ä»¥ä»å称ä¸çåºï¼target systemæ¯brcmxxï¼host systemæ¯Linux-x_ï¼ä½¿ç¨çç¼è¯å·¥å ·ä»¥ååºæ¯4.3.3+cs_uClibc-0.9..1ã
ããï¼4ï¼md5sums æ件: è¿ä¸ªæ件记å½äºæææ们ç¼è¯å¥½çæ件çMD5å¼ï¼æ¥ä¿è¯æ件çå®æ´æ§ãå 为æ件çä¸å®æ´ï¼å¾å®¹æå°è·¯ç±å¨åæâç 头âã
ããéè¦ä¸»è¦çæ¯ï¼ç¼è¯å®æåï¼ä¸å®è¦å°ç¼è¯å¥½çbinç®å½è¿è¡å¤ä»½ï¼å¦æéé¢ä¸è¥¿å¯¹ä½ å¾éè¦çè¯ï¼ï¼å 为å¨ä¸æ¬¡ç¼è¯ä¹åï¼æ§è¡make clean ä¼å°binç®å½ä¸çæææ件ç»æ¸ é¤æ!!
ãã2ã æ´æ¹åæpackages
ããå¨ç¼è¯æ ¹ç®å½ä¸ä¼æä¸ä¸ªdlçç®å½ï¼è¿ä¸ªç®å½å ¶å®æ¯âdownloadâçç®åï¼å¨ç¼è¯åæï¼éè¦ä»ç½ç»ä¸è½½çæ°æ®å é½ä¼æ¾å¨è¿ä¸ªç®å½ä¸ï¼è¿äºè½¯ä»¶å çä¸ä¸ªç¹ç¹å°±æ¯ï¼ä¼èªå¨å®è£ å¨æç¼è¯çåºä»¶ä¸ï¼ä¹å°±æ¯æ们make menuconfigçæ¶åï¼ä¸ºåºä»¶é ç½®çä¸äºè½¯ä»¶å ãå¦ææ们éè¦æ´æ¹è¿äºæºç å ï¼åªéè¦å°æ´æ¹å¥½çæºç å æå æç¸åçååæ¾å¨è¿ä¸ªç®å½ä¸ï¼ç¶åå¼å§ç¼è¯å³å¯ãç¼è¯æ¶ï¼ä¼å°è½¯ä»¶å 解åå°build_dirç®å½ä¸ã
å½ç¶ï¼ä½ ä¹å¯ä»¥èªå·±å¨dléé¢å建èªå·±ç软件å ï¼ç¶åæ´æ¹ç¸å ³çé ç½®æ件ï¼è®©openwrtå¯ä»¥è¯å«è¿ä¸ªæ件å ã
ããç±äºæç项ç®æ´æ¹çå 容æ¯åºå±çï¼éè¦è·åºä»¶ä¸èµ·å®è£ ãæ以ï¼æ使ç¨çæ¹æ³å°±æ¯ç´æ¥æ´æ¹dlç®å½ä¸è½¯ä»¶å ï¼ç¶åéæ°è¿è¡åºä»¶ç¼è¯ãæè§ç±»ä¼¼äºLinuxçå æ ¸ç¼è¯ãåå¤ç¼è¿åå¤æ¬¡ï¼æ²¡æä»»ä½é®é¢ã
ãã3ã æ°å»ºèªå·±çpackages
对äºèªå·±æ°å»ºçpackageï¼èè¿ä¸ªpackageåä¸éè¦éåºä»¶ä¸èµ·å®è£ ï¼æ¢å¥è¯è¯´ï¼å°±æ¯å¯ä»¥å½åä¸ä¸ªå¯é软件å çè¯ãæ们å¯ä»¥å©ç¨æ们çSDKç¯å¢æ¥åç¬ç¼è¯ï¼ç¼è¯åä¼çæä¸ä¸ªipkçæ件å ãç¶åå©ç¨ opkg install xxx.ipk æ¥å®è£ è¿ä¸ªè½¯ä»¶ã
ããä¸é¢å ·ä½è¯´ä¸ï¼å¦ä½ç¼è¯ä¸ä¸ªhellowordç软件å ã
ï¼1ï¼é¦å ï¼ç¼åhelloworldç¨åº
ç¼åhelloworld.c
/