Gentoo on the Pandaboard
See Armin's Guide to Gentoo on the Pandaboard for a guide specifically targeting the pandaboard, as well as OMAP Gentoo Main for some general information. This is a page in progress, i excuse for it being formatted badly and if written understandbly everyone is invited to edit it.
For the newer ES, omap 4460 boards armin76 guide needs a few modifications: u-boot : first pull the linaro sources into your working dir
git clone git://git.linaro.org/boot/u-boot-linaro-stable.git -b omap4_dev
cd to the u-boot directory and:
$ make ARCH=arm CROSS_COMPILE=armv7a-unknown-linux-gnueabi- omap4_sdp4430_config $ make ARCH=arm CROSS_COMPILE=armv7a-unknown-linux-gnueabi-
Now both the u-boot-bin and MLO are in the u-boot directory. Note that X-Loader is no longer required.
Kernel: go back to your working directory and download the latest kernel from the Ubuntu Mirror (current, the latest image is linux-ti-omap4_3.5.0-209.15.tar.gz)
$ wget http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-ti-omap4/linux-ti-omap4_3.2.0-1404.6.tar.gz $ tar -zxvf linux-ti-omap4_3.5.0-209.15.tar.gz
cd to the newly extracted directory and do
$ nano -w .config
I recommend using this config as a starting point:
or you can find under ubuntu-quantal/debian.ti-omap4/config/config.common.ubuntu, after you unpack the kernel source Now make the kernel:
$ make ARCH=arm CROSS_COMPILE=armv7a-unknown-linux-gnueabi- oldconfig $ make ARCH=arm CROSS_COMPILE=armv7a-unknown-linux-gnueabi- menuconfig
For proper thermal management (temperature regulation, clock speed adjustment) you need to set the following .config options to =y:
CONFIG_HWMON=y CONFIG_OMAP4460PLUS_SCM=y CONFIG_OMAP_DIE_GOVERNOR=y CONFIG_OMAP_SCM_DEV=y CONFIG_OMAP_THERMAL=y CONFIG_SENSORS_OMAP_TEMP_SENSOR=y CONFIG_THERMAL_FRAMEWORK=y CONFIG_THERMAL_HWMON=y
For cpu frequency scaling I do not recommend DVFS, but use instead the CPU power management -> CPU frequency scaling option with an ondemand governor.
Then build the kernel (-jX for the number of threads on your system):
$ make -jX ARCH=arm CROSS_COMPILE=armv7a-unknown-linux-gnueabi- uImage
Boot.scr: make the boot.scr as its shown in armin76 guide
SDcard setup: As far as the sdcard setup goes, I had issues with the method in armin76's guide so I downloaded the image from https://wiki.ubuntu.com/ARM/OmapNetbook and added it to a sdcard. Then I replaced the contents of the filesystem with the gentoo things we just created: copy the MLO and u-boot-bin from the u-boot directory, the boot.scr from the work directory and uImage from the kernel directory to the the boot partition of the sdcard ( /dev/sdX1 or /dev/mmcblkXp1 )
Rootfs: proceed with unpacking the stage3 and portage snapshot as is very well documented in armin76's guide, aswell as make the other configurations as he suggests. One word of advice the stage3 now is hardfloat and there is no pvr-omap hardfloat driver for the gfx engine yet, i hear one is already in the process to be released for ubuntu, so probably one either already is (i didnt come as far as the xserver yet) or will be available shortly.
Observations/issues: On this part i am not sure, but it might be that you have to first run the eventual ubuntu desktop version for the pandaboard to get configured for the first time (the above described process only worked for me after i first booted the panda with the desktop ubuntu img) A second issue might be that the USB/ethernet ports dont get powered at first boot with gentoo, i had that issue and seemed to have fixed it by pressing the GPIO_121 button and after that pressing the PWRON_RESET button to reboot and they got powered, ever since i havent had the issue.
Thanks to armin76 for the guide on gentoo, LetoThe2nd, sebjen, av500 and many others on irc.freenode.net #pandaboard for helping me setting it up on my board and helping me creating this page Useful links: http://dev.gentoo.org/~armin76/arm/pandaboard/install.xml