I sell on Tindie

Saturday, February 28, 2009

Building root filesystem for qq2440 with buildroot

Download buildroot from http://buildroot.uclibc.org/downloads/
I'm using 2009.02 release.

Download eldk for compiling
here
This is an iso image. Burn it and install it. I installed 2 versions (with software FP and with hardware FP) in /usr/local/cross. Actually we need to compile with software FP.

#tar -xvjf buildroot-2009.02.tar.bz2
#cd buildroot-2009.02
#make menuconfig

Now select:
Target architecture - arm
Target architecture variant - arm920t
Target ABI - EABI

Toolchain:
Toolchain type : External binary toolchain
Core C library : libc-2.6.so
Libraries to copy : clear all
Enable large file support - check
Enable RPC - check
Use software floating point by default - check
Build c++ compiler - check
External toolchain path : /usr/local/cross/usr

Target filesystem options:
Uncheck all
tar the root filesystem - check
Compression method : bzip2

Exit, save

#make

Root filesystem exists in binaries/uclibc

Now copy all libraries from /usr/local/cross/arm/lib to rootfs/lib. I need to explore what libraries we need exactly.

Deploy image to the board. I'm booting from nfs and in this configuration you can see linux booting in console.

Thanks for help to Leshak

Update 07-Mar-2009:
Tool chain: Libraries to copy:
ld-linux.so.3 libcrypt.so libdl.so libgcc_s.so libm.so libnsl.so libpthread.so libresolv.so librt.so libutil.so libc.so.6

Update 20.Aug.2009
Use updated manual

6 comments:

Sachin said...

I tried your method, but I'm getting this error..

copy_toolchain_lib_root: lib=libc.so.0 not found

I have cross checked many times all the paths are ok

Victor said...

Just copy all libraries and everything should be OK

LDS said...

Hello,

I'm trying to do just what you tell in this post, and i'm having lots of setbacks. I managed to compile it one time correcty and now all it keeps giving me are fakeroot errors.

Anyway, wouldn't it be possible to publish your mini2440_config file? Or give a few more details. Software versions, support libraries, development tools, etc?

Best regards,
Luís Silva

Victor said...

I just figured out that buildroot version that I used is no longer available. I have updated my post. And I found that sometimes you need to delete build directories and build everything from beginning.

Sérgio Gonçalves said...

Hi,

What tool are you using to compile the kernel? There is an option to compile it within buildroot. Didn't you never use it?

Best regards,
Sérgio Gonçalves

Victor said...

Hi.
I didn't compile kernel inside buildroot. I compiled it separately with eldk. Currently I'm using 2.6.29-rc6 with LeshaK patch(you can find a link to his site in my blog home page)