• 主页
  • 归档
  • 软件
所有文章 友情链接 关于我

  • 主页
  • 归档
  • 软件

内核编译排错

2025-06-25

#KernelSU# #内核比rom还重要# #内核#
(coolapk 不支持 Markdown ,凑活看吧.jpg)

注:
1.本人是小白,如有勘误请多多指教。
2.我会默认读者看过我上一篇文章。

context (仅供娱乐):
你是一个开挂大手子,听说昨天有个大佬开发了 xx 最新内核驱动能过三角洲检测。你为了带妹装逼于是就要到了文件。然后跟着 coolapk 上不计其数的编译教程开始编译,然后遇到了一堆报错,然后就没有然后了。

所以遇到编译报错要怎么办呢?删库跑路吗?不!报错不应该成为阻挡每个人求知的脚步。本文章会列出部分报错供参考。

注: 本文章会有一些旁门左道,请谨慎使用。

编译前报错
1.xxx not found
依赖没装全,解决办法用包管理器搜索相关字符串然后安装。但是有些包会没有,例如 生成 dtbo.img 时部分源码的 mkdtboimg.py 会用到 Python2. 但是软件源里没有。
解决办法办法: 1.用旧版本源安装,2.手动编译,3.关掉生成 dtbo 选项,只生成内核,以此类推。
2. .config file does noe exist
检查配置阶段是否配置了 O= 变量,如果配置过了则需要添加进去。
3. can’t source xxx/Kconfig
没有 Kconfig 文件,多出于 oplus 内核。
解决办法: 下载对应的 vendor kernel source 并放到指定位置。可查看 xxx 指向的链接然后调整位置。
4. gold linker is not supported.
内核不支持 gold 连接器,解决办法: 换成 bfd linker 或者 lld linker。如 LD=ld.lld
5. /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x50): multiple definition of `yylloc’; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
检查 本机 linker 的路径。如果认为没有问题但还是出现了这个报错的话请将 YYLTYPE yylloc 这行前面加上 extern
6. Kconfig: syntax error/invaild option
Kconfig 语法问题,没救了,换个源码吧,
7. exec format error
多出现在 arm64 环境编译时,而对应工具使用了不同的编译架构,如 amd64
解决方法: 使用 box64 或者 qemu-user-static

编译时报错(指的是从 WARP 到 OBJCOPY 阶段)
此阶段排错方向为 编译器 > 配置文件 > 源码
当然并不是一定得遵循这个方向。这个方向只是给个参考。
注: 我们的目标是先解决报错,再解决启动的问题。
注: 少部分报错是配置阶段直接使用 defconfig 导致的
注: 善用 ai,不要滥用,也不要伸手。多动脑。

1.固定报错部分

  • 1.error:CROSS_COMPILE_ARM32 not defined or empty, the compat vDSO will not be built.
    没有指定 32 位交叉编译器
    解决办法: 1,指定一个 32 位交叉编译器。2,配置文件中关掉 CONFIG_COMPAT_VDSO
  • 2.ld: unknown -xxx option
    linker 不支持这个参数
    解决办法: 1,换一个支持的 linker, 2.检查报错文件夹的 Makefile 或者 KBuild 是否有这个参数然后删掉。
  • 3.xxx.h not found
    没有这个头文件
    解决办法: 使用 find 命令找到这个头文件,复制到报错目录,修改编译报错的 c 文件中出错的行(编译器会给出来)改成 “xxx.h”
  • 4.no number named xxx
    类没有成员变量 xxx,处理类定义之前,发现了同名的宏,在预处理阶段把类成员当成了宏作为宏的替换
    解决方法:

#ifdef xxx
#undef xxx
#endif

2.不固定报错部分

  • 1.带-Werror参数报错并给出了修正提示
    解决方法: 1.在编译参数添加 KCFLAGS+=”-Wno-error”.2.修改对应Makefile并在第一行添加 KCFLAGS+=”-Wno-error” 3.按照提示修改,4.换编译器,5.配置文件关掉这个功能,6.换源码
  • 2.-Werror参数报错但没有出了修正提示
    解决办法同上,但第三点不适用。
  • 3.编译错误但是错误点指向的符号
    检查是否漏写分号,花括号等,或者换一个源码
    3.链接部分
  • 1.符号问题
    多为符号未定义或者符号重定义。
    符号未定义: 检查符号是否声明,是否定义了实现。是否在作用范围内,或者关掉对应选项
    2.符号重定义
    函数不匹配,检查对应函数或者头文件,如一个是 #include <asm/uaccess.h> 一个是#include <linyx/uaccess.h> 且都调用了相同的函数,这个时候需要吧asm改成linux,或者关掉对应选项
    3类似于 .Section mismatch in reference from the function bootloader_log_probe() to the function .init.text:of_bootloader_log_platform_data() 这样的报错
    一个用了 __init 一个没用,__init的意思是仅在系统启动时使用。检查函数是否启动后一直使用然后确定是否去掉或加上 __init


-------------本文结束感谢您的阅读-------------



  • Android
  • 内核
  • 编译

扫一扫,分享到微信

微信分享二维码
关于高通gunyah虚拟化的一些研究
No Such File Or Directory

预览:

0  字
评论
  • Latest
  • Oldest
  • Hottest
评论区空空荡荡,客官快来评论吧~
Powered by Waline v2.15.8
© 2025 dpkg123
本站已苟活 2 年 140 天 23 小时 16 分钟 29 秒
Hexo Theme Yilia by Litten
萌ICP备20231955号
  • 所有文章
  • 友情链接
  • 关于我

tag:

  • 3DS
  • linux
  • buildroot
  • kernel
  • android
  • makefile
  • OPPO
  • miui
  • coloros
  • 手机
  • PostmarketOS
  • ROM移植
  • 刷机
  • dtb
  • dtc
  • hexo
  • web前端
  • github
  • shell
  • 刷机工具
  • 9008
  • 二次元
  • twrp
  • build
  • Android
  • Root
  • Github
  • CI
  • Linux
  • debian
  • 虚拟化 Android
  • 内核
  • 编译
  • 网页加速
  • 归档
  • 番剧
  • 别当欧尼酱了
  • 哔哩哔哩
  • av10492
  • 猎奇
  • TypeScript
  • Github Actions
  • 网页搭建
  • 速通
  • 教程
  • 奇技淫巧
  • 杂谈
  • android kernel
  • gki
  • 联发科
  • KernelSU
  • kvm
  • alpine
  • 软件源
  • vps
  • kernelSU
  • 移植
  • 内核编译
  • Kernel
  • fastboot

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 内核编译排错

    2025-06-25

    #Android#内核#编译

  • 关于高通gunyah虚拟化的一些研究

    2025-03-03

    #虚拟化 Android

  • 安卓内核编译速通

    2025-02-13

    #Android#内核#编译#速通#教程#奇技淫巧

  • 使用github工作流全自动构建postmarketos刷机包

    2025-02-13

    #手机#刷机#Android#Root#Github#CI#Linux

  • PostmarketOS移植常见问题

    2024-08-12

    #linux#android#PostmarketOS#ROM移植#刷机

  • 本地搭建第三方alpine repo

    2024-03-22

    #linux#alpine#软件源

  • 折腾ts action遇到的其中一个问题

    2024-02-11

    #TypeScript#Github Actions

  • dtc编译教程

    2024-01-29

    #linux#android#dtb#dtc

  • OPPO Reno6 ColorOS13.1内核源码编译记录

    2024-01-15

    #kernel#android#OPPO

  • Android boot.img 文件的解包、修改与重打包小记

    2023-12-24

    #linux#android

  • twrp设备树从入门到放弃

    2023-12-10

    #linux#android#twrp#build

  • 3DS折腾linux小记

    2023-10-06

    #3DS#linux#buildroot#kernel

  • 暂停更新博客通知

    2023-08-08

    #杂谈

  • Makefile入门

    2023-08-04

    #linux#makefile

  • linux电脑给手机进行9008刷机

    2023-07-28

    #linux#刷机#9008

  • 浅谈安卓内核的碎片化

    2023-07-19

    #kernel#android#android kernel#gki

  • 哔哩哔哩危险地带部分补档

    2023-06-28

    #哔哩哔哩#av10492#猎奇

  • 使用dh_make快速构建deb

    2023-06-22

    #linux#debian

  • linux解压payload.bin和转换system.new.dat.br

    2023-06-18

    #linux#android#刷机

  • 浅谈联发科设备玩机的可能性

    2023-05-15

    #刷机#联发科#KernelSU#kvm

  • 给OPPO Reno6移植kernelSU

    2023-05-10

    #linux#kernelSU#移植#内核编译#Kernel

  • 别当欧尼酱了12集归档

    2023-05-02

    #归档#番剧#别当欧尼酱了

  • 珍爱生命,远离小众云

    2023-05-01

    #vps

  • fdt转dtb

    2023-04-30

    #android#dtb

  • coloros和miui

    2023-04-30

    #android#miui#coloros#手机

  • linux刷机工具箱

    2023-04-29

    #linux#shell#刷机工具

  • 简单写一个shell刷机脚本之进阶篇

    2023-04-29

    #linux#刷机#shell#fastboot

  • 简单写一个shell刷机脚本

    2023-04-29

    #linux#刷机#shell

  • linux娘

    2023-04-12

    #linux#二次元

  • 使用netlify加快博客访问速度

    2023-04-12

    #hexo#github#网页加速

  • hexo博客源码备份

    2023-04-10

    #hexo#web前端#github

  • 新博客

    2023-04-10

    #hexo#网页搭建

  • Hello World

    1970-01-01

  • note现在暂不考虑申请新的友链
  • 图床
  • 留言板
  • 原来的博客
  • Adminzhangの个人博客
  • cyp0633的blog
  • 小码同学
  • U.M.R-Powered-Blog
  • 秋澪Akimio
  • ialtone的小站
  • PiCpo的阁楼
  • artiga033
  • 柏园猫のBlog
  • 欠陥電気の摸鱼小池
  • 洛仙璃の幻梦
  • 木屐落在水洼了
  • 湛蓝的调色板
  • SakuraKooi的Blog
  • 新世界的大门
  • 沨鸾的小窝
  • Revincx
  • JIPA233の小窝
  • Mufanc
  • Fika
  • Pinpe的物语
  • 残夜的小博客
透明小菜鸡一枚<br><br>目前正在学习C++和C<br>正在移植postmarketOS到k30pro上<br>本博客使用github-page作为网页托管平台,netlify提供cdn加速服务。<br>不知道为啥yilia主题改不了下面的文字。<br>总之欢迎来到这里!