Thursday, October 30, 2008

CVS, cvsnt, and Norton Antivirus

Here's a friendly way to start your day:
$ cvs update
....
cvs [update aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Permission denied
This error occurs at random part way through the update, on a different directory each time. There are no files named Entries.Backup in the directory I'm trying to update.
Or how about this one?
cvs update: cannot remove xml directory: Directory not empty
Guess what fixed the problem? Disabling Norton AntiVirus 2009 on my CVS server. No, not the client (my development PC), where I'm running the 'cvs update' command and don't even have anti-virus installed. The Windows XP box that's running CVS NT server.

I was clued in when I was able to replicate the problem using cygwin cvs or cvsnt cvs, and inside WinCVS too. So it's not the fact that I just re-installed Windows on the client. It seems that this clean, speedy box is now too fast for the server to keep up with, but only if Norton is doing SOMETHING STUPID on my server to cause problems.

What a waste of hours... I hate Norton.

Tuesday, October 28, 2008

OpenEmbedded Angstrom for Advantech PCM-9375 Part 2

Last time, I made a successful setup for the Angstrom distribution of OpenEmbedded. I replicated it on a second PC, and checked my initial steps.

And it failed to complete! Darn. It took a long time to compile, like several hours, then failed here:
NOTE: package linux-geodelx-2.6.11: started
NOTE: package linux-geodelx-2.6.11-r0: task do_compile: started
ERROR: function do_compile failed
ERROR: see log in /home/helser/deltasphere/oe/angstrom-stable//work/geodelx-angstrom-linux/linux-geodelx-2.6.11-r0/temp/log.do_compile.25513
NOTE: Task failed: /home/helser/deltasphere/oe/angstrom-stable//work/geodelx-angstrom-linux/linux-geodelx-2.6.11-r0/temp/log.do_compile.25513
NOTE: package linux-geodelx-2.6.11-r0: task do_compile: failed
ERROR: TaskFailed event exception, aborting
NOTE: package linux-geodelx-2.6.11: failed
ERROR: Build of /home/helser/deltasphere/oe/org.openembedded.stable/packages/linux/linux-geodelx_2.6.11.bb do_compile failed
ERROR: Task 157 (/home/helser/deltasphere/oe/org.openembedded.stable/packages/linux/linux-geodelx_2.6.11.bb, do_compile) failed
NOTE: Tasks Summary: Attempted 306 tasks of which 0 didn't need to be rerun and 1 failed.
ERROR: '/home/helser/deltasphere/oe/org.openembedded.stable/packages/linux/linux-geodelx_2.6.11.bb' failed
I tried again with MACHINE = i586-generic
and it completed. It did print several QA errors at the end, like this:
ERROR: QA Issue: libgstpbutils-0.10.la failed sanity test (workdir) in path /home/helser/deltasphere/oe/angstrom-stable//staging/i586-angstrom-linux/lib

A bit ahead of myself for geodelx, but on with i586:
Now we can move beyond the last successful step:
bitbake base-image
which admittedly did a whole lot, and see what happens next.
The Anstrom build page says
bitbake console-image
is next, and X11 after that. I'm going to skip the X11 image, since I'm not planning on using a screen.
That completed too, with some of the same QA non-fatal errors. Here's the last bit:
NOTE: package console-image-1.0: completed
NOTE: Tasks Summary: Attempted 1279 tasks of which 1255 didn't need to be rerun and 0 failed.
So what did I end up with?
Well, I have no idea. I updated again, and i586-generic stopped working! So I am stuck right now. I'll put out this post and see if anyone can give me some pointers. I've been updating once in a while, and trying a rebuild, and I get some different behaviors, but no successful build.

More coffee, India Elk Hill Estate

We got an 'air pot' of coffee from Driade for a party this week, and everyone loved the India Elk Hill Estate batch that we got. We've been using a batch of Sumatra beans at home, and my wife and I both liked it initially, but later press-pots have been rejected by her. I think they're ok, but a bit smokey and bitter. IDK what changed.

Friday, October 17, 2008

OpenEmbedded Angstrom for Advantech PCM-9375

I'm attempting to install a modern embedded linux OS on a 3.5" single-board computer (SBC), made by Advantech, the PCM-9375. It uses an AMD Geode processor, and has lots of connectors, but the main one we need is the PC/104 connector, because we have a PC/104 board for a laser rangefinder we use.

After some investigation, I found that Cliff Blake at BEC systems has successfully used OpenEmbedded and the Anstrom distribution on this SBC. I'm going to attempt the same thing myself, then go beg for help. :)

First, I upgraded my box to Ubuntu Hardy Heron, 8.04

Next, follow the Anstrom build page: Get bitbake and OpenEmbedded
I look at the GettingStarted wiki page, and it points to OE and your Distro, which says make sure Dash is not /bin/sh. It was on my system, so I did:
"sudo dpkg-reconfigure dash" and select No when it asks you to install dash as /bin/sh.
as instructed.

Next install a bunch of stuff. I checked these off in System .. Administration .. Synaptic Package Manager, although I found the command easier on a second machine.
sudo apt-get install ccache sed wget cvs subversion git-core monotone \
coreutils unzip texi2html texinfo libsdl1.2-dev docbook-utils \
gawk python-pysqlite2 diffstat help2man
And these too:
sudo apt-get install python-psyco bitbake
I added bitbake since it was in the list and Getting Started said I could. We'll see.

OK, done with OEandYourDistro, back to Getting Started, which looks like it's mirroring the Angstrom page, so back to Angstrom.
Skip install bitbake, since it was installed as a package.

Instructions say to operate in /OE, but I get 'permission denied' doing mkdir /OE, so I'm going to operate in ~/deltasphere/OE/ instead.

get OE metadata:

cd /OE
git clone git://git.openembedded.net/openembedded.git org.openembedded.stable
cd org.openembedded.stable && git checkout origin/org.openembedded.stable
That first git command downloads a bunch of stuff. The second one is quick, but says this:
Note: moving to "origin/org.openembedded.stable" which isn't a local branch
If you want to create a new branch from this checkout, you may do so
(now or later) by using -b with the checkout command again. Example:
git checkout -b
HEAD is now at de8489b... angstrom 2007: bump to r19
Update OE metadata:
cd /OE/org.openembedded.stable
git pull --rebase
It does some downloading, then says:
You asked me to pull without telling me which branch you
want to merge with, and 'branch..merge' in
your configuration file does not tell me either. Please
name which branch you want to merge on the command line and
try again (e.g. 'git pull ').
See git-pull(1) for details on the refspec.

We'll have to wait and see what that means.

I download source_me.txt from Angstrom,
changed /OE to /home/myusername/deltasphere/OE everywhere
(Note first I tried ~/deltasphere/OE, but the soft link causes bitbake to have errors)
Copied their suggestions for build/conf/local.conf
(and make sure it's not named builds instead)
Changed MACHINE="geodelx"
since this is the processor in my SBC.
Finally try a build:
source source_me.txt
cd ../org.openembedded.stable
bitbake base-image
Oops:
ERROR: Openembedded's config sanity checker detected a potential misconfiguration.
Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
Following is the list of potential problems / advisories:

/proc/sys/vm/mmap_min_addr is not 0. This will cause problems with qemu so please fix the value (as root).
Luckily, the OE GettingStarted page says how to fix it.
echo 0 > /proc/sys/vm/mmap_min_addr
But I get 'permission denied'. And Ubuntu doesn't like 'su' to run as root, and 'sudo' leaves out the > redirect. So do it like this:
echo 0 > foo.txt
sudo cp foo.txt /proc/sys/vm/mmap_min_addr
Whew.
Now try
bitbake base-image
Nope - can't find any *.bb files! I wondered whether that note about 'make a simple dir, not one with symbolic links' would prove relevant - '~' is a symbolic link to /home/myusername, so I search-replace all occurrences of ~ in source_me.txt and local.conf, source source_me.txt again, and try again. Success!
Now it does a huge amount of stuff, like:
....
NOTE: package glibc-initial-2.5: started
NOTE: package glibc-initial-2.5-r10: task do_configure: started
NOTE: package glibc-initial-2.5-r10: task do_configure: completed
NOTE: package glibc-initial-2.5: completed
NOTE: Running task 116 of 607 (ID: 585, /home/helser/deltasphere/OE/org.openembedded.stable/packages/gcc/gcc-cross-initial_4.1.2.bb, do_fetch)
NOTE: package gcc-cross-initial-4.1.2: started
NOTE: package gcc-cross-initial-4.1.2-r13: task do_fetch: started
NOTE: fetch ftp://ftp.gnu.org/pub/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2
...
It's fetching and managing all the packages necessary for a the base-image of a linux distro for my SBC. Pretty cool. Wonder if I'm going to run out of disk space, with only 3.5 Gb left?
We'll see tomorrow, in Part 2........... (oh, the suspense)

Tuesday, October 7, 2008

Sentences to ponder

BLDGBLOG is occasionally amazing:
"Barack Obama campaigned today in the early 1960s by visiting a small pancake house near Springdale..."
Here's another:
"President Bush stopped off today with a group of people who read Harry Potter novels – the eleventh-largest demographic group in the United States – to discuss the ongoing financial crisis..."