|
|
|
Re: Cross compiling MIPS kernel under x86 | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
On 05/27/2010 09:29 AM, octane indice wrote:
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 makeIt 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=cmake 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#
Early Octeon bootloaders cannot handle PT_NOTE program headers, I think that is what is biting you here.
If you can upgrade to an SDK-1.9 or later bootloader, I would recommend that. Otherwise remove the PT_NOTE from your kernel image (the technique for doing this is left as an excise for the reader, but I have found that emacs hexl mode works well).
David Daney
[Linux MIPS Home] [LKML Archive] [Linux ARM] [Linux] [Git] [Photo] [Yosemite News] [Linux SCSI] [Linux Hams]
![]() |
![]() |