+++ Charles Manning [2010-02-17 11:02 +1300]:
> It seems that the FPGA balloon gets a bit less attention than the CLPD version
> and Wookey warned me off trying the latest a few days back. I tried something
> older but that fails to build.
>
> What's the most recent version of svn that:
> * Supports FPGA.
> * Has an FPGA binary file so there is no need to play with Xilinx tools
> * Builds, boots and does healthy things?
It's taken a while to work out the answer to this question, but I
think I've found it.
The old FPGA stuff that was actually released:
http://balloonboard.org/files/balloon3/distro/test-v0.3/
is old-arm, rather than eabi.
It corresponds to svn r260
I tried going back and rebuilding this, but it doesn't work, and only
knows how to build old arm ABI binaries anyway.
So I moved on to just before the VLIO changes. : r839 which only
requires one patch to build: to build with a vaguely recent version of
glibc installed you need to either add the patch below to the initrd
quilt series (copy it into initrd/patches and add getline.patch to the
end of the series file) or let it build until it barfs, with a
'getline redefined' whinge then apply the patch manually. Index:
buildroot/build_arm/linux-2.6.20.4/scripts/unifdef.c
===================================================================
--- buildroot.orig/build_arm/linux-2.6.20.4/scripts/unifdef.c
2010-02-20 01:18:40.000000000 +0000 +++
buildroot/build_arm/linux-2.6.20.4/scripts/unifdef.c 2010-02-20
01:19:01.000000000 +0000 @@ -206,7 +206,7 @@ static void error(const
char *); static int findsym(const char *); static void
flushline(bool); -static Linetype getline(void); +static Linetype
get_line(void); static Linetype ifeval(const char **); static void
ignoreoff(void); static void ignoreon(void); @@ -512,7 +512,7 @@
for (;;) {
linenum++;
- lineval = getline();
+ lineval = get_line();
trans_table[ifstate[depth]][lineval]();
debug("process %s -> %s depth %d",
linetype_name[lineval],
@@ -526,7 +526,7 @@
* help from skipcomment().
*/
static Linetype
-getline(void)
+get_line(void)
{
const char *cp;
int cursym;
If you want to avoid the downloads for both debian and emdebian
rootfs's then edit rootfs/Makefile and set
SUBDIRS = emdebian (or debian) so you only get one.
There is another minor blip: 'make dist' gives an error on the last
file it was going to copy anyway - that doesn't matter, it's the cpld
xsvf file only).
Then you should be able to upload with
cd ../distro
utils/bbl --bootldr --fpga --installer
To upload bootloader, fpga image and nor-kernel/initrd
That should be sufficient to set you on your way whilst we get to the
bottom of the HEAD/FPGA issue.
'It works for me' :-)
Feel free to grumble if you find other issues.
Wookey
--
Principal hats: iEndian - Balloonboard - Toby Churchill - Emdebian
http://wookware.org/