1.openWRT发展历程
2.openwrt的码多扩容——extroot
3.openwrt编译流程
openWRT发展历程
OpenWRT的发展历程始于年1月,其起源可以追溯到Linksys提供的码多GPL源码和基于uclibc的buildroot项目,这个被称为“stable”版本的码多OpenWrt至今仍被许多项目所采用,如著名的码多Freifunk-Firmware和Sip@Home。 到了年初,码多OpenWRT项目迎来了新的码多类众人帮源码开发者力量。几个月后,码多他们推出了首个“experimental”版本,码多这一版本与早期显著不同,码多它摒弃了Linksys的码多GPL源码,转而采用了buildroot2作为核心技术,码多实现了OpenWrt的码多全面模块化。这个版本使用了Linux标准发行的码多2.4.内核源码,并添加了一系列补丁和网络驱动,码多增强了其功能。码多彩虹公式源码开发团队为OpenWrt增添了更多免费工具,允许用户直接将Image写入Flash(mtd),同时还支持无线功能和VLAN交换功能。这一版本被命名为“White Russian”,标志着项目的一个重要里程碑。据记载,1.0版本大约在年底正式发布。扩展资料
OpenWrt的被描述为一个嵌入式设备的Linux发行版,而不是试图建立一个单一的,静态的固件,OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序通过使用包。新建指标源码对于开发人员,OpenWrt的是框架来构建应用程序,而无需建立一个完整的固件左右;对于用户来说,这意味着完全定制的能力,从来没有预想的方式使用该设备。openwrt的扩容——extroot
开放源代码的路由系统OpenWRT提供了一种强大的方法来管理和配置路由器。在本文中,我们将讨论如何进行OpenWRT的扩展,即“extroot”。这一操作旨在提高系统性能和存储容量。尽管官方指南提供了详细步骤,但在实际操作中,可能会遇到挑战。通过一次尝试和错误的pythonexcel源码讲解学习过程,我们最终实现了这一目标。下文将介绍实现OpenWRT扩展的关键步骤。
在开始扩展之前,需要准备待扩展的存储设备,通常我们假设其设备标识为/dev/sda。首先,通过SSH登录到路由器后端,或者如果可能,直接使用显示器连接。接下来,利用opkg工具安装必要的包,并执行特定命令以执行分区操作。请注意,使用特定的源码岛2.0扇区范围(例如“s -s”)是至关重要的,以避免警告信息的出现。这一步骤是整个扩展过程的基础。
为了实现“extroot”,需要对系统进行配置,具体涉及修改/etc/config/fstab文件,以便将新的存储空间挂载到一个不同的目录。此外,需要调整原始的overlay挂载点,将其替换为新创建的extroot,确保系统能够正确识别和利用新增的存储资源。
在配置完extroot后,使用特定命令检查设备的UUID信息,以确认所有设置都已正确应用。接下来,格式化新分区并调整openwrt的uci配置,确保所有设置与新扩展的存储空间相匹配。这一过程需要细心和耐心,确保没有错误发生。
在完成所有步骤后,通过reboot命令重启系统。重启后,系统会自动使用新的扩展存储空间。为了确认扩展是否成功,可以检查系统状态或运行特定命令以验证新的存储空间已正确挂载并可用。
作者在操作中对第1步进行了调整,将扇区范围更改为“Mib Mib”,以适应不同的存储需求。第2步的配置过程中,作者遇到等同的/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文件以清空所有配置。