OpenWrt 编译杂记

113 篇文章 10 订阅
87 篇文章 31 订阅

目录

1 概述:

2 官方的简要编译文档

3 初次编译:

4 二次编译

4.1 如果需要重新配置:

5 总结:


1 概述:

​ 根据github大神提供的教程,用人家的编译代码输入命令行逐步执行就好了!(中间输入自己路由的cpu架构和cpu型号以及路由的型号),如果要装插件,位置在luci -application里,自己选择就好了了!

Github大神提出的编译注意事项:

  • 不要用 root 用户进行编译!!!
  • 国内用户编译前最好准备好梯子
  • 默认登陆IP 192.168.1.1 密码 password
2 官方的简要编译文档

​ 官方文档

3 初次编译:
  • 首先装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x642.更新软件目录 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 clang

  • 更新和安装feeds 使用 git clone git@github.com:openwrt/openwrt.git 命令下载好源代码,然后 cd lede 进入目录

    • ./scripts/feeds update -a

    • ./scripts/feeds install -a

  • 配置内核信息(路由器芯片和型号etc) make menuconfig

  • 开始编译 make -j8 download V=s 下载dl库(国内请尽量全局科学上网),中途如果报错,可能需要临时切换到单线程编译,之后再切换到多线程编译,输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。本套代码保证肯定可以编译成功。里面包括了 R21 所有源代码,包括 IPK 的。

4 二次编译
  • cd openwrt

  • git pull

  • ./scripts/feeds update -a && ./scripts/feeds install -a

  • make defconfig

  • make -j8 download

  • make -j(((((nproc) + 1)) V=s

4.1 如果需要重新配置:
  • rm -rf ./tmp && rm -rf .config
  • make menuconfig
  • make -j(((((nproc) + 1)) V=s

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

由于wsl的PATH路径中包含带有空格的Windows路径,有可能会导致编译失败,请在将make -j1 V=s或make -j(((((nproc) + 1)) V=s改为

首次编译:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j1 V=s

二次编译:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j(((((nproc) + 1)) V=s

对了,如果你有安装第三方插件的需求,可以按照下面的命令:

在ubuntu输入命令make menuconfig进入编译页面(如果进不去,是忘了输入cd lede了,没有指定路径),插件都是装在luci-application里面的,接下来就是在github上找到插件的仓库地址,然后命令如下:

cd package/lean/

git clone +XXXX

cd ..

cd ..

make menuconfig

make package/lean/插件名称/compile V=s

插件名称就替换成你要装的那个插件的名字!

注意: 上面初次编译的第6步就是编译固件了,过程需要6个小时左右,非常慢,我编译了两次,不知道怎么回事,始终没有bin后缀的编译文件,不知道哪里出错了,如果是第一次编译,尽量不要选择太多的插件,就默认也好,先走一遍流程,尽量确保第一次成功,不然后面失败率据说有点高,第一次教程说挺重要的!我的这个就暂时不弄了,太慢了,这个文章也是写下来做个记录,不然就很快忘了!

5 总结:

到这里基本就是等编译结果了,如果编译结束你看代码没有出现任何ERROR的字样,那大概率可能成功了,如果出现了可能就失败了,我以为我的会成功,因为他编译了整整6个小时,结果结果中两次都带有ERROR字样,所以果不其然,根本找不到bin后缀的编译固件,其他插件等ipk文件等倒是都在,简单总结就是,第一步首先安装ubuntu,应该是模拟linux环境,然后就找github大神提供的代码逐步执行就好了,简直是保姆级教学,不过我找了老毛子固件的编译,好像没有写这么详细的,期间遇到什么命令行输入出错之类的,后来就没继续了,因为教程写的不够详细,作为小白出错率就非常高了!大致就这些内容,就当个记录,不然虽然编译了一遍,不记录估计很快就忘了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值