Good morning everybody,
I have a question regarding how the wired Ethernet connection is
established at boot time.
I recently built Angstrom for my revision A3 Beaglebone using the
directions that Koen provides on the "Building Angstrom" webpage. This
was my first successful application of OpenEmbedded/bitbake ...
everything ran to completion with no errors. I used the output files to
build an SD card ... use mkcard.txt to format an 8 GB SD card, copy MLO
to the card first followed by u-boot.img and uImage and finally I
extracted the root file system to the second partition on the card.
After being sure that the write operations were complete, I transfered
the card to the Beaglebone and fired it up. The bb booted and I had a
brand new version 3.2.ll+ of the kernel up and running. Now we come to
the question. It soon became apparent that the wired network connection
didn't start up when the machine booted (it had always worked every time
I rebooted prior to this with the original sd card that came with the
BB, or with any cards I made from downloaded image files). If I start
networking manually (/etc/init.d/networking start), everything works
perfectly. So, my question is where (or how) did I go wrong and how do I
fix it? I suppose I could start networking from a script of my choice,
but what is the standard way of having Angstrom start it up?
It sounds like a standard Linux question.
The boot script needs to know in what context (if any) to run the networking script.
Your system may/should have a group of commands including: rc-config rc-service rc-status rc-update.
try "man rc-xxxx" or even rc-xxxx --help to see which one shows you the current state of the scripts in /etc/init.d. Then you will use another
one to add the network script to a given init state, and activate it.
Hint: Networking should be in the "boot" context (aka run-level).
These scripts are part of a package/project called OpenRC. You can search for it and study it a bit. It is very useful for embedded systems.