...
...
...
This is a _really_ short introduction on how to get things running.
The first thing to do is to download a copy of the tree. There you have several possibilites depending on which tree you're targeting :
Download the source tarball from the kernel.org website.
Get the sources from the the kernel.org GIT server.
bash$ git clone git://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6-mpc52xx
To setup a development tree, please clone from the kernel.org GIT server and then pull from mine. This way you save some bandwidth from my server ;)
My git tree may hold several heads (see above) for different parallel work going on. So there is different possibilities for you depending of the level of stability/features you want. Below there are several examples, the list is by no mean complete and there are several way to do the same things ...
To use directly one of those heads without merging with the latest upstream, for example my 'master' branch :
bash$ git clone git://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6-mpc52xx bash$ cd linux-2.6-mpc52xx bash$ git fetch http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git master:mpc52xx bash$ git checkout mpc52xx
To use a combination of several of those heads, for example 'master', 'bestcomm' and 'ide' (and keep a local branch corresponding to each separatly) and have a merge of all theses in a local branch calles test_full:
bash$ git clone git://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6-mpc52xx bash$ cd linux-2.6-mpc52xx bash$ git checkout -b test_full bash$ git pull http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git master:mpc52xx bash$ git pull http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git ide:mpc52xx_ide bash$ git pull http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git bestcomm:mpc52xx_bestcomm
To merge one/several of those heads with the latest mainstream directly, without keeping references (quick tests):
bash$ git clone git://www.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6-mpc52xx bash$ cd linux-2.6-mpc52xx bash$ git pull http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git master bash$ git pull http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git ide bash$ git pull http://gitbits.246tNt.com/gitbits/linux-2.6-mpc52xx.git bestcomm
Once you have the sources, you need to configure them. lite5200_defconfig will give you a default configuration for the lite5200 but often doesn't include many drivers, so you'd better customize the config yourself afterwards. Note that this example assumes you ppc toolchain prefix is 'ppc-linux-'.
bash$ cd linux-2.6-mpc52xx bash$ make ARCH=ppc lite5200_defconfig bash$ make ARCH=ppc menuconfig
The rest depends of you boot loader :
To compile the image in the right image format : (note that you need to have the mkimage utility from U-Boot in your PATH)
bash$ make ARCH=ppc EXTRAVERSION=-mpc52xx CROSS_COMPILE=ppc-linux- uImage
Then to boot it, at the U-Boot prompt :
=> setenv ipaddr 192.168.0.2 => setenv gatewayip 192.168.0.1 => setenv serverip 192.168.0.1 => setenv bootargs root=/dev/ram0 console=ttyPSC0 rw panic=1 => tftp 200000 mpc52xx/uImage; tftp 400000 mpc52xx/pRamdisk; bootm 200000 400000
To use the default bootloader of Freescale, you need a zImage with an embedded initrd. So you need your root filesystem or initrd already prepared :
bash$ cp your_initrd.gz arch/ppc/boot/images/ramdisk.image.gz bash$ make ARCH=ppc EXTRAVERSION=-mpc52xx CROSS_COMPILE=ppc-linux- zImage.initrd
Then to boot it, at the DBug prompt :
DBug> dn -i zImage.initrd.lite5200
...
Maintained by Sylvain Munaut tnt >at< 246tNt >dot< com