Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] B3+external kernel: not quite sure how to make these pieces fit ...
@ 2015-06-24 19:06 g4 at novadsp.com
  2015-06-24 21:05 ` Arnout Vandecappelle
  0 siblings, 1 reply; 4+ messages in thread
From: g4 at novadsp.com @ 2015-06-24 19:06 UTC (permalink / raw)
  To: buildroot

Want to automate building kernel and filesystem for Beaglebones. 

 

The kernel itself is the mainline 4.x with a set of patches applied from
Robert Nelson's (RCN) GIT repo. 

 

Problem is that there is no mechanism for file system construction/
packaging. Obviously Buildroot to the rescue here. 

 

I thought I'd start by trying to get BR to use the existing external
toolchain - specifying 'toolchain path' as
'~/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux'

 

But this fails with 'External toolchain uses the unsuported OABI'. There is
an old reference to this here:
http://git.buildroot.net/buildroot/commit/?id=b2e88073dbf05faa47475bf96d5ccf
8a45906a3c

 

I don't see any conflict with the target settings. Is there a solution or is
this a more fundamental/complex issue? 

 

This obviously begs the question of how the externally built kernel gets
into the BR mix but I'll leave that for next time.

 

Thx++

 

--------------------snip--------------------

Target Architecture (ARM (little endian))  --->
x x   

  x x                Target Binary Format (ELF)  --->
x x   

  x x                Target Architecture Variant (cortex-A8)  --->
x x   

  x x                Target ABI (EABIhf)  --->
x x   

  x x                Floating point strategy (VFPv3-D16)  --->
x x   

  x x                ARM instruction set (ARM)  --->             

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150624/2eadb813/attachment.html>

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] B3+external kernel: not quite sure how to make these pieces fit ...
  2015-06-24 19:06 [Buildroot] B3+external kernel: not quite sure how to make these pieces fit g4 at novadsp.com
@ 2015-06-24 21:05 ` Arnout Vandecappelle
  2015-06-25 11:08   ` g4 at novadsp.com
  0 siblings, 1 reply; 4+ messages in thread
From: Arnout Vandecappelle @ 2015-06-24 21:05 UTC (permalink / raw)
  To: buildroot

On 06/24/15 21:06, g4 at novadsp.com wrote:
> Want to automate building kernel and filesystem for Beaglebones.
> 
>  
> 
> The kernel itself is the mainline 4.x with a set of patches applied from Robert
> Nelson?s (RCN) GIT repo.
> 
>  
> 
> Problem is that there is no mechanism for file system construction/ packaging.
> Obviously Buildroot to the rescue here.
> 
>  
> 
> I thought I?d start by trying to get BR to use the existing external toolchain ?
> specifying ?toolchain path? as
> ?~/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux?
> 
>  
> 
> But this fails with ?External toolchain uses the unsuported OABI?. There is an
> old reference to this here:
> http://git.buildroot.net/buildroot/commit/?id=b2e88073dbf05faa47475bf96d5ccf8a45906a3c

 Looks like your external toolchain is not installed correctly. Can you run
~/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-gcc
-v

 Or to be safe, just select the Linaro 2014.09 toolchain as to be downloaded and
installed.


> I don?t see any conflict with the target settings. Is there a solution or is
> this a more fundamental/complex issue?
> 
>  
> 
> This obviously begs the question of how the externally built kernel gets into
> the BR mix but I?ll leave that for next time.

 You'll have to run 'make -C <linux_dir> INSTALL_MOD_PATH=$1 modules_install'
from a post-build script. Or else, install the modules in some staging directory
and copy them to the target directory in the post-build script.

 Or alternatively, just build it in buildroot with BR2_LINUX_KERNEL_CUSTOM_LOCAL=y.


 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] B3+external kernel: not quite sure how to make these pieces fit ...
  2015-06-24 21:05 ` Arnout Vandecappelle
@ 2015-06-25 11:08   ` g4 at novadsp.com
  2015-06-25 23:06     ` Arnout Vandecappelle
  0 siblings, 1 reply; 4+ messages in thread
From: g4 at novadsp.com @ 2015-06-25 11:08 UTC (permalink / raw)
  To: buildroot

Arnout, apologies. Outlook simply replied to you and not the list.

>  Looks like your external toolchain is not installed correctly. Can 
> you run
> ~/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-
> gnueabihf-gcc  -v

I will bow to superior knowledge here but it does produce a booting,
running, kernel.

