Re: Cross compiling MIPS kernel under x86

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Response to Dmitri Vorobiev <dmitri.vorobiev@xxxxxxxxx> :
> Just checked that the following steps result in a successful
> build of a vanilla 2.6.34 vmlinux:
> 
Thanks for taking the time to do it.

> http://ftp.gnu.org/gnu/gcc/gcc-4.4.4/gcc-core-4.4.4.tar.bz2
> tar jxf gcc-core-4.4.4.tar.bz2
> cd ../build
> ../src/gcc-4.4.4/configure --target=mips64-unknown-linux-gnu
> --prefix=/work/tmp/zoo --disable-threads --disable-shared
> --disable-multilib --disable-libgcc --disable-libmudflap
> --disable-libssp --disable-libgomp
> make

It fails here with something related to stdc++. With adding a
--enable-language=c it works. So the configure line I used is:
../gcc-4.4.4/configure --target=mips64-unknown-linux-gnu
--prefix=/var/samba/mips --disable-threads --disable-shared
--disable-multilib --disable-libgcc --disable-libmudflap --disable-libssp
--disable-libgomp --enable-languages=c

> make ARCH=mips cavium-octeon_defconfig
> make ARCH=mips
> CROSS_COMPILE=/work/tmp/zoo/bin/mips64-unknown-linux-gnu- vmlinux
> 
> Hope that helps.
> 
It helped me a lot, thank you. The kernel compiles fine. 
The kernel is very huge: 39MBytes (!).
After a mips64-unknown-linux-gnu-strip, it downsized to 3.3MBytes.
But that kernel doesn't boot.

The system in the board I have uses in U-boot:
ext2load ide 0 4000000 vmlinux
bootoctlinux 4000000 (other args..)

But when I replace the vmlinux file with mine called 'mips', it says:
RSEC-K1# ext2load ide 0 4000000 mips

3362840 bytes read
WARNING: Data loaded outside of the reserved load area, memory corruption
may occur.
WARNING: Please refer to the bootloader memory map documentation for more
information.
RSEC-K1# bootoctlinux 4000000
ELF file is 64 bit
Attempting to allocate memory for ELF segment: addr: 0xffffffff81100000
(adjusted to: 0x0000000001100000), size 0x355c00
Allocated memory for ELF segment: addr: 0xffffffff81100000, size 0x355c00
Attempting to allocate memory for ELF segment: addr: 0xffffffff81343da0
(adjusted to: 0x0000000001343da0), size 0x24
Error allocating memory for elf image!
## ERROR loading File!
RSEC-K1#

I tried a lot of different numbers like 2000000 or greater, depending of
what I find in mailing lists, but I don't find the right value. Is there a
way to compute it, or it's kernel I made that is not right?

Thanks

> -------------------  ---------------------




Envoyé avec Inmano, ma messagerie renversante et gratuite : http://www.inmano.com






[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux