8

Lede编译备忘

 2 years ago
source link: https://3mile.github.io/archives/2019/0525110729/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

我自己使用的是ubuntu 18.04编译,也可以用mint linux 19.01编译。反正都是相同的内核。 不要用 root 用户 git 和编译!!!

一. 首次编译

1. 首先安装依赖

命令行输入 sudo apt-get update ,然后输入
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

2. 下载源码

git clone https://github.com/coolsnowwolf/lede
./scripts/feeds update -a 
./scripts/feeds install -a
make menuconfig 

4. 推荐的必要工具

ipv6help
mwan3
usbutils和pciutils
unzip
mii-tool

5. 预先下载dl库,可以避免下载造成的编译失败。全局科学上网

make download V=s
make -j5 V=s (#n=线程数+1,例如4线程的I5填-j5,开始编译)

二. 再次编译

cd lede                                                          #进入LEDE目录
git pull                                                         #同步更新大雕源码
./scripts/feeds update -a && ./scripts/feeds install -a          #更新FEEDS
make clean
rm -rf ./tmp && rm -rf .config                                   #清除编译配置和缓存
make menuconfig                                                  #进入编译配置菜单
make download V=s 
make -j2 V=s                                                     #n=线程数+1,例如4线程的I5填-j5,开始编译

三. 自定义Lede 固件

修改zzz-default-settings文件

修改主机名和ssr-plus彩蛋,/lede/package/lean/default-settings/files/zzz-default-settings

修改hostname

在zzz文件中uci set

system.@system[0].timezone=CST-8后增加

uci set system.@system[0].hostname=Openwrt-x86

Openwrt-x86可以改为你想要的名字

解封不可描述

解封ssr彩蛋,在该文件exit 0 上方适当的位置加上下列命令,安装后可以直接看到ssr-plus

echo 0xDEADBEEF > /etc/config/google_fu_mode

设置 Wan

如果仅是自用固件,可以在该文件exit 0 上方适当的位置加上加入下列命令,设置Wan网口,添加路由器pppoe拨号账户密码,装好即可上网

uci set network.wan.proto='pppoe'
uci set network.wan.username='宽带账号'
uci set network.wan.password='宽带密码'
uci set network.wan.ifname='eth3'   //我的wan接口是eth3,你要根据自己的路由器情况改
uci set network.wan6.ifname='eth3'
uci commit network   

修改Lan

想要修改管理ip地址和lan口配置,可以在该文件exit 0 上方适当的位置加上加上下列命令

uci set network.lan.ipaddr='192.168.0.8'    //改成你想要默认的管理ip
uci set network.lan.proto='static'          //wan口静态IP方式
uci set network.lan.type='bridge'           //设置桥接
uci set network.lan.ifname='eth0 eth1 eth2 eth4 eth5' //根据自己的路由器情况改Lan口 
uci commit network

固化 /etc/config

(编译保存你的配置)files大法:实际就是把现在的配置以文件的形式固化到新固件里。这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置 固化某配置教程例子: 1.提取路由固件下的\etc\config\network 2.在编译机LEDE根目录下创建files目录 3.拷贝到 \files\etc\config\network 这样编译完,network就是你自己配置好的network,注意提取的文件路径和权限要一致

\etc\config                                      各个LUCI配置

\etc\gfwlist                                     gfwlist目录

\etc\shadow                                      登录密码

\etc\firewall.user                               自定义防火墙规则

\usr\share\adbyby                                adbyby里的相关规则和设置

\usr\lib\lua\luci\view\admin_status\index.htm    主页样式文件,温度显示等等


X86架构固件的index,默认被大雕files强奸了,自己到源码里替换/lede/package/lean/autocore/files/index.htm 如果无效请make clean或者删除/lede/build_dir/target架构/autocore-1(编译其他失败同理)

其中,常用的自定义文件包括以下:

etc/config/system #里面有主机名,时区,ntp时间服务器设置
etc/config/network #网络设置
etc/config/dhcp    #如果对dhcp有分配ip
etc/config/ddns    #ddns设置
etc/config/aliddns #aliddns设置
etc/config/adbyby  #广告过滤大师设置 ,如果有自定义广告过滤大师可以复制过去
etc/config/firewall #防火墙
etc/config/gfw.ilst #自定义gfw列表
etc/config/transmission #transmission
etc/config/udpxy
etc/config/samba

如果有etc/config/samba,那么必须要有/etc/samba/smbpasswd 否则没有权限

安装完后要做的事

系统=>管理权=>修改密码

网络=>接口=>wan 改pppoe

高级=>取消"使用内置的 IPv6 管理” “Obtain IPv6-Address” 禁用 “使用网关跃点” 40

增加iptv

高级: “使用网关跃点 60 “请求 DHCP 时发送的客户端 ID” 00xxxxxxxxxxxxxxxxxxxx “请求 DHCP 时发送的 Vendor Class 选项” SCITV “重设 MAC 地址” 54:93:59:xx:xx:xx 防火墙: 新增"iptv” 防火墙

修改lan

基本设置: “IPv6 分配长度 " 禁用 高级设置: “使用内置的 IPv6 管理” 禁用 dhcp服务器:全部关闭

dhcp设置

端口映射:群晖各端口 80,443,5000,5001

ShadowSocksR Plus+:

  1. 设置服务器节点
  2. 不走代理的WAN IP vps地址
  3. 不走代理的局域网IP 各个盒子IP,群晖IP
  4. GFW列表
   lala.im

   github.com

   manjaro.org

   pornbay.org

   empornium.ph

   github.io

   toutyrater.github.io

   services.googleapis.cn

   googleapis.cn

   i.pstorage.space

  1. 广告屏蔽大师 Plus+

    运行模式:列表模式

    客户端过滤模式设置:加入各个盒子 高级设置:手动强制更新(ssh运行 /usr/share/adbyby/adblock.sh > /tmp/adupdate.log 2>&1

动态DNS

设置f3322.org
阿里DDNS

UDPXY

设置"Source IP/Interface” eth2

网络共享:
  1. 允许用户root,0755,0777

  2. 编辑模板: #invalid users = root

  3. ssh设定密码 smbpasswd -a root

  4. 重启openwrt

Transmission

配置文件的目录 /mnt/sda3/transmission/.config 下载目录 /mnt/sda3/transmission/done 启用 DHT 禁用 防火墙51413映射 ssh

  
wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control-cn.sh
bash install-tr-control-cn.sh
选择 6
输入/usr/share/transmission
然后选择1安装

修改软件源

教育网镜像源貌似改成https了,wget需要安装libustream-mbedtls来支持tls

  1. 先把软件源改成
src/gz openwrt_core http://downloads.openwrt.org/snapshots/targets/x86/64/packages

src/gz openwrt_base http://downloads.openwrt.org/snapshots/packages/x86_64/base

src/gz openwrt_luci http://downloads.openwrt.org/snapshots/packages/x86_64/luci

src/gz openwrt_packages http://downloads.openwrt.org/snapshots/packages/x86_64/packages

src/gz openwrt_routing http://downloads.openwrt.org/snapshots/packages/x86_64/routing

  1. 然后更新源
opkg update
  1. 安装libustream-mbedtls
opkg install libustream-mbedtls
  1. 安装完成后把源改回教育网的https源
src/gz openwrt_core https://openwrt.proxy.ustclug.org/snapshots/targets/x86/64/packages

src/gz openwrt_base https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/base

src/gz openwrt_luci https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/luci

src/gz openwrt_packages https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/packages

src/gz openwrt_routing https://openwrt.proxy.ustclug.org/snapshots/packages/x86_64/routing

opkg update

最后设置dhcp

把etc/config/dhcp复制过来或者

设置dhcp里‘静态地址分配’,方便管理各主机


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK