base: 3.1 + patch-3.1.5.bz2 ## wget http://www.acmesystems.it/foxg20/download/kernel_2.6.38/makefile wget http://foxg20.acmesystems.it/download/kernel_2.6.38/makefile # this file takes precedence over the Makefile in that directory. # The kernel executable is called uImage and the kernel modules are # placed in the foxg20-modules directory. Both uImage and those # kernel modules need to be moved to the target FoxG20. # # N.B. This patch should be in place _before_ make (with any argument) # is run as this sets the ARCH=arm and other important environment # variables. Without this a kernel will be probably be built for an # i386 architecture. ## wget http://www.acmesystems.it/foxg20/download/kernel_2.6.38/.config # Acme re-arranged there web pages again ... now at: wget http://foxg20.acmesystems.it/download/kernel_2.6.38/.config # or ../2639.config (../313.config or whatever) copied to .config >> reverted drivers/mmc/core/sd.c found in lk 3.0.0++ to the >> version found in lk 2.6.38.6 and that enabled a SDHC card >> to be read. # The following patches and/or downloads should be done in the # top level kernel source directory. # Patches can be checked with (for example): # 'patch -p1 --dry-run < ../gpio_dev31a.patch' # and if that works drop the "--dry-run" to apply. # # My patches (without the leading "../") can be found at # http://sg.danny.cz/foxg20/ # Following adds gpiodev driver with /dev/gpio device. Ioctl # interface in /include/linux/gpio_dev.h : ../gpio_dev31a.patch # Enable "Atmel AT91 I2C Two-Wire interface (TWI)" silicon # driver. Kernel mainline says Atmel's silicon broken, not # any more ... ../i2c-at91_2637dpg2.patch # Configure AT91SAM9G20 silicon for SPI_1. Uses PB0, PB1, and # PB2 plus PB3 (select for MMC_SPI) and PC5 (select for SPIDEV): ../fg20_spi304.patch # Want second I2C bus. This time use bit banging kernel driver # PA25(SDA) and PA26(SCL): ../extra_i2c_313.patch # Mainline kernel builds for 1 debug serial port (ttyS0) and 6 # additional ports (ttyS1-6). Add conguration option to have # or remove UART4 (ttyS5) and/or UART5 (ttyS6): ../fg20_4_6_serial313.patch # Assuming a build on a recent Debian based distribution (e.g. # Ubuntu 11.10 or Mint 12) then an ARM cross build environment # is needed. That can be loaded with: # 'apt-get install gcc-arm-linux-gnueabi' # This will also be need to make the uboot image: # 'apt-get install u-boot-tools' # build the kernel with 'make; make modules; make modules_install'. # Depending on the .config chosen, a few or a lot of selections may # need to be made. # Note: Acme's .config selects way too many modules, most of which # will never be used. This slows down the build and leads to # some silly selection questions (e.g. "want the latest xyz Fibre # Channel adapter driver?"). Geert Vancompernolle has provided a # more compact .config file. Others may need add modules/drivers # according to their needs. [Only general purpose distributions # need to select almost everything as a module!] # # dpg 20111204