After experiencing some problems with Bonechop (my Beaglebone Black), I decided it was time to do a clean install of Debian on the internal eMMC storage.
Following the directions at http://elinux.org/Beagleboard:BeagleBoneBlack_Debian, I installed the console version of Debian to the eMMC. Once the install was complete, I rebooted the board (and I had a monitor connected to the HDMI so that I could see what was going on).
During the boot process, the screen displayed a cutsy wootsy little penguin in the corner of a black screen. About a minute, the screen changed to a sign in console, and I logged in.
Once in the system, I quickly installed wicd (my preferred network connection manager), and the drivers for my wireless USB card. When wicd was configured to automatically connect to my wireless network, the beaglebone was rebooted again.
This time I still got the little penguin on the black screen, but the the boot took quite a bit longer, and I still had no idea what was going on in the background. A quick question asked in the Beagleboard Community on Google Plus, and I was getting some insight as to what I needed to do in order to get output on my screen.
In a nutshell, in my /boot/uEnv.txt file, the line:
cmdline=quiet init=/lib/systemd/systemd
was changed to
cmdline=init=/lib/systemd/systemd
and I needed to add an additional line:
console=tty0
Rebooting the Beaglebone Black, I was quite pleased to see output text flashing before my eyes.... oh, what is that? The unused eth0 network was trying to get an IP address using DHCP, but since there was no cable connected to eth0, the request was never fulfilled and it tool far too long to timeout.
For this problem, I edited the /etc/network/interface file and commented out:
auto eth0
so that networking wouldn't try to automatically connect with eth0.
Another reboot, and I noticed a significant decrease in boot time. Awesome!
Just to make things a bit more fun, in /etc/wicd/scripts/postconnect, I created a file as follows:
#!/bin/sh curl --data "text=bonechop is now online" cronos:8255/speak
On cronos, there is a basic web accessible Text-To-Speech wrapper that 'speaks' text that is sent to it.
Now that the Beaglebone is running headless, when I reboot the device I get auditory feedback. sweet sauce!