zoukankan      html  css  js  c++  java
  • DIY 编译 openwrt 固件

    一.线上云编译

    二.手动编译

    这部分采用 大雕lean 的官方教程.链接:https://github.com/coolsnowwolf/lede

    注意:

    1. 不要用 root 用户进行编译!!!
    2. 国内用户编译前最好准备好扶墙手段.
    3. 默认登陆IP 192.168.1.1 密码 password

    编译命令如下:

    1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 20.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 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

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

    4. 加载三方插件库,可修改 feeds.conf.default 或者直接 clone 到 lede/package 目录内,然后执行下方代码

    ./scripts/feeds update -a
    ./scripts/feeds install -a
    make menuconfig # 构建的机型还有插件都在这步里选,LUCI选项里有大部分插件和主题了.
    
    1. make -j8 download V=s 下载dl库(国内请尽量全局扶墙上网)

    2. 输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。

    本套代码保证肯定可以编译成功。里面包括了 R21 所有源代码,包括 IPK 的。

    二次编译:

    cd lede
    git pull
    ./scripts/feeds update -a && ./scripts/feeds install -a
    make defconfig
    make -j8 download
    make -j$(($(nproc) + 1)) V=s
    

    如果需要重新配置:

    rm -rf ./tmp && rm -rf .config
    make menuconfig
    make -j$(($(nproc) + 1)) V=s
    

    编译完成后输出路径:bin/targets

    以上还需要注意的是国内机器在下载的时候,需要添加:export GOPROXY=https://goproxy.io剩下的,只要网络没问题,基本就OK了.

    三.单独编译插件

    tips:如果只想编译某个组件,比如某个.ipk,那么可以使用 sudo make package/xx/compile V=99

    其中xx是组件的名字,比如我要单独编译click modular router组件,OpenWrt的安装包中也有Click但是版本很旧已经被标注BROKEN,所以在menuconfig里面是不可见的,所以我要单独编译生成click.ipk然后使用opkg安装到路由器中。

    https://github.com/rriggio/openw ... ster/click/Makefile

    复制这个makefile替换feeds/packages/net/click重的Makefile,然后cd $TOPDIR,执行:

    sudo make package/click/compile V=99
    即可在bin/ar71xx/packages目录下生成click_20131011-1_ar71xx.ipk

    如果要生成所有选中的packages组件,执行:make package/compile 即可。

    也可参考: https://jarviswwong.com/compile-ipk-separately-with-openwrt.html

    Reference Link

  • 相关阅读:
    Codeforces 787B. Not Afraid
    Codeforces 670D. Magic Powder
    POJ 1979 Red and Black
    T1215:迷宫
    POJ 1163 The Triangle
    洛谷P1219 八皇后
    T1212:LETTERS
    T1317:【例5.2】组合的输出
    洛谷P1706 全排列问题
    codevs 5971 打击犯罪
  • 原文地址:https://www.cnblogs.com/jonnyan/p/15043582.html
Copyright © 2011-2022 走看看