This post is just to list some example initial things to do with the BBB, to prepare it for development. Others may have different suggestions to suit various working methods. The official getting started page is here.
Powering up the board for the first time
(Instructions here are Windows based, but the official page has instructions for Linux and MAC too; For Linux, no drivers are needed but they suggest using this script):
- Plug in the USB, let it boot up. Some drivers will not install (CDC Serial and RNDIS)
- Download BONE_D64.exe for Win 7 64-bit and run it. It will prompt a few times. Now all drivers will be installed.
- In a Windows command prompt, ipconfig /all will reveal a "Linux USB Ethernet/RNDIS Gadget" interface has been created on the PC with IP address 192.168.7.1; the BBB IP address will be 192.168.7.2
- It is now possible to use a web browser to navigate to http://192.168.7.2.
Using a serial cable
The J1 row of pins on the BBB allows connection to a PC for serial comms (115200 baud by default).
This is a small hardware mod to use a powered USB-serial adapter:
Solder a red wire from J1 pin 2 to P9 pin 4
The communications pins and direction of data is:
Beagleboard J1 pin 4 <---------------PC
Beagleboard J1 pin 5---------------->PC
J1 pin 1 is 0V.
Information on various serial cables is here. Connecting up a FTDI TTL-232RG-VIP-WE cable (these colors were different to the ones on that page):
Pin on J1 Color
Plug in the FTDI cable into the PC. (On Window 7 64-bit; the driver will install automatically after a while - no need to download any driver.
Check the port number in Device Manager).
Start up serial terminal software on your PC, set to 115200 baud, no DTR/DSR/RTS/CTS/XON/XOFF
Power up board and observe it booting up; after around 10 sec it will be at the login prompt
Login as root (there is no password)
Updating the software
The getting started page has this detail and it works well. It requires a microSD card and a way to program it from a PC (e.g. a small SD to MicroSD adapter if your PC has an SD card slot). It takes almost exactly 45 minutes for the flash to be programmed on the board.
Setting the date
Check the date by typing date
Set the date, e.g.
date -s "May 21 22:49 UTC 2013" (you may wish view http://www.timeanddate.com/worldclock/ )
From the PC, it may be possible to SSH to 192.168.7.2 (username is root, no password)
If it is not possible on a new board (like my board) then this was the fix:
- Connect via the USB-Serial adapter
/etc/init.d/dropbear stop(dropbear is the name of the SSH server software)
- There will be a file in this folder
- The dropbear_rsa_host_key will be recreated, and this time will be a few hundred bytes in size
- Now the SSH should work
Powering down the board
At the shell prompt, issue
shutdown now to power down the board; otherwise you risk file system corruption.
There is a power button on the board, that could issue this for an automatic shutdown if someone writes the code (the button is described in the BBB SRM doc that can be found here).
Some shell and vi changes
To have a better shell:
edit the first line (the root user line) to say
/bin/bash instead of
Then, issue a reboot command.
For me, the vi on the BBB behaved slightly different, but enough to make it uncomfortable for long use. I made these changes to suit personal tastes:
Make tabs equal to 2 columns instead of 8:
- Go to /usr/share/vim and edit the vimrc file there
- At the end of the file, add a new line with this content (including the colon):
Disable the incsearch if you want traditional vi search behaviour (Otherwise, get used to pressing enter after a search):
Search for incsearch, and comment it out with a speech-mark at the beginning (i.e. " )
Disable the autoindent:
Search for autoindent and comment it out and comment out the else line above it too
Also, search for filetype plugin indent on and comment that line out too.
Setting the console width:
stty cols 100
Mounting file systems
Unusually the busybox version of mount is needed. Basically, this command worked:
chmod 777 shared
busybox mount -o port=2049,nolock,proto=tcp -t nfs 192.xxx.xxx.xxx:/volume1/public /mnt/shared
(where /volume1/shared is configured on your storage server and 192.xxx.xxx.xxx is the address of it). The -o part is necessary to get it to work.