这个报错是在我使用了命令:make mrproper之后出现的,make mrproper会清理编译产生的所有文件与config配置文件,也就是.config文件被删掉了。
为了解决这个问题需要重新配置.config文件,可以采用直接cp其它内核源码下的.config文件的方式,也可以通过make menuconfig 一项项配置;我是采用以下命令进行配置的,也就是使用默认的配置。
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- defconfig
还有一些相关的配置命令可以参考:
make ARCH=<平台> config #比较繁琐,不推荐
make ARCH=<平台> oldconfig #常用于内核升级,提示新内核特性
make ARCH=<平台> menuconfig #常用
make ARCH=<平台> xconfig #X界面的配置方式
make ARCH=<平台> gconfig #GTK界面的配置方式
make ARCH=<平台> defconfig #使用默认的配置
make ARCH=<平台> allyesconfig #所有配置选项设置为yes
make ARCH=<平台> allmodconfig #所有选项配置为module
以及在配置.config命令之前,我先使用了几个命令,清除了之前产生的文件:
make clean //只清理编译所有产生的文件
make mrproper //清理编译所有产生的文件与config配置文件
make distclean //清理编译所有产生的文件与config配置文件,并且编辑过的补丁文件
然后就是指定相关架构和交叉编译链进行编译:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8
以上只是配置交叉编译环境的记录,如果有误请大家多多指正!
参考:
https://zhuanlan.zhihu.com/p/475992952
https://blog.csdn.net/weixin_40407893/article/details/105328998
https://blog.csdn.net/Luckiers/article/details/124531266