Hi,
These are some very rough instructions for getting Maverick running on an IGEPv2 board. Maybe they should go on the wiki somewhere, but I wasn't sure where.
Running Maverick over NFS on an IGEPv2 board ============================================
I have the Ubuntu 9.04 "demo" image on a microSD card, and wanted to try running Maverick. To reproduce this recipe, you'll need the following:
* microSD card reader
* An installed Maverick rootfs (mine was created with qemu-debootstrap) on a system running an NFS server.
* An IGEPv2 serial cable might be handy too.
Part 1, new kernel with existing Jaunty installation ----------------------------------------------------
The kernel which comes with the demo image, 2.6.28.10 (with IGEPv2 patches), has a few problems which prevent its use with Maverick. You need to use a newer version.
Grab a precompiled kernel (I used uImage-2.6.33.5-0-igep0020.bin) from:
http://labs.igep.es/index.php/The_Linux_kernel
Now we need to make a ".ini" file which will boot this kernel. To use the existing (Jaunty) distribution on the SD card, use a config file like this:
--- cut --- mmc init 0 echo "===== Setup boot settings =====" setenv bootargs-base 'mem=512M console=ttyS2,115200n8 console=tty0 omapfb.mode=dvi:1024x768MR-16@60' setenv mmc-bootargs 'setenv bootargs ${bootargs-base} root=/dev/mmcblk0p2 rw rootwait ' echo "===== Load uImage from mmc =====" run mmc-bootargs fatls mmc 0:1 fatload mmc 0 80200000 uImage-2.6.33.5-0-igep0020.bin bootm 80200000 --- cut ---
Call this file "setup-ini.source". Now install the package "uboot-mkimage" on your host system and run:
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Boot setup script' -d \ setup-ini.source setup.ini
Copy setup.ini to the boot partition of the microSD card (backing up the original).
Now: you may find this is not sufficient to make the IGEPv2 boot. The problem is apparently bugs in the FAT support in the supplied version of uboot. This can be seen over the serial line in the output of "fatls": your kernel image should appear in the list.
If it does not, you might be able to work around it by doing the following:
* Copy all files off the boot partition.
* Reformat the boot partition (with the microSD card connected via a card reader to a Linux host) with:
mkdosfs /dev/sdX1
(note, adding "-F 32" did *not* work).
* Copy all files back to the boot partition.
* Don't forget to unmount!
Now, reinsert the card and Jaunty should boot with the new kernel (check with "uname -a").
Part 2, new kernel with Maverick over NFS root ----------------------------------------------
To boot with an NFS root, you will need a new setup.ini. Use the following source file:
== cut == mmc init 0 echo "===== Setup boot settings =====" setenv bootargs-base 'mem=512M console=ttyS2,115200n8 console=tty0 omapfb.mode=dvi:1024x768MR-16@60' setenv mmc-bootargs 'setenv bootargs ${bootargs-base} ip=dhcp root=/dev/nfs nfsroot=192.168.1.64:/mnt/bitbucket/jules/linaro/m-armel rw rootwait' echo "===== Load uImage from mmc =====" run mmc-bootargs fatls mmc 0:1 fatload mmc 0 80200000 uImage-2.6.33.5-0-igep0020.bin bootm 80200000 == cut ==
Substitute your NFS server for the "nfsroot" IP address, and the path on that server for the subsequent path. Use the instructions above to turn this into setup.ini, and copy to the microSD card (noting that the issue about FAT bugs still applies).
On the server, use a line like the following in /etc/exports (making local changes as necessary):
/mnt/bitbucket/jules/linaro/m-armel *.config(rw,no_root_squash,no_subtree_check,sync)
Note that "portmap" should be installed rather than "rpcbind", if your distribution offers a choice between the two (at least my board wouldn't boot, at least with the default configuration of the latter). Use "nfs-kernel-server" rather than "nfs-user-server", again if your distro offers the choice.
It's probably possible to use tftp/bootp to load a kernel instead: I haven't experimented with that so far.
On Tue, Jul 27, 2010 at 3:54 PM, Loïc Minier loic.minier@linaro.org wrote:
Thanks!
Next step would be to make this about "how to run linaro on igep" instead of "how to run maverick on igep" :). Anyone?
- Alexander
Got mine today.
I initially couldn't get a serial console on it, but it seems it's a quite common grounding issue. Perhaps my USB serial adapter (would be surprizing), but more likely the board. Workaround: try different serial ports, try connecting to the board over it's mini-USB port etc.
I posted to the IGEP forum to find out