1、 OpenWrt编译过程使用的是交叉编译,交叉编译生成的SDK以及image等文件的类型取决于开发环境、应用硬件、以及源码版本。所以要对自己的环境进行了解,才能进行正确的配置。 而makemenuconfig主要的目的就是生成目标镜像的配置文件,所以只有选对了相应的配置信息才能编译出适合自己机型的固件。 这里小编想要编译的是小米路由器mini的固件
2、 那么我们首先就需要先来了解小米路由器mini的配置: 内核:单核怡觎现喾MT7620A处理芯片 (联发科SOCMT7620A单核,机器类型属于mips类),搭配了128MBDDR2内存支持2.4GHz/5GHz双频Wi-Fi,前者的最高传输速率为300M,后者则是866M接口方面,小米路由在背部提供了三个百兆网络接口,其中一个为Wan,两个为Lan,此外还提供了一个USB2.0接口,可外接移动硬盘等设备。 有没有发现,官方给我们提供的信息并没什么软用,那怎么怎么样才能获取我们想要的信息呢?
3、 首先我们来看下make menuconfig中需要哪些重要的信息: TargetSystem--->AtherosAR7xxx/AR9xxx 目标系统,用于选择平台系列 Subtarget--->Generic 目标系统子目录,更加精准的选择平台 TargetProfile--->Defuault profile (all drivers) 用于模型参考,选择设备型号。 .......由于首次编译时间会较长,因此建议创建一个无外加软件的固件,所以我们只要把以上三个选项选择好,其他的默认即可。
4、操作方法:按y設定成<*>標籤這個套件將包含在映像檔裡按n設定成<>標籤這個套件不會被編譯或者:按空格键作为选择键,回车进入下级目录(如果有)具体标记符的含义,页面上部有注释(黑色选择的位置);
5、 如何确认设备信息,比如小编的小米路由器mini:用Putty远程瞌蕞凿鸠登录路由器,使用命令:cat /proc/cpuinfo查看当前的CPU信息root@XiaoQiang:~# cat /proc/cpuinfosystem type : Ralink SoCprocessor : 0cpu model : MIPS 24Kc V5.0BogoMIPS : 385.84wait instruction : yesmicrosecond timers : yestlb_entries : 32extra interrupt vector : yeshardware watchpoint : yes, count: 4, address/irw mask: [0x0000, 0x0ff8, 0x0ff8, 0x0ff8]ASEs implemented : mips16 dspshadow register sets : 1core : 0VCED exceptions : not availableVCEI exceptions : not available
6、 从中我们可以获取到:system type : Ralink SoC返回make menuconfig,选择TargetSystem--->AtherosAR7xxx/AR9xxx 进入,找到相应的系统平台:Ralink 接着筛选Subtarget及TargetProfile 得到如图所示配置:
7、 其他包的话可以暂时就不选,因为第一次编译会下载大量源码,为了速度包越简单越好。 如果你你闲慢的话可以勾选Advancedconfigurationoption和BuildtheOpenWrtSDK和LUCI(路径为LUCI-collections-LUCI)选项。 在退出Menuconfig的时,会提示是否保存配置。
8、 最后是编译,一般情况,使用一个简单的命令: make #默认安装,无提示或者makeV=99 #V=99表示输出debug信息,V一定要大写或者make-jV=99 #如果要让CPU全速编译,就加上-j参数,第一次编译最好不带-j参数,常规用法为<您cpu处理器的数目+1>