编译OpenWrt到,制作一键安装包

  • A+
所属分类:OpenWrt

中文:如何编译自己需要的 OpenWrt 固件

注意:
1. 不要用 root 用户 git 和编译
2. 国内用户编译前最好准备好梯子
3. 默认登陆IP 192.168.1.1, 密码 password

编译命令如下:

  1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 18.04 LTS x64

  2. 命令行输入 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 device-tree-compiler

  3. git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录

  4. 执行下面命令
    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig

  5. 最后选好你要的路由,输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网)即可开始编译你要的固件了。

  6. 解包到/opt目录下
    cd /opt
    tar xvzf mk_openwrt_src.tar.gz

  7. 依赖:
    /opt/imgs/Armbian_xxxxxx.img #armbian镜像,内核和相关文件从此镜像抽取
    镜像名字需要在 /opt/openwrt/mk_xxx.sh里面修改成正确的
    镜像的文件名需要与真实文件名一致, KERVER_VERSION 变量的值要与 armbian镜像里的内核版本一致, 例如:
    Armbian-xxxxx.img 里面的 内核版本可能是 5.3.0-aml-g12, 或是 5.2.0-aml-s905之类的,必须与KERVER_VERSION一致

  8. openwrt-armvirt-64-default-rootfs.tar.gz
    放到/opt/openwrt目录下

  9. 执行下面命令
    cd /opt/openwrt
    ./mk_n1_opimg.sh # 创建n1 op img
    ./mk_beikeyun_opimg.sh # 创建 beikeyun op img

  10. 生成的目标镜像所在的目录
    /opt/openwrt/tmp

  11. openwrt依赖项:(编译openwrt时需要添加的包,配合inst-to-emmc.sh update-to-emmc.sh update-beikeyun-openwrt.sh 等使用,以及cpu温度频率监测时用到)
    language里的 perl、perlbase-utf8

  12. Utilities -> disc : fdisk blkid lsblk

  13. Utilities -> filesystem: 能选的都选上,编译不过的就不用选
  14. Utilities: losetup uuidgen tar gawk getopt

上述依赖包清单不一定完整,根据实际情况再添加
注:打包用的linux系统也需要用到上述软件包, linux另需要 parted 和btrfs-progs, 不需要fdisk,lsblk的版本要求是2.33或以上,用lsblk --version查看版本。linux版本建议debian10或ubuntu19以上。
12. 默认IP: 192.168.1.1 默认密码: password
注:如果用这个固件做旁路由的话不要忘了加自定义防火墙规则(网络->防火墙->自定义规则):
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
也可以尝试(有桥接存在的情况下)
iptables -t nat -I POSTROUTING -o br-lan -j MASQUERADE
13. KCPTUN格式如下

~~~
--crypt aes --mode fast2 --mtu 1350 --sndwnd 2048 --rcvwnd 2048 --datashard 10 --parityshard 3 --dscp 0
~~~
14. 修改默认IP
cd openwrt
vim package/base-files/files/bin/config_generate 大概第99行

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin