本篇文章给大家分享的是有关如何使用树莓派3B+固件编译LEDE,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
网上的固件用着总有问题,这里自己编译一个,记录一下过程和遇到的问题。
-
g++: internal compiler error: Killed (program cc1plus)
-
checking whether mknod can create fifo without root privileges
-
提示编译时间差异问题
【1】首先准备环境和依赖
sudo apt update && sudo apt upgrade sudo apt -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex node-uglify gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx-ucl libelf-dev autoconf automake libtool autopoint gcc g++ cmake vim wget ntp ntpdate
【2】编译
从这里向后,全程不需要root用户或者sudo
#下载源码 git clone https://github.com/coolsnowwolf/lede cd ~/lede #更新依赖源 ./scripts/feeds update -a && ./scripts/feeds install -a #进入配置界面 make menuconfig
这里 git 、 更新依赖源 和 后边的编译下载过程 都需要良好快速的网络环境哈,自己想办法。
【3】配置
参考 https://openwrt.club/1.html
【4】编译
#下载编译用到的东西,会非常多非常慢 make download V=s
这一段过程可能会遇到上边的问题0.2和0.3,解决办法分别是
0.2解决:checking whether mknod can create fifo without root privileges 不要用root用户或者sudo方式使用make相关命令, 添加环境变量export FORCE_UNSAFE_CONFIGURE=1 参考https://github.com/coolsnowwolf/lede/issues/200
0.3解决:安装ntpdate来同步时间,sudo apt-get install ntp ntpdate , sudo ntpdate ntp1.aliyun.com
#开始正式编译系统,单线程模式 make V=s -j1
这里可能会遇到好多问题,比如上边提到的问题0.1,解决办法是:
0.1解决:g++: internal compiler error: Killed (program cc1plus) 这个出现是内存不足,编译过程需要大量内存,我的机器只有512M内存,所以可以添加swap空间来解决之。参考https://www.cnblogs.com/liqinggai/articles/9023333.html
添加swap:
1. 创建分区文件, 大小 2G
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2. 生成 swap 文件系统
sudo mkswap /swapfile
3. 激活 swap 文件
sudo swapon /swapfile
4.之后可以删除
sudo rm /swapfile
大功告成,编译完成的固件在 ~/lede/bin/targets/brcm2708/bcm2710
以上就是如何使用树莓派3B+固件编译LEDE,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/206637.html