diff --git a/package/base/linux/linux.conf b/package/base/linux/linux.conf index 1b20caa4e..c32163c2a 100644 --- a/package/base/linux/linux.conf +++ b/package/base/linux/linux.conf @@ -430,13 +430,18 @@ main_lx() { ;; mips) eval $MAKE vmlinux - $BUILDCC arch/mips/boot/elf2ecoff.c -o elf2ecoff - ./elf2ecoff vmlinux vmlinux.ecoff + # elf2ecoff only works for kernels with a 32-bit code model + if grep -q "^CONFIG_32BIT=y" .config ; then + $BUILDCC arch/mips/boot/elf2ecoff.c -o elf2ecoff + ./elf2ecoff vmlinux vmlinux.ecoff + fi cp -vf vmlinux $root/boot/vmlinux_${lx_kernelrelease} - cp -vf vmlinux.ecoff $root/boot/vmlinux_${lx_kernelrelease}.ecoff + [ -f vmlinux.ecoff ] && cp -vf vmlinux.ecoff \ + $root/boot/vmlinux_${lx_kernelrelease}.ecoff if [ "$xpkg" = "$ROCKCFG_PKG_LINUX_DEFAULT" ]; then ln -svf vmlinux_${lx_kernelrelease} $root/boot/vmlinux - ln -svf vmlinux_${lx_kernelrelease}.ecoff $root/boot/vmlinux.ecoff + [ -f $root/boot/vmlinux.ecoff ] && ln -svf \ + vmlinux_${lx_kernelrelease}.ecoff $root/boot/vmlinux.ecoff fi ;; ppc)