1.å¦ä½ç¼è¯OpenWrt
2.openwrt的码调扩容——extroot
3.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的扩容——extroot
开放源代码的路由系统OpenWRT提供了一种强大的方法来管理和配置路由器。在本文中,码调我们将讨论如何进行OpenWRT的码调扩展,即“extroot”。码调这一操作旨在提高系统性能和存储容量。码调尽管官方指南提供了详细步骤,码调python大厂源码但在实际操作中,码调可能会遇到挑战。码调通过一次尝试和错误的码调学习过程,我们最终实现了这一目标。码调下文将介绍实现OpenWRT扩展的码调关键步骤。
在开始扩展之前,码调需要准备待扩展的码调存储设备,通常我们假设其设备标识为/dev/sda。码调首先,码调通过SSH登录到路由器后端,或者如果可能,直接使用显示器连接。接下来,利用opkg工具安装必要的包,并执行特定命令以执行分区操作。sudo源码请注意,使用特定的扇区范围(例如“s -s”)是至关重要的,以避免警告信息的出现。这一步骤是整个扩展过程的基础。
为了实现“extroot”,需要对系统进行配置,具体涉及修改/etc/config/fstab文件,以便将新的存储空间挂载到一个不同的目录。此外,需要调整原始的精准源码overlay挂载点,将其替换为新创建的extroot,确保系统能够正确识别和利用新增的存储资源。
在配置完extroot后,使用特定命令检查设备的UUID信息,以确认所有设置都已正确应用。接下来,格式化新分区并调整openwrt的uci配置,确保所有设置与新扩展的存储空间相匹配。这一过程需要细心和耐心,确保没有错误发生。江苏源码
在完成所有步骤后,通过reboot命令重启系统。重启后,系统会自动使用新的扩展存储空间。为了确认扩展是否成功,可以检查系统状态或运行特定命令以验证新的存储空间已正确挂载并可用。
作者在操作中对第1步进行了调整,将扇区范围更改为“Mib Mib”,以适应不同的存储需求。第2步的magic源码配置过程中,作者遇到等同的/etc/mtab文件中未包含overlay的情况,但根目录下的overlay目录存在。在这种情况下,仍按照指导执行所有步骤。最终,作者在重启后发现系统成功实现了扩展,体验到了成功的满足感。
openwrt编译流程
编译OpenWRT源码至Ubuntu下,需先进入OpenWRT根目录。通常,简单操作为执行命令make V=。若系统为多核处理器,为加速编译过程,可添加-j选项,如make –j3 V=。在编译过程中,系统将自动下载所需软件包,请确保网络畅通。若在编译时遇到下载失败,可先执行make download指令,提前下载所需包,以避免后续错误。
初次编译耗时较长,且需下载大量源码包,建议使用较好的***,以加速过程。完成编译后,会在源码目录中生成一个名为bin的文件夹,其中包含两个文件:openwrt-ramips-rtx-wrn-squashfs-factory.bin 和 openwrt-ramips-rtx-wrn-squashfs-sysupgrade.bin。根据路由器的原始固件或已安装的OpenWRT版本,选择相应的固件进行刷写。
在编译过程中,掌握一些技巧有助于提升效率。例如,执行make clean可以清理基本编译文件,make dirclean则会深度清理文件,相当于执行make clean后再清除交叉编译工具链目录。使用make distclean则会清除所有相关东西,包括下载的软件包、配置文件及feed内容等。在个人开发中,常遇menuconfig无法更新问题,可通过删除tmp缓存目录解决。预先下载软件包,再执行编译的make download V=方法同样有效。最后,删除.config文件以清空所有配置。