因为工作需要需要,需要深入了解openwrt的相关知识,那么就从编译镜像开始吧。

0. 准备工作

编译环境: Ubuntu 16.04
源码: Github

1. 开始干活

  1. 首先,我们去到上面的github仓库里面下载源码,下载到我们的编译机里面。
  2. 打开源码目录,执行make menuconfig看一下各种依赖库是否都安装好,理论上需要安装下述这些依赖:gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers
  3. 我们更新下组建和包

        ./scripts/feeds update -a
        ./scripts/feeds install -a
  4. 修改下芯片信息就可以开始编译了,make menuconfig进行修改,Target System>MediaTek Ralink ARM,这里需要注意,我第一次编译没有注意这里,发现编译出来的不是我板子的芯片的,然后修改这里重新编译就好了。
  5. 开始编译,第一次编译建议使用make -j1 V=s,虽然这会很慢,但是好排错(大神介绍的,我一次过的),确定没问题了,后面为了加快速度你可以使用make -j4

    2. 生成文件

    编译完成后,会在build_dir/target-arm_cortex-a7+neon-vfpv4_musl_eabi/linux-mediatek_32目录下生成编译后的镜像文件:

    mtk-bpi-r2-SD.img
另外还有一个文件也要注意一下,就是位于`bin/targets/mediatek/32/lede-mediatek-32-bananapi,bpi-r2-sysupgrade.tar`,这个文件可以用于系统升级。
最后修改:2019 年 03 月 26 日
如果觉得我的文章对你有用,请随意赞赏