Linux: Difference between revisions

From Sharpfin
Jump to navigation Jump to search
No edit summary
 
(9 intermediate revisions by the same user not shown)
Line 3: Line 3:
* A [[UART]] should be available somewhere on the hardware and a console is enabled
* A [[UART]] should be available somewhere on the hardware and a console is enabled


* [[LIRC] (linux remote control) might be available
* [[LIRC]] (linux remote control) might be available


* more to discover here of course
* more to discover here of course
Line 9: Line 9:
== Building ==
== Building ==


The kernel sources provided by Reciva suggest gcc 3.3.4 is used for compiling the kernel. A good start would be get a arm-linux- toolchain with the same version
 
The following worked for me:
 
=== Creating the toolchain ===
 
It seems that reciva uses glibc 2.3.2 and gcc 3.3.4 at this moment. We'll create a
toolchain with the same versions:
 
* make sure you are not logged in as root
* download and unpack crosstool
* eval `cat arm.dat gcc-3.3.4-glibc-2.3.2.dat`  sh all.sh --notest
* In case of PATH_MAX undeclared error, copy the patch from the gcc-3.3.6 directory with
 
  cp  patches/gcc-3.3.6/fix-fixincl.patch patches/gcc-3.3.4/ 
 
* and run the eval again.
* Have some <s>coffee</s> beer
 
=== Compiling the linux kernel ===
 
* Download linux sources from Reciva and unpack
* make bast_config
* make menuconfig - exact configuration to be determined
* Edit the top-level makefile in the bast_linux directory and point CROSS_COMPILER to the freshly built toolchain
* The same as above in the recive/Makefile
* make
* make
* make modules
* make -C reciva

Latest revision as of 14:27, 21 October 2007

Reciva provides sources for the Linux kernel used on the Barracuda on the GPL archive page. First inspection of these sources show the following:

  • A UART should be available somewhere on the hardware and a console is enabled
  • LIRC (linux remote control) might be available
  • more to discover here of course

Building

The following worked for me:

Creating the toolchain

It seems that reciva uses glibc 2.3.2 and gcc 3.3.4 at this moment. We'll create a toolchain with the same versions:

  • make sure you are not logged in as root
  • download and unpack crosstool
  • eval `cat arm.dat gcc-3.3.4-glibc-2.3.2.dat` sh all.sh --notest
  • In case of PATH_MAX undeclared error, copy the patch from the gcc-3.3.6 directory with
 cp  patches/gcc-3.3.6/fix-fixincl.patch patches/gcc-3.3.4/  
  • and run the eval again.
  • Have some coffee beer

Compiling the linux kernel

  • Download linux sources from Reciva and unpack
  • make bast_config
  • make menuconfig - exact configuration to be determined
  • Edit the top-level makefile in the bast_linux directory and point CROSS_COMPILER to the freshly built toolchain
  • The same as above in the recive/Makefile
  • make
  • make
  • make modules
  • make -C reciva