[yocto] Kernel modules fail to compile for ARM

Chris Tapp opensource at keylevel.com
Mon May 14 12:50:59 PDT 2012


On 14 May 2012, at 20:05, Bruce Ashfield wrote:

> On 12-05-14 02:52 PM, Chris Tapp wrote:
>> I'm trying to put a BSP together for an ARM system (Raspberry Pi, ARM1176JZF-S CPU). However, when I try and build the kernel I am getting a build failure when the kernel modules are compiled:
>> 
>> |   CC [M]  net/core/pktgen.o
>> | /media/SSD-RAID/build-edison-pi/tmp/work/pi-poky-linux-gnueabi/linux-yocto-3.0.18+git1+d386e09f316e03061c088d2b13a48605c20fb3a6_1+2bba211297d10047637b8f49abd2c5415480ce4d-r3/linux/net/core/pktgen.c: In function 'pktgen_if_show':
>> | /media/SSD-RAID/build-edison-pi/tmp/work/pi-poky-linux-gnueabi/linux-yocto-3.0.18+git1+d386e09f316e03061c088d2b13a48605c20fb3a6_1+2bba211297d10047637b8f49abd2c5415480ce4d-r3/linux/net/core/pktgen.c:682:2: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
>> | /media/SSD-RAID/build-edison-pi/tmp/work/pi-poky-linux-gnueabi/linux-yocto-3.0.18+git1+d386e09f316e03061c088d2b13a48605c20fb3a6_1+2bba211297d10047637b8f49abd2c5415480ce4d-r3/linux/net/core/pktgen.c:682:2: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
>> | /media/SSD-RAID/build-edison-pi/tmp/work/pi-poky-linux-gnueabi/linux-yocto-3.0.18+git1+d386e09f316e03061c088d2b13a48605c20fb3a6_1+2bba211297d10047637b8f49abd2c5415480ce4d-r3/linux/net/core/pktgen.c:682:2: error: 'asm' operand has impossible constraints
>> | /media/SSD-RAID/build-edison-pi/tmp/work/pi-poky-linux-gnueabi/linux-yocto-3.0.18+git1+d386e09f316e03061c088d2b13a48605c20fb3a6_1+2bba211297d10047637b8f49abd2c5415480ce4d-r3/linux/net/core/pktgen.c:682:2: error: 'asm' operand has impossible constraints
>> | make[4]: *** [net/core/pktgen.o] Error 1
>> 
>> As a test, I __think__ I've modified my machine configuration so that it is the same as the BeagleBoard, but that also get the same even though the use of the BeagleBoard machine itself compiles. The only difference is I am trying to use the 3.0 kernel.
>> 
>> I see that the 3.0.bbappend doesn't list beagleboard as a 'compatible' machine but 2.6.37 does (under 6.0.1). Is what I see a known issue with the 3.0 kernel, or is there something else I can check?
> 
> It was a matter of time and energy and the lack of an urgent need to
> update things.
> 
> The board does work on the newer kernels (obviously), so trying the
> same thing against the 3.2+ kernel would be a good starting point.


I'm seeing the same under 7.0.0 if I use the 3.2 kernel. Note - if I set MACHINE = "beagleboard" then it builds ok, so it must be something I'm doing, but ...

Chris Tapp

opensource at keylevel.com
www.keylevel.com






More information about the yocto mailing list