我正在尝试为 ARM 板(versatilepb)编译 Linux 内核(2.6.32.70),这是我在嵌入式 Linux 中迈出的第一步。
编译结束时,会在/arch/x86/boot
和/arch/i386/boot
目录中生成两个压缩内核映像,而不是在/arch/arm/boot
.所以看起来它不能为 ARM 来宾编译。
首先,我调用make versatile_defconfig
以生成默认配置文件。我还键入make menuconfig
以启用该选项Use the ARM EABI to compile the kernel
。然后我使用make V=1
root 权限进行编译(没有 root 权限就无法工作)。在我的环境中,这两个变量被定义为 :$ARCH=arm
和$CROSS_COMPILE=arm-linux-gnueabi-
。
即使在生成配置文件之后,编译过程中出现很多问题是否正常?问题是关于内核压缩模式、处理器系列……对于最后一个,答案似乎只有 x86 一个类似的 cpu !
答案1
最后它起作用了,似乎我的内核目录不是那么干净,即使在make clean && make mrproper
.
从从存档中提取的内核源重新启动后,我可以在make V=1
没有 root 权限的情况下进行操作,并且不会提出任何问题。该目录/arch/arm/boot
还包含压缩内核的映像(zImage)。