Nikon D70s/D80/D300 and Linux

On Sept 1, 2006, just about a week before the D80 came out here, I got a Nikon D70s. Here's some useful tips for those who work in linux. On Jan 27 2007 I replaced the D70s with the D80. Very nice as well. On May 16, 2008 replace that one with a D300. Also nice. Nikon plays well with linux. Firmware upgrades are simply done by placing the right two files (A and B) in the root directory of the flash card and hitting the right menu button on the camera. Just remember you first do the A, upgrade, delete it, and then the B. Otherwise it won't work right. MSC (mass storage) mode ensures that a USB cable will see the camera like a hard drive. The PTP mode also works, so is the claim, i've not tried that. Using RAW (NEF) is also easy, the new 14bit option seems to work as fine as the old 12bit option. I use it in a gimp plugin (ufraw).

Example of using jigl with the camera scripts

In the example below I am using a different directory for the pictures (they could eventually be stored offline or on a DVD), and the web 'copy'. Most of the time the web 'copy' is just a set of symbolic links into the actual picture data tree. This way the only archival thing we need in this directory are the gallery.dat and rsync.dat file. The rest could in theory be removed (the actual $root_name/ subdirectory, and the slides/ and thumbs/ directories used by jigl). But you don't have to do this. You can just as well keep the gallery.dat and rsync.dat file in the picture directory.


	cd $my_picture_disk_for_today
	get-nikon                                       (grab the latest pictures from the camera)
	cd $my_web_copy_for_today
	jigl -cg                                        (make a fresh gallery.dat file)
	add-jpg -a $my_picture_disk_for_today/*JPG      (add all JPG's from what we just downloaded)
	edit gallery.dat				(set -wd name, and optionally add -lo; also set TITLE's)
	edit rsync.dat					(set the machine/root_name/pics in rsync.dat, see do_sync for template)
	do_sync


    Any subsequent new pictures can now be updated on the webpage as follows:

	
	cd $my_picture_disk_for_today
	get-nikon                                                               (grab the latest pictures from the camera)
	cd $my_web_copy_for_today
	add-jpg $my_picture_disk_for_today/DSC_0103.JPG a nice flower           (take this pictures, add some annotation)
	add-jpg $my_picture_disk_for_today/DSC_0110.JPG watch the bird fly      (another one, and some annotation)
	....
	do_sync                                                                 (runs jigl and updates the webpage)



Directory structure:

   $my_picture_disk_for_today/                                where all the originals live
   $my_web_copy_for_today/                                    where gallery.dat and rsync.dat live
   $my_web_copy_for_today/$root_name                          your local WWW mirror tree
   $my_web_copy_for_today/slides                              temporary cached copies for jigl
   $my_web_copy_for_today/thumbs                              temporary cached copies for jigl


Note that $my_picture_disk_for_today and  $my_web_copy_for_today can be the same location on your disk.



Other useful references