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:
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.
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.
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
since this is the processor in my SBC.
Finally try a build:
Now try
Now it does a huge amount of stuff, like:
We'll see tomorrow, in Part 2........... (oh, the suspense)
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.
And these too: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
I added bitbake since it was in the list and Getting Started said I could. We'll see.sudo apt-get install python-psyco bitbake
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 /OEThat first git command downloads a bunch of stuff. The second one is quick, but says this:git clone git://git.openembedded.net/openembedded.git org.openembedded.stable
cd org.openembedded.stable && git checkout origin/org.openembedded.stable
Note: moving to "origin/org.openembedded.stable" which isn't a local branchUpdate OE metadata:
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
cd /OE/org.openembedded.stableIt does some downloading, then says:
git pull --rebase
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,
(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.txtOops:
cd ../org.openembedded.stable
bitbake base-image
ERROR: Openembedded's config sanity checker detected a potential misconfiguration.Luckily, the OE GettingStarted page says how to fix it.
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).
echo 0 > /proc/sys/vm/mmap_min_addrBut 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.txtWhew.
sudo cp foo.txt /proc/sys/vm/mmap_min_addr
Now try
bitbake base-imageNope - 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:
....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?
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
...
We'll see tomorrow, in Part 2........... (oh, the suspense)
Comments