http://www.arduino.cc/playground/Linux/Fedora

Install Arduino on Fedora 12 (x86_64)

Requirements:

Install packages

$> su -
$> yum install uisp avr-libc avr-gcc-c++ rxtx avrdude

Install Arduino

Link the proper files

$> cd <path to arduino>/lib
$> rm librxtxSerial.so RXTXcomm.jar
$> ln -s /usr/share/java/RXTXcomm.jar
$> ln -s /usr/lib64/rxtx/librxtxSerial.so
$> cd <path to arduino>/hardware/tools/avrdude
$> ln -s /usr/bin/avrdude

Make login member of the proper groups

  • go to (GUI) Administration \ Users and Groups
  • Select User
  • Select Properties
  • Select tab Groups
  • make account member of the following groups:uucp, lock and dialout
  • login and logout

Select serial port

  • In Arduino under Tools / Serial Port, select /dev/ttyUSB0

Install Arduino on Fedora 11

Requirements:

From Fedora Repositories:

  • uisp-20050207-5.fc11.i586
  • avr-libc-1.6.4-1.fc11
  • avr-gcc-c++-4.3.3-2.fc11
  • avr-gcc-4.3.3-2.fc11
  • avr-binutils-2.18-4.fc11

avr-libc-1.6.4-1 includes crtm328p.o.

Link the proper files

  • cd arduino-017/lib
  • rm librxtxSerial.so RXTXcomm.jar
  • ln -s /usr/share/java/RXTXcomm.jar
  • ln -s /usr/lib64/rxtx/librxtxSerial.so

Finally, to get around the "ghosted" Serial port, I had to add my user to the "dialout" group in /etc/groups and relogin. I also already had an .arduino/preferences.txt file, where i changed COM1 to /dev/ttyUSB0

Install Arduino on Fedora 10

Requirements:

From Fedora Repositories:

  • uisp-20050207-4.fc10.i386
  • avr-libc-1.6.4-1.fc10
  • avr-gcc-c++-4.3.3-1.fc10
  • avr-gcc-4.3.3-1.fc10
  • avr-binutils-2.18-2.fc9

... then install the avr-gcc-c++ RPM from http://fr2.rpmfind.net/linux/RPM/fedora/updates/10/i386/avr-gcc-c++-4.3.3-1.fc10.i386.html (pick the big link near the top of the page)

avr-libc-1.6.4-1 includes crtm328p.o.

Install Arduino on Fedora 9

Requirements:

From Fedora Repositories:

  • uisp-20050207-2.fc9.i386
  • avr-libc-1.4.6-4.fc9
  • avr-gcc-c++-4.3.3-1.fc9
  • avr-gcc-4.3.3-1.fc9
  • avr-binutils-2.18-2.fc9
  • avrdude-5.5-3.fc9 (optional)

If you want to use Arduino Duemilanove with ATmega328, avr-libc-1.4.6 RPM does not include crtm328p.o. So what you need is newer avr-libc. My case, avr-libc-1.6.6 from upstream fix the problem.

Install Arduino on Fedora 8

Requirements:

From Fedora Repositories:

  • uisp-20050207-1.fc8
  • avr-binutils-2.17-4.fc8
  • avr-gcc-4.1.2-5.fc8
  • avr-gcc-c++-4.1.2-5.fc8
  • avr-libc-1.4.6-4.fc8
  • avrdude-5.5-2.fc8 (optional)

Installation:

First you need to download the JRE (Java Runtime Environment), i downloaded jre-6u4-linux-i586-rpm.bin . Open a terminal and forward to the file and make the execute bit high:

  • chmod +x jre-XXX-linux-XXX-rpm.bin

The XXX and XXX stands for version and arch, you should enter the version and arch what you downloaded from Sun. Then execute as root the file;

  • su -
  • password: (su asks for root password)
  • ./jre-XXX-linux-XXX-rpm.bin
  • press q for quit the disclaimer
  • enter yes for agree the disclaimer
  • installation begins
  • /usr/sbin/alternatives --config java
  • select java package just installed
  • add user to group: uucp and lock
  • logout and login, to make the group membership changes take effect

If /usr/sbin/alternatives --config java does not list the newly installed java version then you can add it manually:

alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_07/bin/java 1607 

Now try /usr/sbin/alternatives --config java again.

Then proceed as normal, download arduino, unpack and enjoy!

Good Luck, Jerry

Fedora 8 x86_64

