Difference between revisions of "Compiling the iMote2 kernel"

From University of Washington - Ubicomp Research Page
Jump to: navigation, search
m
m
Line 50: Line 50:
 
make oldconfig</bash>
 
make oldconfig</bash>
 
</ul>
 
</ul>
 +
 +
==== RNDIS (Windows XP) Ethernet Gadget Configuration ====
 +
<ul>
 +
If you'd like to be able to connect the iMote2 to a Windows XP host instead of a linux host you can use the RNDIS patch to add Windows XP support to the kernel. Download the patch from [{{SERVER}}/files/imote2/patches/msp-linux-2.6.14-winXP-rndis.patch here] to your build directory. Note, that this patch currently compiles support into the kernel and not as a module.
 +
<bash>export ARCH=arm
 +
export CROSS_COMPILE=arm-linux-
 +
cp ../msp-linux-2.6.14-config ./.config
 +
patch -p1 < ../msp-linux-2.6.14-winXP-rndis.patch
 +
make oldconfig</bash>
 +
</ul>
 +
  
 
=== Compile the kernel ===
 
=== Compile the kernel ===

Revision as of 05:13, 7 November 2006

Downloads


Steps

Extracting all the Images

    Assuming you placed the platformX release, patches, and kernel in the same directory you could extract them all using the following commands: <bash>tar zxf linux-2.6.14.tar.gz tar zxf SG2Release-1_0.tgz tar zxf msb2_patches.tgz</bash>

Patch the kernel

    First we apply the SG2 release patches then we apply our MSB2 patches: <bash>cd linux-2.6.14 echo "Applying SG2 Patches" patch -p1 < ../SG2Release-1_0/src/patch-2.6.14-sg2-10 echo "Applying MSB2 Patches" patch -p1 < ../msp-linux-2.6.14-pxa-mmc.patch patch -p1 < ../msp-linux-2.6.14-uart.patch patch -p1 < ../msp-linux-2.6.14-sd-detect.patch</bash>

Configure the kernel

    At this point you can either use the normal SG2 configuration or apply the msb2 standard configuration. Be sure to add your toolchain to your path, if you've installed it in /usr/local/arm/3.4.3_binutils you could do something like this: <bash>export PATH=/usr/local/arm/3.4.3_binutils/bin/:$PATH export ARCH=arm export CROSS_COMPILE=arm-linux-</bash>

    SG2 Configuration

      <bash>export ARCH=arm export CROSS_COMPILE=arm-linux- make stargate2_defconfig make oldconfig</bash>

    MSB2 Configuration

      <bash>export ARCH=arm export CROSS_COMPILE=arm-linux- cp ../msp-linux-2.6.14-config ./.config make oldconfig</bash>

    RNDIS (Windows XP) Ethernet Gadget Configuration

      If you'd like to be able to connect the iMote2 to a Windows XP host instead of a linux host you can use the RNDIS patch to add Windows XP support to the kernel. Download the patch from here to your build directory. Note, that this patch currently compiles support into the kernel and not as a module. <bash>export ARCH=arm export CROSS_COMPILE=arm-linux- cp ../msp-linux-2.6.14-config ./.config patch -p1 < ../msp-linux-2.6.14-winXP-rndis.patch make oldconfig</bash>


    Compile the kernel

    You can then build the kernel as you normally would or perform any additional steps you want to before building. Note that if you are using the Mainstone tools instead of a 3.4.1 toolchain installed in /usr/local/arm/3.4.1 you will need to edit Makefile.platx and comment out the export lines at the top. <bash>...

    1. export ARCH=arm
    2. export CROSS_COMPILE=/usr/local/arm/3.4.1/bin/arm-linux-
    3. export PATH:=${PATH}:/usr/local/arm/3.4.1/bin/

    ... </bash>

    <bash>mkdir ../kernel make zImage make modules make modules_install cp -a arch/arm/boot/zImage ../kernel/ cp -a modules/lib/modules/2.6.14_r1.0/ ../kernel/ </bash>