Ich verwende praktisch ausschließlich Makefiles für meinen "Uno".
Mit make -n ausgegeben lauten bei mir das Upload Kommando:
stty -F /dev/ttyACM0 hupcl
avrdude -V -F -C /home/kraus/prg/arduino-0022//hardware/tools/avrdude.conf -p atmega328p -P /dev/ttyACM0 -c stk500v1 -b 115200 -U flash:w:tmp/HelloWorld.hex
ok, ob das jetzt ttyACM0 oder ACM1 heisst, hängt von der Anzahl der angeschlossenen UNO's ab. Manchmal kommt Linux auch durcheinander, wenn die Arduino IDE noch aktiv ist.
Was mir aber noch aufgefallen ist: Du verwendest das conf file unter /etc. Ich hab mir angewöhnt das conf file aus der Arduini IDE zu benutzen. Auf jedenfall falsch ist das baud-raten Kommando (-b). Der Uno erwartet die Daten wesentlich schneller. Grundsätzlich sollte das Makefile das boards.txt auslesen.
Meine Makefiles für Uno mit 0022 bzw Uno mit 1.00 liegen u.a. hier:
http://code.google.com/p/u8glib/source/browse/#hg%2Fsys%2Farduino%2FHelloWorld
Sehr empfehlen kann ich auch das Makefile hier:
http://arduino.cc/forum/index.php/topic,88989.0.html
Vor allem die Idee mit dem screen Befehl ist sehr nett (simuliert den Serial Monitor der Arduino IDE)
Oliver
Edit: Wollte noch anmerken, dass es bei dem eingangs genannten Fehler zuweilen notwendig ist, den Uno zu reseten und unmittelbar danach den Upload zu starten. Das hilft oft.