The scripts found here are intended to be run on a BeagleBone Black.
Feedback is welcome.
The scripts worked for me, at least once. But then I rewrote them.
What’s here so far…
- How to power and hook up the network, since I use it headless
- Suggestions on configuring your ssh
- Installing: ntp (i.e. network time)
- Installing: tmux, so you can disconnect and leave things running.
- Installing: emacs (an editor). This is very slow.
- Installing: ccl (a common lisp).
The git installed will not work with github. I haven’t addressed that issue yet. So, rather than clone these tools, get them as so:
curl --location --insecure https://github.com/bhyde/bbb/archive/master.zip | unzip - cd bbb-master
Then you can run the scripts one as time.
bash -v install-ntp bash -v install-tmux bash -v install-git bash -v install-emacs bash -v install-ccl
The git install takes a while.
The linux on the board is Angstrom and it’s package manager is opkg. The default repository is very lean, so utils.sh has a bash function to add a better one. This is done prior to installing ccl or emacs.
I use the board headless via ssh.
Plug a micro USB cable into the board (below the internet connector), and into some USB power source. This will power up the board.
Plug an Ethernet cable from the board into your LAN. Assuming your lan has DHCP the board will grab an IP.
Then puzzle out what the <ip> is. My LAN’s router has a web UI which will enumerate all connected devices. The beagle board identifies it’s self.
Aside: The doc suggets that you can use the USB cable for networking. but I wasn’t able to get that to happen for me. At least not on my Mac.
Use ssh to connect to the board: ssh root@<ip>, the password is ”, i.e. it’s blank. Create a .ssh/authorized_keys file on that board and place your usual ssh public key there.
On you laptop add this to ~/.ssh/config
host bbb hostname <ip-addr> user root
A this point you ought to be able to do: ssh bbb
This section is based on this post!
You really need to do this, since otherwise make won’t work.
tmux is a software terminal multiplexer, like screen, it’s useful when you want to have a long running process. Like building emacs from source.
The git found on the board is incompatible with github, so this script compiles one from scratch.
This also helps with the board’s confusion around certificate authorities. For example it tells curl where to find these certs.
It will copy default-gitconfig into ~root/.gitconfig, but you will have to adjust the user info in there. The config will also address the problem with certs.
This script pulls emacs from the added opkg repository.
This section is based on this post!
This script needs svn, which it will fetch and install if necessary. It get’s it from the added opkg repository.
It takes about 30 minutes. It will:
- recompile the ccl kernel for the ARM processor on the board, and
- it will then rebuild the lisp side of things.
- Into /usr/local/bin it installs armcl, and an alias lisp
- Then it installs quicklisp, the slime helper, and modifies root’s .emacs.d/init.el
When that’s all done you should be able to do M-x slime in the emacs you build earlier.
- Installing ntp
- Installing ccl
- A lot of useful little recipes new user, sudo install, etc. etc.
- More recipes
- Another blog post where in I found the better opkg repository.