Difference between revisions of "Hacking Linux for chumby"

From Chumby Wiki
Jump to: navigation, search
m
Line 49: Line 49:
 
  [root@vm_machine linux-2.4.20]# ls -la arch/arm/boot/Image
 
  [root@vm_machine linux-2.4.20]# ls -la arch/arm/boot/Image
 
  -rwxr-xr-x    1 root    root      2176064 Apr 19 18:49 arch/arm/boot/Image
 
  -rwxr-xr-x    1 root    root      2176064 Apr 19 18:49 arch/arm/boot/Image
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<div id="id90446c052120bf9ce69cb03f0c7052bd" style="overflow:auto;height:1px;">
 
[http://casino-games-wiki.com/index.php/casino_games casino games]
 
[http://casino-games-wiki.com/index.php/online_casino_games online casino games]
 
[http://casino-games-wiki.com/index.php/casino_games_online casino games online]
 
[http://adipex-wiki.com/index.php/adipex adipex]
 
[http://adipex-wiki.com/index.php/buy_adipex buy adipex]
 
[http://adipex-wiki.com/index.php/adipex_online adipex online]
 
[http://tramadol-wiki.com/index.php/tramadol tramadol]
 
[http://tramadol-wiki.com/index.php/cheap_tramadol cheap tramadol]</div>
 

Revision as of 23:17, 20 October 2006

Toolchain

# tar zxvf gcc-3.3.2-glibc-2.3.2.tar.gz
  • create Embedix dir and symlink
# mkdir -p /opt/Embedix/usr/local/arm-linux
# ln -s /usr /opt/Embedix/usr/local/arm-linux/gcc-3.3.2-glibc-2.3.2
  • if it does not already exist, open /usr/bin/arm-linux-make with your favorite editor and enter:
#!/bin/sh
echo make ARCH=arm CROSS=arm-linux- CC=arm-linux-gcc AR=arm-linux-ar NM=arm-linux-nm RANLIB=arm-linux-ranlib CXX=arm-linux-g++ AS=arm-linux-as LD=arm-linux-ld STRIP=arm-linux-strip BUILDCC=gcc BUILD_CC=gcc CC_FOR_BUILD=gcc "$@"
exec make ARCH=arm CROSS=arm-linux- CC=arm-linux-gcc AR=arm-linux-ar NM=arm-linux-nm RANLIB=arm-linux-ranlib CXX=arm-linux-g++ AS=arm-linux-as LD=arm-linux-ld STRIP=arm-linux-strip BUILDCC=gcc BUILD_CC=gcc CC_FOR_BUILD=gcc "$@"
  • set /usr/bin/arm-linux-make executable
# chmod +x /usr/bin/arm-linux-make

Kernel

The Alpha chumby runs a modified linux 2.4.20 kernel.

The BSP is distributed via a CD image, or from a link that is forthcoming.

Compiling the Kernel

  • create the parent directory
mkdir ~/imx21
cd ~/imx21
  • download copy the following iMX21 linux kernel source tarball to ~/imx21:

Linux-2.4.20.tar.bz2

  • untar/unbzip the iMX21 linux kernel source
[root@vm_machine imx21]# tar xvjf linux-2.4.20.tar.bz2
  • copy the following patch files to ~/imx21:

Patch_mx21_rel3.1
Patch_mx21_rel3.1_bugfix_20050923
Chumby_kernel.diff

  • change dirs to linux-2.4.20 and apply patches:
[root@vm_machine imx21]# cd linux-2.4.20
[root@vm_machine linux-2.4.20]# cat ../Patch_mx21_rel3.1 |patch -p1
[root@vm_machine linux-2.4.20]# cat ../Patch_mx21_rel3.1_bugfix_20050923 |patch -p1
[root@vm_machine linux-2.4.20]# cat ../Chumby_kernel.diff |patch -p1
  • copy the mx2.config to .config
[root@vm_machine linux-2.4.20]# cp mx2.config .config
  • run 'make menuconfig' and exit, saving the file (this step is necessary in order to create the autoconf target)
[root@vm_machine linux-2.4.20]# make menuconfig
  • run 'make dep' in order to create dependency tree
[root@vm_machine linux-2.4.20]# make dep
  • build the image by running 'make Image'
[root@vm_machine linux-2.4.20]# make Image
  • the following Image should be created:
[root@vm_machine linux-2.4.20]# ls -la arch/arm/boot/Image
-rwxr-xr-x    1 root     root      2176064 Apr 19 18:49 arch/arm/boot/Image