Daniel Petti | 31268f7 | 2014-01-20 11:27:28 -0800 | [diff] [blame^] | 1 | This file contains notes on setting up a new BBB image. |
| 2 | Doing it right requires knowing what you're doing as a Debian sysadmin, so the |
| 3 | main goal of this file is to avoid forgetting anything. |
| 4 | |
| 5 | Daniel last updated this on 2014-01-20 with Debian Wheezy. |
| 6 | |
| 7 | 1. Install Debian stable. |
| 8 | Follow the instructions here: |
| 9 | http://blogs.bu.edu/mhirsch/2013/11/install-debian-7-to-emmc-internal-flash-drive-of-beaglebone-black/ |
| 10 | Create a "driver" user. |
| 11 | 2. Install aos.conf and starter. |
| 12 | I just changed aos.conf to give driver permissions instead of the group. |
| 13 | 3. Install and configure exim4. |
| 14 | `apt-get install exim4-config` |
| 15 | `dpkg-reconfigure exim4-config` and select the option for making minimal |
| 16 | DNS queries (it also says some junk about modems). |
| 17 | 4. Configure the network. |
| 18 | Edit /etc/network/interfaces to give it the right static IP address. |
| 19 | Set up eth1 like the default eth0 in case the NIC gets assigned that (see |
| 20 | #8 below). That shouldn't be a problem any more, but it's probably good |
| 21 | to be on the safe side because it can be a pain to find a screen to fix |
| 22 | it otherwise. |
| 23 | 5. Install stuff. |
| 24 | This includes the realtime kernel. |
| 25 | Note that at the time of this writing, you can't apt-get install the |
| 26 | realtime kernel packages directly on the beaglebone. |
| 27 | You must download them on your computer, copy them to the beaglebone, |
| 28 | and install them using dpkg -i. |
| 29 | <http://robotics.mvla.net/files/frc971/packages/>. |
| 30 | After you do this, you will still need to modify the zImage |
| 31 | symlink to point to the right kernel. |
| 32 | `rm /boot/zImage` |
| 33 | `ln -s /boot/vmlinuz-3.8.13.9-rt20+ /boot/zImage` |
| 34 | After you reboot, you should be running the rt kernel. |
| 35 | (Check it with `uname -r`.) |
| 36 | Besides the realtime kernel packages, you'll figure everything else out |
| 37 | as you start trying to run stuff. |
| 38 | 6. Make SSH logins faster. |
| 39 | Add the line "UseDNS no" to /etc/ssh/sshd_config. |
| 40 | 7. Make it so that the programming team can log in without passwords. |
| 41 | Everybody will have to run `ssh-copy-id -i ~/.ssh/id_rsa.pub BBB` (see |
| 42 | <http://www.debian-administration.org/articles/152> for details). |
| 43 | 8. Make udev stop being annoying and naming NICs eth1. |
| 44 | udev wants to remember the ethernet NIC from each device and name the one |
| 45 | in a new BBB eth1, which breaks stuff. If that happens, removing |
| 46 | /etc/udev/rules.d/70-persistent-net.rules will make it autogenerate a |
| 47 | new one and fix it. |
| 48 | To prevent this problem from happening in the first place, follow the |
| 49 | directions in 10-net-eth0.rules. |
| 50 | 9. Make it automount the uSD card. |
| 51 | Open /etc/fstab on the bbb and add this line: |
| 52 | "/dev/mmcblk0p2 /media/driver/sdcard ext4 rw 0 2" |
| 53 | Obviously, replace mmcblk0p2 with the actual handle for the partition |
| 54 | on your uSD card that you want to mount, and make sure that |
| 55 | /media/driver/sdcard exists. |
| 56 | Note that now it won't boot up correctly unless it has a uSD card. |
| 57 | 10. Set up logging. |
| 58 | Fairly straightforward here. We want it to log to the uSD card, so: |
| 59 | `mkdir ~/tmp` |
| 60 | `mkdir /media/driver/sdcard/robot_logs` |
| 61 | `sudo ln -s /media/driver/sdcard/robot_logs ~/tmp/robot_logs` |
| 62 | 11. Download the code! |
| 63 | 50. Clone the image to the rest of the disks. |
| 64 | TODO (daniel): Fill this in as we work it out. |