Difference between revisions of "Hacking Linux for chumby"

From Chumby Wiki
Jump to: navigation, search
(Ironforge)
(Ironforge)
Line 33: Line 33:
 
  # ARCH=arm BOARD=mx21ads CROSS_COMPILE=arm-linux- make
 
  # ARCH=arm BOARD=mx21ads CROSS_COMPILE=arm-linux- make
  
If all goes well, you should end up with an uncompressed kernel image at arch/arm/boot/Image.
+
If all goes well, you should end up with a compressed kernel image at '''arch/arm/boot/zImage''' and all of loadable kernel modules under the  '''drivers''' directory.
 +
 
 +
To find all of the drivers, run:
 +
# find drivers -name *.ko
 +
Which should return:
 +
<pre>
 +
drivers/media/video/cpia.ko
 +
drivers/media/video/compat_ioctl32.ko
 +
drivers/media/video/cpia_usb.ko
 +
drivers/media/video/v4l1-compat.ko
 +
drivers/media/video/v4l2-common.ko
 +
drivers/media/video/videodev.ko
 +
drivers/bluetooth/hci_usb.ko
 +
drivers/bluetooth/hci_vhci.ko
 +
drivers/video/console/bitblit.ko
 +
drivers/video/console/fbcon.ko
 +
drivers/video/console/fbcon_ccw.ko
 +
drivers/video/console/fbcon_cw.ko
 +
drivers/video/console/fbcon_rotate.ko
 +
drivers/video/console/fbcon_ud.ko
 +
drivers/video/console/font.ko
 +
drivers/video/console/softcursor.ko
 +
drivers/char/chumby_accel.ko
 +
drivers/char/chumby_sense1.ko
 +
drivers/char/chumby_timer.ko
 +
drivers/usb/media/dsbr100.ko
 +
drivers/usb/net/asix.ko
 +
drivers/usb/net/cdc_ether.ko
 +
drivers/usb/net/pegasus.ko
 +
drivers/usb/net/usbnet.ko
 +
drivers/usb/input/usbhid.ko
 +
drivers/mfd/chumby-tsc2100.ko
 +
</pre>

Revision as of 14:09, 27 September 2007

Alpha Prototype

The Alpha Prototype chumby runs a modified linux 2.4.20 kernel.

Compiling the Kernel

First, install the GCC Toolchain.

In order to build the chumby kernel, you can download the kernel source from chumby_kernel.tgz and build by doing the following:

# mkdir kernel
# cd kernel
# tar zxvf chumby_kernel.tgz
# make menuconfig
(then immediately exit and save the config)
# make dep
# make Image

If all goes well, you should end up with an uncompressed kernel image at arch/arm/boot/Image.

Ironforge

The "Ironforge" production chumby runs Linux 2.6.16 kernel.

First install the GNU Toolchain

In order to build the chumby kernel, you can download the kernel source from linux-2.6.16-chumby-1.0.tar.gz and build by doing the following:

# mkdir kernel
# cd kernel
# tar zxvf linux-2.6.16-chumby-1.0.tar.gz
# cd linux-2.6.16
# ARCH=arm BOARD=mx21ads CROSS_COMPILE=arm-linux- make menuconfig
(then immediately exit and save the config)
# ARCH=arm BOARD=mx21ads CROSS_COMPILE=arm-linux- make

If all goes well, you should end up with a compressed kernel image at arch/arm/boot/zImage and all of loadable kernel modules under the drivers directory.

To find all of the drivers, run:

# find drivers -name *.ko

Which should return:

drivers/media/video/cpia.ko
drivers/media/video/compat_ioctl32.ko
drivers/media/video/cpia_usb.ko
drivers/media/video/v4l1-compat.ko
drivers/media/video/v4l2-common.ko
drivers/media/video/videodev.ko
drivers/bluetooth/hci_usb.ko
drivers/bluetooth/hci_vhci.ko
drivers/video/console/bitblit.ko
drivers/video/console/fbcon.ko
drivers/video/console/fbcon_ccw.ko
drivers/video/console/fbcon_cw.ko
drivers/video/console/fbcon_rotate.ko
drivers/video/console/fbcon_ud.ko
drivers/video/console/font.ko
drivers/video/console/softcursor.ko
drivers/char/chumby_accel.ko
drivers/char/chumby_sense1.ko
drivers/char/chumby_timer.ko
drivers/usb/media/dsbr100.ko
drivers/usb/net/asix.ko
drivers/usb/net/cdc_ether.ko
drivers/usb/net/pegasus.ko
drivers/usb/net/usbnet.ko
drivers/usb/input/usbhid.ko
drivers/mfd/chumby-tsc2100.ko