## 问题描述
本人萌新,因为一些个人原因需要编译一个内核 ( https://github.com/Jimbo77/Jimbok_common_sm8250-R ) ,不过这个内核比较奇怪,感觉是用的较高版本gcc进行编译的 (也可能是用clang编译的我并不清楚,作者也没有留下任何与内核编译相关的说明) 。我用gcc11以下的版本尝试编译都会在开始时报错:
cc1: 警告: unrecognized command line option "-Wno-visibility"
cc1: 警告: unrecognized command line option "-Wno-ignored-attributes"
cc1: 警告: unrecognized command line option "-Wno-int-conversion"
cc1: 警告: unrecognized command line option "-Wno-pointer-compare"
cc1: 警告: unrecognized command line option "-Wno-bool-operation"
cc1: 警告: unrecognized command line option "-Wno-ignored-optimization-argument"
cc1: 警告: unrecognized command line option "-Wno-misleading-indentation"
gcc11的确能编译了但是仍然有错误,目前主要是主目录下这个文件 ./include/linux/kern_levels.h 引起的一大堆警告和错误,看了下是字符转换类型的故障,可能是编译器不正确造成的。
其次是编译时始终有一个指令
secgetspf 找不到 (make[4]:secgetspf:命令未找到)
在网上搜了一圈也没找到相关的信息。
## 复现环境
ubuntu20.04.3 gcc和clang都是ubuntu官方版本(是的我是硬把21.1的镜像库挪进来安装的,至少我还没找到别的地方有gcc11的交叉编译器源码)
## PS
作者发布内核的地址:https://forum.xda-developers.com/t/eol-kernel-04-10-21-q-1-6-3-r-2-6-0-jimbok-kernel-for-sm-8250-s20-and-note-20-snapdragon.4167363/ (android 11/R)
我同时也去作者的telegram去问了,然而一个星期了也没有回复。或许是我英语太渣了,也许你可以再去试试。
deconfig应该选择 ./arch/arm64/configs/vendor/JimboK_defconfig ,并且 make menuconfig 在里面勾选至少一个机型,作者对这个deconfig的魔改有点严重。
我还在xda论坛上找到了一个gcc12的交叉编译器:(https://forum.xda-developers.com/t/gcc-toolchain-eva-gcc-calling-all-kernel-devs.4221409/) 但同样过不了,而且基本上每一个c文件都有警告。