The trickiest part of getting Dwarf installed and working, I think, is installing the pk2cmd program, and configuring permissions for the PICKit2 Programmer. This tutorial runs through exactly how I do it on an Ubuntu system, but it should be applicable to most modern Linux distros as there are no Ubuntu specific tools involved here.
DISCLAIMER: This stuff involves altering system files and settings. I am not responsible for things going wrong on your system even if you're following this guide.
1. Get the tarball
The pk2cmd program is available from Microchip's website on the PICKit 2 page, you can find the link near the bottom of the page in the downloads, you almost certainly want the PK2CMD V... Linux Kernel 2.6 Executable Binary version, so if you're not sure get this one. (Unless your using a Mac of course, but I've not tried Dwarf on a Mac so your on your own.)
Note: In the readme it suggests getting the source tar and compiling it yourself. To do this you need to unzip the tar archive and run "make linux", then "sudo make install". To do this though you need to have a compiler and development libraries installed so I haven't suggested this method here.
2. Open the tar and copy the binaries
Open a terminal and go to the directory you saved the tar to, extract the tar with the command:
tar -zxvf pk2cmdv1-20Linux2-6.tar.gz (Note you may need to change the version number if newer releases are made.)
Change to the newly created directory:
If you want details on the command take a look at the readme, it is very thorough. The install bit is chapter 7 if you're interested. Next, as root (use sudo on Ubuntu, you may want to use su on other distros) you need to copy the executable to /usr/local/bin:
chmod 0755 pk2cmd
sudo cp pk2cmd /usr/local/bin/
The first command is needed because the default permissions in the download do not allow anyone other than the owner to execute the program, and once it's in the system folder that's only root.
Then the PK2DeviceFile.dat to /usr/share/pk2, note that you first need to make the folder:
chmod 0644 PK2DeviceFile.dat
sudo mkdir /usr/share/pk2
sudo cp PK2DeviceFile.dat /usr/share/pk2/
(Again we had to change the permissions here so that you can read the file without being root once it's been copied.)
This new folder needs to be added to your PATH variable, so open the file called ".bashrc" in your home directory in a text editor (note because it starts with a "." on Linux it is a hidden file so you may need to enable viewing hidden files or on the command line use nano editor etc.) At the end of the file add:
It's good practice to make sure there's a blank line at the end of the file, then save it.
3. Setup permissions That's the program installed, but the tricky bit is setting up the USB device permissions so that you can use pk2cmd (and hence Dwarf) without using sudo. To do this you need to tell the system that its safe to let users (or a certain group of users) to write to this device directly. To do this, copy the file 70-microchip.rules that is attached to this article into /etc/udev/rules.d/ on your computer, then run the two commands:
sudo groupadd microchip
sudo usermod -aG microchip your_user_name
Replacing your_user_name with your login name e.g. :
sudo usermod -aG microchip nathan
The file you copied contains a rule telling the system to allow read and write access to a USB device with the specific device ID of the PICKit 2 programmer to members of the group microchip. The two commands then make this group, and add your user to it.
Before this takes effect though you need to log out and in again, and restart udev. The easiest way to do all this is just to reboot.