树莓派3B编译OpenWrt\LEDE 简记

Scroll Down

首先说一下编译环境,

  1. 使用ubunut 18 x64系统
  2. 1g内存是不够的,或者开swap
  3. 同时需要60g磁盘空间
  • 编译用户不能使用root,不然会出现比较奇怪的编译错误,在此单独开用户
useradd lede
passwd lede
# 输入两次密码
usermod -s /bin/bash lede
usermod -d /home/lede lede
mkdir /home/lede
chown lede:lede /home/lede
  • 同时让lede用户支持sudo命名,设置如下
执行 visudo
在 root ALL=(ALL:ALL) ALL 下面加入一行
lede ALL=(ALL:ALL) ALL
ctrl+o(然后再按enter)保存,ctrl+c取消,ctrl+x退出
  • 开始编译
su lede
sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync

git clone https://github.com/coolsnowwolf/lede && cd lede
  • 软件包扩展
    因作者删除了一些固件包,在此添加一些软件的支持 😏😏
vim feeds.conf.default
在文件最好一行添加
src-git kenzok8 https://github.com/kenzok8/openwrt-packages.git
  • 编译配置
./scripts/feeds clean &&
./scripts/feeds update -a &&
./scripts/feeds install -a &&
make menuconfig
  • menuconfig 界面控制说明
方向键上下左右选择菜单
回车进入选择菜单,右边标有箭头的为多选项可以回车进入。
字母 y 为选中并编译进固件
字母 m 为选中但不编译进固件
字母 N 代表取消选择。
  • 配置
  1. 选项Target System下选择 BCM27XX
  2. Subtarget选择 BCM2710
  3. Target Profile选择 Raspberry Pi 2b-1.2/3B/3B+/3CM
  4. 插件选择 LuCI > Applications, 这里可以看到 luci-app-ssr-plusPasswall 等插件,第一次编译建议少选插件,防止编译出错,编译成功之后再支持 make menuconfig 配置,再次编译即可。

最后保存配置文件,键盘方向键移动到 save 回车选择OK回车再次回车方向键选择 exit 即可退出配置界面。

  • 国内环境设置代理
    国内环境无代理大概率会导致依赖下载失败,建议全局fq。如果无代理,推荐使用国外vps进行编译,推荐使用 vultr ,按分钟收费。
vim ~/.bashrc
export ALL_PROXY=socks5://10.1.1.254:1080
source ~/.bashrc
  • 下载依赖
    视网络环境,网络不好可能会导致下载时间长,或失败。失败可重新执行此命令重试。
make -j8 download V=s
  • 编译
    视编译机器性能,耗时长短不一。
make -j1 V=s

如果使用vps,为防止出现断开ssh情况,可使用后台进程编译,

nohup make -j1 V=s &
# 此时日志会出现在 nohup.out中,查询日志命令
tail -f -n 300 nohup.out

编译之后的img文件在此目录下

openwrt/bin/targets

END