文章的开始先说两个重点
1.不要使用root用户编译,普通用户编译即可。
2.自行搭建梯子,以免编译失败。
一,进入虚拟机内的Ubuntu系统
点击左下角的显示应用程序,我们去修改一下Ubuntu的源。
之后点击软件和更新
点击选择最佳服务器
稍等片刻后系统会选择最优的服务器,点击选择服务器并输入密码即可。
打开终端,输入:sudo apt update
sudo apt upgrade
将系统软件升级至最新。
2,安装编译环境
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint
3,下载openwrt源码
mkdir openwrt
sudo chmod 777 openwrt
cd openwrt
git clone https://github.com/openwrt/openwrt.git
openwrt github地址:https://github.com/openwrt/openwrt
4.更新和安装更多的软件支持。
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
5.测试下编译环境
make defconfig
我想我遇到麻烦了,先去解决一下,稍后回来。
不知道啥问题,没能解决这个依赖问题,没关系,我们换一个LEDE来玩吧。
git clone https://github.com/coolsnowwolf/lede
这个是冷雪狼的LEDE,反正是折腾,这个也挺好的
再次make defconfig就正常了
6.让我们愉快的编译吧
make menuconfig
自己选择自己的机型,开始编译即可。
如果是第一次编译的话,建议使用
make V=99 (佐大教的,V一定要大写)
昨天晚上编译了斐讯K2的固件,今天早上过来一看,居然没有.bin文件。
于是网上找到这个问题的解释,应该是我选择了很多的安装包,然后选择的是编译到固件里面,所以就出现了超出固件大小的问题。
没关系,再来一遍。
cd lede
git pull
同步更新一下冷雪狼的代码、
./scripts/feeds update -a && ./scripts/feeds install -a
更新一下feeds
rm -rf ./tmp && rm -rf .config
清除编译配置和缓存
make menuconfig
进入编译配置菜单
make -jn V=s
n=线程数+1,例如4线程的I5填-j5,开始编译
编译完成后固件输出在/lede/bin/targets
以后二次编译:
进入LEDE目录
cd lede
同步更新冷雪狼源码
git pull
更新FEEDS
./scripts/feeds update -a && ./scripts/feeds install -a
清除编译配置和缓存
rm -rf ./tmp && rm -rf .config
进入编译配置菜单
make menuconfig
n=线程数+1,例如4线程的I5填-j5,开始编译
make -jn V=s
编译完成后固件输出在/lede/bin/targets