User:Urjaman/Building the kernel on the Pandora

From Pandora Wiki
Revision as of 09:55, 30 October 2010 by Urjaman (talk | contribs) (Initial WIP draft of my pandora kernel building Howto)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Building the kernel on the Pandora

This is still a WIP set of notes. Wikification in progress.

0. Open up a terminal 1. Install local toolchain and git sudo opkg update

  1. This is untested and IIRC I needed to fiddle with the names a bit.
  2. You can "search" for a name with eg. with sudo opkg list | grep name

sudo opkg install gcc gcc-symlinks make binutils-dev cpp cpp-symlinks g++ g++-symlinks libstdc++-dev git

2. Get ext2 space 2.1 Choose from (pick one of): 2.1.1 root in SD mkdir dev && cd dev 2.1.2 ext2 formatted SD card cd /media/<ext2card> mkdir dev && cd dev 2.1.3 ext2 loop file (1GiB) on an SD card: cd /media/<fatcard> dd if=/dev/zero of=dev.ext2 bs=1M count=1024 mke2fs -m 0 dev.ext2 mkdir dev sudo mount -o loop dev.ext2 dev 2.2 You should now be in a folder named "dev" suitable for the job.

3. Checkout pandora-kernel git clone --depth=1 git://git.openpandora.org/pandora-kernel.git

3.1 Checkout and apply patches git clone --depth=1 git://git.openpandora.org/openpandora.oe.git cd pandora-kernel

  1. Here cross-ref against ../openpandora.oe/recipes/linux/omap3-pandora-kernel_2.6.27-pandora.bb wont hurt.
  2. Warning: Mega-list-of-commands follows, formatted it as an sh script if needed
  3. !/bin/bash -e

patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/0001-Add-EHCI-patch-suggested-by-Steven-Kipisz.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/0002-Add-missing-define-to-EHCI-OMAP.c.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/no-empty-flash-warnings.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/oprofile-0.9.3.armv7.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/no-cortex-deadlock.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/read_die_ids.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/fix-install.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/mru-fix-timings.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/mru-fix-display-panning.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/mru-make-dpll4-m4-ck-programmable.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/mru-improve-pixclock-config.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/mru-make-video-timings-selectable.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/mru-enable-overlay-optimalization.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/dvb-fix-dma.diff patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/0001-Removed-resolution-check-that-prevents-scaling-when.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/0001-Implement-downsampling-with-debugs.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/musb-rxtx.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/squashfs/0006-SquashFS-Backport-SquashFS4-to-our-2.6.27-tree.patch patch -Np1 < ../openpandora.oe/recipes/linux/omap3-pandora-kernel/aufs2/0007-AUFS2-Add-latest-AUFS2-in-tree-code-for-2.6.27.patch

3.2 fix Makefile

  1. This gem is from vminko's ebuild

sed -i 's/?= arm-linux-/=/' Makefile

4. Configure kernel cp ../openpandora.oe/recipes/linux/omap3-pandora-kernel/defconfig .config make oldconfig

  1. if you want to change configuration:

make menuconfig

  1. You will need to change the configuration if you want the kernel name to match stock:
  2. Disable General Setup -> Automatically append version information to the version string


5. Build the kernel make modules make uImage

  1. if you want to install modules:

sudo make modules_install