I have installed the tool chain provided on my cd and verified the correct version number and paths. I unzipped the linux-2.6.38-20111205.tgz archive to a project directory. I then copied the config_mini6410_a70.config to .config per the instructions. I then used "make zImage" to build the kernel. The build finished fine and generated a kernel that was 3,785KB. I have prepared an SD card with the default image and filesystems provided on the second CD and tested them. By setting the .ini file to Run and setting the boot mode switch to SD Card, I can boot Linux and the QT GUI comes up. I have a terminal emulator connected to the serial port (COM0:) of the development board and I can see all of the start up messages. So, by using the provided image files, it all works. However, when I copy my zImage file to the /images/linux directory on the SD Card, set the .ini file to boot zImage instead of zImage_a70, and power up the system, it hangs after the message in the terminal "done, booting the kernel." My compiled zImage file should be identical to the zImage_a70 file on the CD because I compiled the same source code with the same tool chain. Yet, the zImage_a70 file has a different size (3676KB). That tells me that mine is not a binary equivalent of the reference I was provided. In short, the zImage_a70 file provided on cd from FriendlyARM works and the zImage I compiled with the config_mini6410_a70 does not. The only differences between my development system and the instructions are: 1. I put the kernel source in a different directory 2. I am running the latest version of Ubuntu. I tried to get Fedora 9 like the instructions call for, but it is not available that I can find. This is for a commercial project. I am in the process of evaluating the board for a new product we are developing and I need to be able to compile the kernel as we will definitely be making changes to it in future. PLEASE HELP!!
Mini6410/Linux-2.6.38 Hangs on bootup
Well, after that long winded explanation, I actually found the fix on my own. I found a 2.6.36 archive and compiled that. When I tried to boot the resultant zImage, it was still broke but it got a lot further. One of the things I noticed in the terminal was the the toolchain version was 4.6.1 not 4.5.1. So that got me digging. I have the latest CodeSourcery tools installed on my dev machine as well, but I took them out of the path... or so I thought. In fact, they were still in the path. Even though make will use arm-linux-gcc, it still points to full binary which has the same name. So, I removed the the CodeSourcery chain from the path and recompiled. Once I did, I found that the new zImage I just created and the one that comes on the cd are exactly the same size and, whats more, it boots when I put it on the SD card. I took the time to write all of this because I hope it helps someone out in the future. I wasted the better part of 2 days chasing this. Not being a Linux expert, the PATH thing didn't occur to me. Anyways... hope it helps.