I approximately followed the instructions at
http://code.google.com/p/mini2440/wiki/MiniBringup
and
http://code.google.com/p/mini2440/downloads/detail?name=mini2440-bootstrap-v2.sh
1) Download u-boot from the friendlyarm.net downloads page, install to nand flash as per http://code.google.com/p/mini2440/wiki/MiniBringup
- note that the supervivi on this board doesn't have xmodem, so use usbpush (from friendlyarm.net site: compilation procedure was fairly obvious) to get u-boot into the system
2) Get a cross-compiler toolchain running. I used emdebian and suggest you do too as apt-cross is awesome
http://code.google.com/p/mini2440/wiki/EmdebianCross $ apt-get install emdebian-tools
$ apt-cross -a armel -i libc6-dev
$ apt-cross -a armel -i gcc
$ apt-cross -a armel -i g++-4.4
$ sudo apt-get install gcc-4.4-arm-linux-gnueabi
3) Now you can rebuild u-boot, or at least enough of it to get the mkimage command you'll need for a kernel image
# get sources from git repositories linked from
http://code.google.com/p/mini2440/ $ CC="arm-linux-gnueabi-gcc -march=armv4t -mtune=arm920t"
$ export CC
$ cd mini2440/
$ make distclean
$ make mini2440_config
$ make tools
$ cp tools/mkimage /usr/local/bin/mkimage
4) build the kernel according to mini2440-bootstrap-v2.sh
$ cd kernel/mini2440
$
$ make ARCH=arm mrproper
$ make ARCH=arm mini2440_defconfig
$ make ARCH=arm
$ make ARCH=arm modules
$ make ARCH=arm uImage
The output from this is arch/arm/boot/uImage - put it in your tftproot
5) now build the root fs thus:
http://code.google.com/p/mini2440/wiki/Emdebian I can't make it find root on mmc yet, so I'm booting nfsroot instead.
MINI2440 # setenv bootfile uImage
MINI2440 # setenv bootargs console=ttySAC0,115200 noinitrd root=/dev/nfs nfsroot=192.168.1.2:/big/nfsroot/2440 rootwait=4 rw ip=dhcp init=/bin/sh
MINI2440 # saveenv
MINI2440 # tftp ; bootm
6) there you are. Don't forget the second stage install as part of step 5.
7) How to make the screen do anything. After unpleasant experiences with directfb
- the example programs are in an html page and can't be cleanly cut & pasted
- the emdebian version is 1.0 which is too old to easily cross-compile when the normal debian version is 1.2
I wrote a program using SDL to show something on the screen. Output pictured.