编译环境
CPU:双核或以上
内存:2G或以上
硬盘:30G以上,推荐50G起步
系统环境
作者推荐Ubuntu 18.04
编译前准备
创建一个新用户,编译不能使用root帐号编译,输入以下指令:
sudo useradd -m free -d /home/free -s /bin/bash
设置新用户密码
sudo passwd free
修改用户权限文件sudoers为可写
sudo chmod +w /etc/sudoers
编辑配置文件
vi /etc/sudoers
找到以下位置,添加代码:
# User privilege specification
root ALL=(ALL:ALL) ALL
在以上内容的下面添加一行:
free ALL=(ALL:ALL) ALL
添加后是这样:
# User privilege specification
root ALL=(ALL:ALL) ALL
free ALL=(ALL:ALL) ALL
添加完之后设置权限文件为只读
sudo chmod -w /etc/sudoers
编译流程
登录ssh,以free用户登录,输入以下指令:
sudo apt update
然后输入以下指令安装部分编译依赖:
sudo apt -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
完成后输入以下代码把Lean的源码下载至服务器:
git clone https://github.com/coolsnowwolf/lede
使用vi编辑器来编辑feeds.conf.default文件
vi feeds.conf.default
然后添加或者解除掉注释
src-git helloworld https://github.com/fw876/helloworld
src-git kenzo https://github.com/kenzok8/openwrt-packages
src-git small https://github.com/kenzok8/small
#喜欢追新的可以添加这个,这个仓库一直更新
src-git https://github.com/kenzok8/small-package
或者直接把软件kenzok8软件源添加到package目录,包括常用的一些插件:
cd lede/package
git clone https://github.com/kenzok8/openwrt-packages.git
git clone https://github.com/kenzok8/small.git
编译添加severchan微信提醒插件:
cd lede/package
git clone https://github.com/tty228/luci-app-serverchan.git
编译添加openclash插件:
首先安装需要的依赖文件:
sudo apt-get update && sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 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
然后进去package添加openclash软件包
cd ~ #切换到用户根目录
wget https://github.com/vernesong/OpenClash/archive/master.zip #下载OpenClash
unzip master.zip #解压
cp -r OpenClash-master/luci-app-openclash lede/package #复制OpenClash软件包到OpenWrt
然后运行以下代码:
./scripts/feeds update -a && ./scripts/feeds install -a
完成后输入以下指令进入编译配置界面:
make menuconfig
配置好之后退出,然后运行以下指令安装dl库:
make -j8 download V=s
完成后运行以下指令开始编译:
make -j2 V=s
其中 -j2 这个表示的是cpu的核心数,双核就写-j2
修改主机的默认访问ip地址
具体在/lede/package/base-files/files/bin下的config_generate中修改,输入指令:
vi package/base-files/files/bin/config_generate
#然后大概在95行左右能够看到IP地址192.168.1.1,根据需求修改然后:wq保存退出
同一个文件拉下去修改默认主机名称和时区,找到如下内容:
generate static systemo[
uci -g batch <<-EOF
delete system. @system[0]
add system system
set system.@system[-1].hostname='LEDE'
set system.@system[-1].timezone='UTC'
set system.@system[-1].tty login='0'
set system.@system[-1].Log size='64'
set system.@system[-1].urandom_seed='0'
修改其中这两个:
#主机名
set system.@system[-1].hostname='LEDE'
#时区,时区为东八区:CST-8
set system.@system[-1].timezone='UTC'
修改后是这样:
generate static systemo[
uci -g batch <<-EOF
delete system. @system[0]
add system system
set system.@system[-1].hostname='myOS'
set system.@system[-1].timezone='CST-8'
set system.@system[-1].zonename='Asia/Shanghai'
set system.@system[-1].timezone
set system.@system[-1].tty login='0'
set system.@system[-1].Log size='64'
set system.@system[-1].urandom_seed='0'
第二次编译
cd lede # 进入LEDE目录
git pull # 同步更新大雕源码
./scripts/feeds update -a && ./scripts/feeds install -a # 更新Feeds
rm -rf ./tmp && rm -rf .config # 清除编译配置和缓存
make menuconfig # 进入编译配置菜单
make -jn V=99 # 开始编译 n=线程数+1,例如4线程的I5填-j5