Error: selected processor does not support `isb ' in ARM mode

2,043 views
Skip to first unread message

Kevin McKinney

unread,
Jul 18, 2019, 10:01:36 PM7/18/19
to BeagleBoard
Hi, I am attempting to cross compile the Linux Kernel 4.20 to be loaded on my BeagleBone Black, however I am receiving the below error:

  AS      usr/initramfs_data.o
/tmp/cc6hWxZG.s: Assembler messages:
/tmp/cc6hWxZG.s:39: Error: selected processor does not support `isb ' in ARM mode
/tmp/cc6hWxZG.s:90: Error: selected processor does not support `isb ' in ARM mode
/tmp/cc6hWxZG.s:354: Error: selected processor does not support `isb ' in ARM mode
scripts/Makefile.build:291: recipe for target 'arch/arm/vfp/vfpmodule.o' failed
make[1]: *** [arch/arm/vfp/vfpmodule.o] Error 1
Makefile:1060: recipe for target 'arch/arm/vfp' failed
make: *** [arch/arm/vfp] Error 2
make: *** Waiting for unfinished jobs....
  CC      init/do_mounts_rd.o
  AR      usr/built-in.a
  CC      init/do_mounts_initrd.o
/tmp/ccBVuroD.s: Assembler messages:
/tmp/ccBVuroD.s:1680: Error: selected processor does not support `cpsid i' in ARM mode
/tmp/ccBVuroD.s:1819: Error: selected processor does not support `cpsid i' in ARM mode
/tmp/ccBVuroD.s:1876: Error: selected processor does not support `cpsie i' in ARM mode
/tmp/ccBVuroD.s:2073: Error: selected processor does not support `cpsie i' in ARM mode
scripts/Makefile.build:291: recipe for target 'init/main.o' failed
make[1]: *** [init/main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
/tmp/cc8dytlI.s: Assembler messages:
/tmp/cc8dytlI.s:808: Error: selected processor does not support `dmb ish' in ARM mode
/tmp/cc8dytlI.s:811: Error: architectural extension `mp' is not allowed for the current base architecture
/tmp/cc8dytlI.s:812: Error: selected processor does not support `pldw [r3]' in ARM mode
/tmp/cc8dytlI.s:815: Error: selected processor does not support `pld [r3]' in ARM mode
/tmp/cc8dytlI.s:821: Error: selected processor does not support `ldrex r2,[r3]' in ARM mode
/tmp/cc8dytlI.s:823: Error: selected processor does not support `strex r1,r2,[r3]' in ARM mode
/tmp/cc8dytlI.s:828: Error: selected processor does not support `dmb ish' in ARM mode
scripts/Makefile.build:291: recipe for target 'init/do_mounts.o' failed
make[1]: *** [init/do_mounts.o] Error 1
Makefile:1060: recipe for target 'init' failed
make: *** [init] Error 2
ERROR

I am running the below commands, and it is crashing on line 14 "building the zImage". Has anyone seen this problem before?

  1 #!/bin/bash
  2 
  3 PATH=${HOME}/x-tools/arm-cortex_a8-linux-gnueabihf/bin/:$PATH
  4 
  5 cd linux-stable
  6 if [ $? != 0 ]; then echo "ERROR"; exit; fi
  7 
  8 make ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- mrproper
  9 if [ $? != 0 ]; then echo "ERROR"; exit; fi
 10 
 11 make ARCH=arm multi_v7_defconfig
 12 if [ $? != 0 ]; then echo "ERROR"; exit; fi
 13 
 14 make -j4 ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- zImage
 15 if [ $? != 0 ]; then echo "ERROR"; exit; fi
 16 
 17 make -j4 ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- modules
 18 if [ $? != 0 ]; then echo "ERROR"; exit; fi
 19 
 20 make ARCH=arm CROSS_COMPILE=arm-cortex_a8-linux-gnueabihf- dtbs
 21 if [ $? != 0 ]; then echo "ERROR"; exit; fi
 22 

Robert Nelson

unread,
Jul 18, 2019, 10:39:53 PM7/18/19
to Beagle Board, klmck...@gmail.com
On Thu, Jul 18, 2019 at 9:01 PM Kevin McKinney <klmck...@gmail.com> wrote:
>
> Hi, I am attempting to cross compile the Linux Kernel 4.20 to be loaded on my BeagleBone Black, however I am receiving the below error:
>
> AS usr/initramfs_data.o
> /tmp/cc6hWxZG.s: Assembler messages:
> /tmp/cc6hWxZG.s:39: Error: selected processor does not support `isb ' in ARM mode
> /tmp/cc6hWxZG.s:90: Error: selected processor does not support `isb ' in ARM mode
> /tmp/cc6hWxZG.s:354: Error: selected processor does not support `isb ' in ARM mode
> scripts/Makefile.build:291: recipe for target 'arch/arm/vfp/vfpmodule.o' failed
> make[1]: *** [arch/arm/vfp/vfpmodule.o] Error 1
> Makefile:1060: recipe for target 'arch/arm/vfp' failed
> make: *** [arch/arm/vfp] Error 2
> make: *** Waiting for unfinished jobs....

Your cross compiler smell's fishy...

arm-cortex_a8-linux-gnueabihf-gcc --version

Regards,

--
Robert Nelson
https://rcn-ee.com/

Kevin McKinney

unread,
Jul 18, 2019, 11:09:29 PM7/18/19
to Robert Nelson, Beagle Board
This is my version below.

Prompt $ arm-cortex_a8-linux-gnueabihf-gcc --version
arm-cortex_a8-linux-gnueabihf-gcc (crosstool-NG 1.24.0.6-afaf7b9) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I installed it via:
git clone //github.com/crosstool-ng/crosstool-ng.git
cd crosstool-ng
./bootstrap
./configure --enable-local
make
make install
--
Thanks,
Kevin

mrjex...@gmail.com

unread,
Jan 2, 2020, 3:02:48 PM1/2/20
to BeagleBoard
Hello,

I'm following the same tutorial and I found the problem:

For the crosstool-ng configuration, the book specifies (or suggests rather) that you set the hardware floating point option to true.  What it didn't mention is that you also need to specify the FPU hardware.  Run ct-ng menuconfig, go to "Target options --> Use specific FPU" and type "vfpv3" which is the floating point unit specification for the Arm Cortex A8 according to its wiki page.  You also may want to specify the Linux version in the "Operating System -->" menu.

Basically you are setting the -mfpu runtime flag for the gcc cross compiler.  Refer to https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html for more information and look for the "-mfpu" flag.

FYI: major Linux distributions, such as Ubuntu, maintain their own pre-built versions of crosstool-ng for ARM.  I find it much easier to just use those than just customizing crosstool-ng from scratch.  This link will put you on the right path: https://elinux.org/Building_for_BeagleBone#Distro_provided

Hope this helps!

Justin

Fernando Domínguez

unread,
Apr 6, 2020, 9:09:56 AM4/6/20
to BeagleBoard
I had the same problem. mrjex...@gmail.com answer was the key.
Reply all
Reply to author
Forward
0 new messages