The Ardruino tarball only includes a 32-bit version of librxtxSerial.so, the native portion of the Java RXTXcomm library (http://www.rxtx.org), which fails with the following error on 64-bit distributions:

java.lang.UnsatisfiedLinkError: /home/user/arduino-0011/lib/librxtxSerial.so:
/home/user/arduino-0011/lib/librxtxSerial.so: wrong ELF class: ELFCLASS32
(Possible cause: architecture word width mismatch) thrown while loading gnu.io.RXTXCommDriver

The solution to this problem is to either compile RXTX, or download the binaries from the project site. Compiling the current version of RXTX turns out to be problematic on Fedora 8. Installing the binaries is much easier:

  1. Download the Linux binaries from here: http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
  2. cd ~/arduino-0011/lib
  3. mkdir orig
  4. mv librxtxSerial.so orig/
  5. unzip -j ~/Download/rxtx-2.1-7-bins-r2.zip \ rxtx-2.1-7-bins-r2/Linux/x86_64-unknown-linux-gnu/librxtxSerial.so

If you missed the group membership changes, or you forgot to log out and back in, then the arduino program will have problems accessing the serial port and creating a lock file. In that case, you will see an error message like this:

check_group_uucp(): error testing lock file creation Error details:Permission denied
check_lock_status: No permission to create lock file.
please see: How can I use Lock Files with rxtx? in INSTALL

Install Arduino on Fedora Core 6

Table of contents

  • Overview
  • Requirements
  • Installation

Overview:

To do the installation of Arduino on Fedora Core 6 (FC6), I pretty much used a mishmash of various different installation documents from different distributions that were out there. This document is to cover what all I found that needed to be done to get the Arduino to work under FC6.

Requirements:

  • SUN Java
  • AVR RPM's from the Fedora Project
  • avr-libc from www.rpmfind.net
  • download the avr-libc binary as well

Installation:

  • SUN Java
  • AVR RPM's from the Fedora Project
  • avr-libc from rpm.pbone.net
  • download the avr-libc binary as well

First off, the java that comes with the FC6 distribution is not good enough to run the Arduino environment. You will definitely need the Java from Sun for it to work correctly . The version I have installed is jdk-1.5.0_09-fcs. I highly recommend that you used the method described at http://ccl.net/cca/software/SOURCES/JAVA/JSDK-1.5/index.shtml. The reason for this is that it will allow you to use the "alternatives" feature in Fedora so that you can multiple different vendor Java's setup on your system. Follow those instructions and set the Sun Java as default. One thing to note on the versions, go with the version that is specified in the article. If try to go with a newer one, the update that you will do later with the repo from JPackage.org will fail. It seems that it has to be that specific version of the jdk. for me, the version of jdk that I used to make it all work was jdk1.5.0_09.

Now for the rpms, as root, install the following rpms from the Fedora repos:

$> yum install avr-gcc avr-binutils avrdude avr-gdb avr-gcc-c++

For me, this installed these versions:

  • avr-gcc-4.1.2-4.fc6
  • avr-binutils-2.17-3.fc6
  • avrdude-5.3.1-5.fc6
  • avr-gdb-6.6-4.fc6
  • avr-gcc-c++-4.1.2-4.fc6

You will also need avr-libc but the Fedora repo does not seem to have that one. I did find the rpm at http://rpm.pbone.net. I downloaded that rpm and installed it. The version that got installed was:

  • avr-libc-1.2.3-1.fc6.ccrma

At this point, a majority of the Arduino environment will start to work. For me, however, I ran into another problem. It seems that with my Arduino NG rev. C, that I got, comes with an ATMEGA168-20PU chip. It also turns out that the avr-libc has a known issue where the file crtm168.o is missing from this rpm. It also just happens to be a very necessary file that you will need in order to be able to compile any programs and send them to the Arduino. http://www.nongnu.org/avr-libc/ The solution to this problem was to download the avr-libc package from http://www.nongnu.org/avr-libc/. The version I got was 1.4.6. Now unzip the binary and look for a file called crtm168.o. Copy that file to the /usr/avr/lib/avr5 directory.

At this point, you should be able to run the Arduino IDE environment and upload programs to the chip.

The only other issue that I am still experiencing has nothing to do with the setup of the Arduino but has everything to do with the USB permissions. Everytime I plug in the Arduino into my machine, FC6 sets the permissons on the port such that a regular user cannot use it. To correct this, I chmod 777 /dev/ttyUSB0 as root. After that, I am able to communicate with the Arduino as myself. This is more ideal to me than running the IDE as root.

- update - I was able to fix the permissions issue by adding my userid to the uucp and lock group in /etc/group. Once I did that, I logged out and back in again and the arduino environment started up fine.

Good Luck. -- Charles


Reply via email to