openwrt(二) 配置openwrt及编译
导航
1. 配置openwrt
2. 编译openwrt
3. 错误记录
1. 配置openwrt
在openwrt的根目录下,执行make menuconfig.
这个界面我也只是了解了这两个选项而已,其他的留作以后补充。主芯片就是你的路由器用的是什么芯片,具体的板子是指匹配了这个板子后,一些驱动,IO口对的上。
找不到的,不一样的,我暂时也不清楚怎么办,百度过这个驱动很难写,至于我为什么知道是这个型号,因为是公司前辈告诉我的。不然我也是无从得知。
暂时先这样吧,等有时间了,再回来补充这一块的知识。
save之后就可以exit。
配置完成。
2. 编译openwrt
2.1 clean,以防未知错误。make clean
2.2 编译 make V=s 来编译。第一遍最好不要用多核编译 ,如果使用多核编译的话就加j=n n是你的cpu核数。
注:第一次编译要联网,因为会下载很多东西。下载在dl文件夹下。
补充:我是用虚拟机装的Ubuntu,编译的,又一次报错,是因为是在root权限下创建的文件夹,结果失败。
还有一次是因为虚拟机内存只有2g,导致变异失败。重新创建虚拟机加大内存就好了。如果环境没有装好,也会报报错,一般提示你需要安装什么什么。。。
编译很久,要慢慢等待。在编译完成之后,会生成一个bin目录。
在这个路径下,就会生成编译好的bin文件。
至此,编译结束。
--------------------------------------------------------------------------------------------------------------------------
3. 错误记录
编译能一次性通过的,真的是很少很少,总是会出现各种各样的问题。因为这些问题,除了内因,还有外因,所以记录下来,仅供参考。
问题1:
这是因为无法成功下载某个文件,多次尝试连接服务器无果后检验文件失败。解决办法比较简单,按住ctrl但及下载地址手动下载,然后移动到dl文件夹下面,就可以通过校验。make clean后重新make。
问题2:编译内存不足
这个问题当时真的是一点头绪都没有,百度了好久,谷歌上看到说编译好像要3G以上内存,一想,我似乎只有2G,所以重新安装了linux,发现问题解决了。这里没有截图,总之在安装ubuntu的时候,至少来个标配吧。内存太小怎么玩编译。
问题3:因为root权限的关系
我一开始mkdir的时候,是用root去建立的,虽然git的时候我已经退出了管理员状态,但是一想,文件夹是root的。所以解决办法是除了安装环境,包括创建文件夹都不要用root身份。
问题4:如果下载很慢的,可以更改/etc/hosts文件。
结尾处添加:
151.101.76.249 http://global-ssl.fastly.net
192.30.255.113 http://github.com
再更新DNS缓存:
sudo /etc/init.d/networking restart
其他问题待更新。