systemd: Freezing execution in intel ATOM processor

We have a legacy device with following configurations:


Chipset Architecture : Intel NM10 express

OS : Yocto warrior

CPU : Atom D2250 Dual Core

Volatile Memory : 2GB DDR3

CPU core : 4


I have generated 64-bit core-image-sato and run on my device but *systemd* freezes execution with SIGILL (as shown below). I have set MACHINE to “intel-corei7-64”.

systemd[1]: Set hostname to <panther1>.

traps: systemd[1] trap invalid opcode ip:7f257b9b8bd7 sp:7ffe7bc63090 error:0 in[7f257b8b4000+12f000]

systemd[1]: Caught <ILL>, core dump failed (child 77, code=killed, status=4/ILL).

systemd[1]: Freezing execution.


  PLEASE NOTE, THE ISSUE IS NOT OBSERVED WITH 32-BIT IMAGE(where MACHINE is set to “intel-core2-32”).


From @Peter Cordes,

… Obviously the assembly instruction that faulted would be more relevant than the source code. If your GCC compiled with anything that -march=native doesn't include, your binaries can include instructions that your CPU doesn't support. says your CPU only supports up to SSSE3, and thus not popcnt or SSE4.1 which GCC certainly can use when optimizing / auto-vectorizing pure C code. (SSE4.2 doesn't tend to get used automatically, unless you count popcnt as part of that.) So that easily accounts for GCC emitting code that will SIGILL on your machine. BTW, if you're cross-compiling, you need -march=atom not native…


I tried with “-march=atom” but build fails with “unable to find CPU model 'atom'”. I also tried other ways(like changing DEFAULTTUNE, passing -msse3 parameter etc) but got compilation issues and nothing worked out.


My queries:

  • Is intel-corei7-64 machine expected to run on intel Atom based processor?
  • Is there any specific BSP provided by Intel for Atom based processor which can be used to generate 64-bits sato image?
  • Any suggestion on how 64-bit sato image can be run smoothly on Atom processor?



Join to automatically receive all group messages.