Autonomous Field Robotics Lab
Swearingen 1D49
Author: Christopher McKinney
Project: Infrastructure
Robot: dogfish
Make & Model: Husky A200
Documentation: Setup
Topic: OS Install


OS Installation

Backing up the old OS

This part is optional but recommended in case you want to revert to the previous setup.

Booting live Ubuntu drive

  1. Create a live Ubuntu drive.
  2. Remove all connections to the Husky's internal computer except power.
  3. Attach a monitor, keyboard, and mouse.
  4. Insert the live Ubuntu drive into the Husky.
  5. Power on the Husky and immediately hit the escape key to enter BIOS setup.
  6. On the Save & Exit page, override the boot option, and select the Ubuntu USB drive.
  7. Once GRUB2 has started, select "Try Ubuntu without installing."

Creating the backup drive

Insert a USB drive into the Husky and mount it (using sudo mount /dev/sdc /media/ubuntu/BackupDrive or a file browser). Open a terminal and execute lsblk. You should see something like:

sda      8:0    0 111.8G  0 part
|-sda1   8:1    0    94M  0 part
|-sda2   8:2    0   191M  0 part
|-sda3   8:3    0     1K  0 part
|-sda5   8:5    0     1M  0 part
|-sda6   8:6    0 111.5G  0 part
sdb      8:16   1   3.8G  0 disk
|-sdb1   8:17   1   996M  0 part
|-sdb2   8:18   1   2.3M  0 part
sdc      8:32   1  29.1G  0 disk
|-sdc1   8:33   1  29.1G  0 part /media/ubuntu/<Name of Backup Drive>
loop0    7:0    0   953M  1 loop /rofs

Create a file backupinternal.bash with the following contents:

cd /media/ubuntu/
mkdir InternalMain
mount /dev/sda6 InternalMain
echo 'Zeroing free space on internal drive...'
dd if=/dev/zero of=InternalMain/EMPTY
rm InternalMain/EMPTY
umount /dev/sda6
cd "$1"
echo 'dd if="$(dirname "$0")/sda.gz" | gunzip > /dev/sda' > restore-runasroot.bash
chmod a+x restore-runasroot.bash
echo 'Backing up internal drive...'
dd if=/dev/sda | gzip > sda.gz

Then execute:

$ chmod a+x backupinternal.bash
$ sudo ./backupinternal.bash '<Name of Backup Drive>'

This may take quite some time. After it completes, eject and remove the backup drive, shut down and power off the Husky, and remove the Ubuntu drive.

Indigo Husky Install USB

The ROS Wiki has instructions on Husky installation at husky_bringup/Tutorials/Install Husky Software. Unfortunately, there were a few complications and quirks in the installation.

The Indigo Husky 64-bit ISO can be downloaded from the Clearpath package repository.


The Husky Ubuntu installer requires an Internet connection before it can begin installation. Use the right-hand Ethernet port (I encountered DHCP problems on the left-hand port).

If you get the error "Bad archive mirror" during installation, this is how I solved that (from Chris McKinney's notes on May 10, 2015):

ERROR: Bad archive mirror

Selected <Go Back>, then Execute a shell:

# ping sc.edu
# wget http://archive.ubuntu.com/ubuntu
Connection refused.

Private LAN & OS X Proxy

Connected D-Link DIR-825 router to power. Held down reset button on router until power light turned amber. Connected macbook pro to router LAN port 1. Connected to

Selected "Manual Internet Connection Setup."

Saved settings, logged back in. Selected "Wireless settings." Disabled 2.4GHz and 5GHz bands. Saved settings, logged back in. Selected "Network settings."

Saved settings, disconnected. On macbook pro, opened System Preferences --> Sharing --> Internet Sharing. From Wi-Fi to Ethernet. Disconnected macbook pro from router. Connect to "uscguest" Wi-Fi. Enabled Internet Sharing. Connected macbook pro to router Internet port. Connected router port 1 to husky right-hand port.

Booting from the Install USB

It took me a couple tries to get the Husky to boot to the installer. This is what ended up working (from Chris McKinney's notes on May 10, 2015):

Formatted USB drive with GPT and one 4GB FAT32 partition named INDIGOHUSKY. Copied iso to USB drive on OS X with unetbootin, with the options:

Attached external ethernet (connected to internet) to the right-hand port. DHCP previously failed on left-hand port. Inserted Ubuntu USB drive into husky. Hit Esc on boot to enter BIOS setup and selected Ubuntu USB drive as primary boot device. { Note: sometimes this won't work if ubuntu is already installed. In this case, enter the grub command line:

grub&gt; ls
(hd0) (hd0,msdos5) (hd0,msdos1) (hd1) (hd1,msdos1)
grub&gt; set root=(hd1)
grub&gt; chainloader +1
grub&gt; boot

}{ Secondary Note: You can also override the boot option on the "Save & Exit" page of the BIOS setup. } Saved & Exited.

If you get the error "Failed to create a file system," just select <Continue> then Yes. It doesn't seem to cause any problems with the installation.

After Installation

Default username: administrator

Default password: clearpath

Set the computer name to dogfish, and make sure to set a new password with passwd. After that, run:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install --no-install-recommends ubuntu-desktop

Husky Bringup

On the Husky:

$ rosrun &
$ rosrun husky_bringup install
$ sudo service husky-core start
$ sudo tail /var/log/upstart/husky-core.log -n 30

Connect a laptop to the wifi network "USC_Husky" and ssh into the Husky to calibrate the compass:

$ nmap -sn
$ ssh administrator@
... logged in ...
$ rosrun husky_bringup calibrate_compass

Warning: the Husky is going to move!