-Kipling
By default the Beaglebone Black is configured to provide a GUI interface to an HDMI monitor. Supporting this GUI interface requires a considerable amount of effort on the part of the Beaglebone Black CPU and operating system. It also ties up quite a few I/O lines which could otherwise be used to operate internal devices such as SPI, I2C, A2D and serial ports. Running the Beaglebone Black without video can save a considerable amount of memory and increase the responsiveness of the device and, of course, free up those I/O lines for other purposes.
So, how does one connect to the Beaglebone Black if there is no GUI interface. Well, you can use the USB method (enabled by default) or you can connect via SSH or you can use some sort of Remote Desktop mechanism. The USB method will always work (unless you disable it) but the SSH and Remote Desktop methods require you to know the IP address of the Beaglebone Black. This presents something of a conundrum - how can you know the IP address of a device you have never connected to?
The answer is simple, you don't run the Beaglebone Black headless until you are sure you have set up networking, can connect to it, and have it set to use a fixed IP address that will not change on you. Once you get everything working, you can disable the HDMI video and you will have a true headless environment.
The USB and Remote Desktop methods will not be discussed here. This page will solely concern itself with running the Beaglebone Black in a truely headless manner. In other words the GUI will not be present (even remotely) and the HDMI I/O lines and associated resources will be freed up for use.
The BeagleBoard.org download page offers two versions of the Debian operating system for the Beaglebone Black. One will be "without Graphical Desktop" and one will be "with Graphical Desktop". Unless you are going to be using a Remote Desktop to interact with the Beaglebone Black, there is little point in using an operating system that starts the LXQT GUI.
Below is a useful sequence of events.
sudo apt-get update... and maybe ...
sudo apt-get upgrade... if you wish to upgrade the existing packages as well.
uEnv.txt
file to Disable HDMI Video
The process of disabling the HDMI video is quite simple on later versions of the Beaglebone Black operating systems.
All you need to do is edit the uEnv.txt
file (use the command nano /boot/uEnv.txt
as root). In this
file you will see a line which states ...
#disable_uboot_overlay_video=1... just uncomment this line ...
disable_uboot_overlay_video=1... and reboot the Beaglebone Black.
Once the Beaglebone Black has rebooted, you will see that you no longer get a login prompt on the HDMI monitor. The I/O lines and other resources used by HDMI are now available for other uses. You should still be able to login via SSH with no problems.
Note: you may also wish to disable the audio subsystem by uncommenting the line in the /boot/uEnv.txt
file shown below
#disable_uboot_overlay_audio=1
The contents of this web page are provided "as is" without any warranty of any kind and without any claim to accuracy. Please be aware that the information provided may be out-of-date, incomplete, erroneous or simply unsuitable for your purposes. Any use you make of the information is entirely at your discretion and any consequences of that use are entirely your responsibility. All source code is provided under the terms of the MIT License.