-------------------snip-----------------------
~/rcn $
~/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabi
hf-gcc -v Using built-in specs.
COLLECT_GCC=/home/jevans/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linu
x/bin/arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/jevans/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014
.09_linux/bin/../libexec/gcc/arm-
linux-gnueabihf/4.9.2/lto-wrapper
Target: arm-linux-gnueabihf
Configured with:
/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/sr
c/gcc-linaro-4.9
-2014.09/configure --build=i686-build_pc-linux-gnu
--host=i686-build_pc-linux-gnu --target=arm-linux-gnueabih f
--prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/
install --with-sysroot=/cbuild/
slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux
-gnueabihf/libc --enable-language s=c,c++,fortran --disable-multilib
--enable-multiarch --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vf
pv3-d16 --with-float=hard --with-pkgversion='crosstool-NG
linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09'
 --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit
--enable-libmudflap --enable-libgo mp --enable-libssp
--with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linu
x/.build/arm-l
inux-gnueabihf/build/static
--with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-lin
ux/.b
uild/arm-linux-gnueabihf/build/static
--with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf
-linux/.build/arm-linux-gnueabihf/build/static
--with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-
gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
--with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds
/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
--with-libelf=/cbuild/slaves/oorts/crossto
ol-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/stat
ic --enable-threads=posix --disab le-libstdcxx-pch --enable-linker-build-id
--enable-plugin --enable-gold --with-local-prefix=/cbuild/slaves/oo
rts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabih
f/libc --enable-c99 --enable-long -long --with-mode=thumb --disable-multilib
--with-float=hard Thread model: posix gcc version 4.9.2 20140904
(prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC
4.9-2014.09)


> 
>  Or to be safe, just select the Linaro 2014.09 toolchain as to be 
> downloaded and installed.

Yes but working kernel trumps all ...

>  You'll have to run 'make -C <linux_dir> INSTALL_MOD_PATH=$1 
> modules_install'
> from a post-build script. Or else, install the modules in some staging 
> directory and copy them to the target directory in the post-build script.
> 
>  Or alternatively, just build it in buildroot with 
> BR2_LINUX_KERNEL_CUSTOM_LOCAL=y.

This last is promising. So you suggest cloning kernel repo in the buildroot
tree? 

Someone else must have had this problem? 

Thank you.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] B3+external kernel: not quite sure how to make these pieces fit ...
  2015-06-25 11:08   ` g4 at novadsp.com
@ 2015-06-25 23:06     ` Arnout Vandecappelle
  0 siblings, 0 replies; 4+ messages in thread
From: Arnout Vandecappelle @ 2015-06-25 23:06 UTC (permalink / raw)
  To: buildroot

On 06/25/15 13:08, g4 at novadsp.com wrote:
> Arnout, apologies. Outlook simply replied to you and not the list.
> 
>>  Looks like your external toolchain is not installed correctly. Can 
>> you run
>> ~/rcn/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-
>> gnueabihf-gcc  -v
> 
> I will bow to superior knowledge here but it does produce a booting,
> running, kernel.

 I asked because the error you reported is based on this piece of code:

EXT_TOOLCHAIN_TARGET=`LANG=C $${__CROSS_CC} -v 2>&1 | grep ^Target | cut -f2 -d
' '` ; \
if ! echo $${EXT_TOOLCHAIN_TARGET} | grep -qE 'eabi(hf)?$$' ; then \
        echo "External toolchain uses the unsuported OABI" ; \
        exit 1 ; \
fi ; \

[snip]
> Target: arm-linux-gnueabihf

 ... but it does end in eabihf, so why doesn't this condition match?

 Could you modify toolchain/helpers.mk to echo the value of EXT_TOOLCHAIN_TARGET
in the command above?


[snip]
>>  Or to be safe, just select the Linaro 2014.09 toolchain as to be 
>> downloaded and installed.
> 
> Yes but working kernel trumps all ...

 It is not required to build the kernel with the same toolchain as userspace.


>>  You'll have to run 'make -C <linux_dir> INSTALL_MOD_PATH=$1 
>> modules_install'
>> from a post-build script. Or else, install the modules in some staging 
>> directory and copy them to the target directory in the post-build script.
>>
>>  Or alternatively, just build it in buildroot with 
>> BR2_LINUX_KERNEL_CUSTOM_LOCAL=y.
> 
> This last is promising. So you suggest cloning kernel repo in the buildroot
> tree? 

 No, I suggest letting buildroot build the kernel using the checked-out kernel
source code you have in another directory. _CUSTOM_LOCAL refers to a source tree.


 Regards,
 Arnout

> 
> Someone else must have had this problem? 
> 
> Thank you.
> 
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
> 
>  
>  
> ************************************************************************************
> This footnote confirms that this email message has been scanned by
> PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
> ************************************************************************************
> 
> 
> 
> 


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-06-25 23:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-24 19:06 [Buildroot] B3+external kernel: not quite sure how to make these pieces fit g4 at novadsp.com
2015-06-24 21:05 ` Arnout Vandecappelle
2015-06-25 11:08   ` g4 at novadsp.com
2015-06-25 23:06     ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox