OpenWrt构建中遇到的问题以及解决办法

1. abd下载失败
make package/utils/adb download failed
失败原因:主要是墙的问题,国内不能访问 https://android.googlesource.com/platform/system/core

解决办法一:
$ git config --global http.proxy 127.0.0.1:代理服务器端口号
具体解释请看https://blog.csdn.net/qq_33487412/article/details/78458000

解决办法二:
将下载好的adb拷贝到dl目录下,通过观察package/utils/adb/Makefile,adb的版 本基本相同,可以通过将现成的adb拷贝到dl下,该问题可以得到解决。

PKG_NAME:=adb
PKG_VERSION:=android.5.0.2_r1
PKG_RELEASE:=2

PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://android.googlesource.com/platform/system/core
PKG_SOURCE_VERSION:=6fe92d1a3fb17545d82d020a3c995f32e6b71f9d

附上adb的国内下载地址

2. 编译时遇到的一些错误,用make -j1 V=s调试会得到以下类似调试信息

/usr/bin/ld: ../lib/libext2fs.a(ismounted.o): in function `check_mntent_file':
ismounted.c:(.text+0x22d): undefined reference to `major'
/usr/bin/ld: ../lib/libblkid.a(devname.o): in function `probe_all':
devname.c:(.text+0x847): undefined reference to `makedev'
/usr/bin/ld: devname.c:(.text+0xb6e): undefined reference to `makedev'
/usr/bin/ld: devname.c:(.text+0xc33): undefined reference to `makedev'
collect2: error: ld returned 1 exit status


/usr/bin/ld: debugfs.o: in function `do_mknod':
debugfs.c:(.text+0x3cb4): undefined reference to `makedev'
/usr/bin/ld: create_inode.o: in function `do_mknod_internal':
create_inode.c:(.text+0x2a0): undefined reference to `major'
/usr/bin/ld: create_inode.c:(.text+0x2ae): undefined reference to `minor'
collect2: error: ld returned 1 exit status

解决办法:这些都是同样类型的错误,修复方法是#include添加到ismounted.c,devname.c,debugfs.c,create_inode.c文件中
启发来源于manjaro下6.828实验环境配置

3. 最新版OpenWrt/Lede编译教程,以及各类版本不同引发的错误总结,持续更新
这篇博客对我帮助很大,解决了很多问题

4. 授人以鱼不如授人以渔
在openwrt的论坛中,可以解决大部分问题,通常以提供补丁的形式解决 https://forum.openwrt.org/

你可能感兴趣的:(OpenWrt构建中遇到的问题以及解决办法)