浅谈EABI和OABI
引言
初学嵌入式linux开发的时候大家都用的工具链版本多是3.4.5或3.4.2,名字为arm-linux-gcc或arm-softfloat-linux-gnu-gcc,可突然有一天发现这几个版本的编译器无法编译最新的内核了,并且发现人们都换了工具链了(arm-none-linux-gnueabi-gcc)。于是也都换成了这个工具链,编译内核,制作跟文件系统,按部就班的做,和以前没什么区别。可是紧接着问题来了,当内核启动到最后阶段挂载文件系统是出现如下错误:kernel panic:attempted to kill init。或者什么错误都不提示,只是永远进入不了终端。
这是什么问题呢,答案是大家需要在内核配置的时候选择上如下内容:
make menuconfig
Kernel Features --->
[*] Use the ARM EABI to compile the kernel
这是什么问题呢,答案是大家需要在内核配置的时候选择上如下内容:
make menuconfig
Kernel Features --->
[*] Use the ARM EABI to compile the kernel