Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

出现这个问题的原因可能如下:

1. rootfs (busybox), kernel 编译的时候,没有选中 EABI 选项

可以用 readelf 查看是否有 EABI:

$ arm-linux-gnueabi-readelf  -h vmlinux | grep Flags
  Flags:                             0x5000202, has entry point, Version5 EABI, soft-float ABI
2. 编译busybox 和 kernel 的工具链的体系结构不一样

我就遇到过这样的问题, busynox是用 arm a9 gcc 编的, kernel 是用 arm a15 gcc编的,结果,系统boot的时候就报这个错了。

也可以用 readelf 查看二进制文件的编译器类型

$ arm-linux-gnueabi-readelf  -A vmlinux
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_FP_arch: VFPv3
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align_needed: 8-byte
  Tag_ABI_enum_size: int
  Tag_CPU_unaligned_access: v6


你可能感兴趣的:(Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004)