For all versions of openSUSE that are currently maintained (11.4, 12.1 and 12.2), click on the button bellow for One Click Installation via YaST.
arduino in your favourite terminal.
Fritzing is an open-source initiative to support designers, artists, researchers and hobbyists to work creatively with interactive electronics. The Fritzing software can help you document your Arduino projects, learn more about electronic circuits, share your work with others and prepare your designs for professional manufacturing.
For all versions of openSUSE that are currently maintained (11.4, 12.1 and 12.2), click on the button bellow for One Click Installation via YaST.
Via command line, as root
zypper ar http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_12.1 cross-avr
zypper ref
zypper in arduino
(every bullet point is one line)
In Yast add the user to the groups lock, uucp, dialout and tty
Then run arduino
Via command line, as root
zypper ar http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11.4 cross-avr
zypper ref
zypper in arduino
(every bullet point is one line)
In Yast add the user to the groups lock, uucp, dialout and tty.
Then run arduino
The Arduino package from arduino.cc works well too. Make sure the packages avrdude, rxtx-java, avr-libc, (cross-)avr-binutils and (cross-)avr-gcc are also installed.
Via command line, as root
zypper ar http://download.opensuse.org/repositories/CrossToolchain:/avr/openSUSE_11.3 cross-avr
zypper ref
zypper in arduino
(every bullet point is one line)
Also add the user to the groups lock, uucp, dialout, and tty
Then run arduino
However, this might install an avrdude that does not recognise the arduino processor. If avrdude produces a "Yikes! Invalid device signature" message when you upload a sketch, that's possibly what has happened. In that case, use YaST to remove the avrdude package, which will also remove the arduino package (due to dependencies). However, it should leave in place avr-gcc, libraries etc. Then download the arduino software from the main site - http://arduino.cc/en/Main/Software - and that should bring in an avrdude that works.
Instead of using gcc 4.3.3 (in cross-avr-gcc), you may also install package avr-gcc-462. If you then run
run-avr-gcc-462 arduino your programs will be compiled with gcc 4.6.2, which has better optimisations and gives shorter programs. If it doesn't work, run arduino again to compile with gcc 4.3.3 as before.
Generally speaking, run-avr-gcc-462 is a wrapper script that prep-ends the directory containing gcc 4.6.2 to the path and runs the program given as its argument.
There are other gcc versions to try, but 4.4 and 4.5 are probably not so useful. 4.6 is required for using LTO (even more optimisations), but that's a more advanced topic and will not work with the Arduino IDE until that acquires capability to add more compiler options.
For release 012, there are dedicated version for 32bit and AMD64 available here and on the mirrors.
For the installation of an Arduino-release 0018 on an openSUSE 11.2 (x86_64), the impatient can find a related 12-step installation-HOW-TO at the forum
This is necessary for using the ATmega328 chip !
http://download.opensuse.org/repositories/CrossToolchain:/avr/
After adding the appropriate openSUSE version repo with YaST, just install as usual.
Install the packages with YaST as usual.
avr-gcc is installed to /opt which may be outside the default path on older releases. A few symlinks to /usr/local/bin solve this issue. On openSUSE 11.2 it just works out of the box.
Create symlinks as root:
find /opt/cross/bin/ -iname "avr*" -exec ln -s -t /usr/local/bin/ {} \;
Related post on the forum
Get the rpms from openSUSE repositories: openSUSE 11.0 11.1 11.2
First install the rpm package. Then change to your arduino folder and remove the supplied ./lib/librxtxSerial.so and replace it with a symlink (as root):
ln -s /usr/lib/librxtxSerial.so
As devices are created on the fly by UDEV, using chown/chmod on /dev/ttyS0 ... /dev/ttyUSB0 ... will not be enough to grant access rights. Also some applications require write access to /var/lock (e.g. minicom, console terminal software) and will not work properly without that.
On openSUSE systems users get the proper access rights (rw) by putting them into the UUCP group (pre 11.2) or DIALOUT + UUCP group (as of 11.2). DIALOUT membership grants write access to serial ports, UUCP membership allows for lock-file generation in /var/uucp. This can be done with YaST or on the console by:
usermod -A dialout some_user_name
If this is done while running an X session as said user, X must be restarted to update group membership (logoff/logon).
It is also necessary for the IDE to run properly, that it can create a lockfile for the serial port in the /var/lock directory. Permissions must be changed to account for that. A stock installation of 11.2 should have these perms:
drwxrwxr-t 7 root root 4096 4. Apr 17:32 lock
which must be changed to rwx-rwx-rwt like so:
chmod o+rwx /var/lock
As the temp-flag (t) is set, files can only be deleted by their owners, although they may have rwx-rwx-rwx permissions. Everything should be safe.
You can start the IDE by running the shell script 'arduino' from the console, or if you prefer the point/click method and happen to use KDE, just create a 'Link to Application...' with the 'arduino' shell script as the target.
For viewing debug messages (build/upload) and error messages, the IDE must be started from a console. The IDE stores its settings in the file '$HOME/.arduino/preferences.txt'. To enable verbose output, change these flag accordingly:
build.verbose=true
upload.verbose=true
When installing the VirtualBox rpm package from www.virtualbox.org, a new usergroup called 'vboxusers' is created automatically.
Users must be member of this group.
The current group membership can be looked up by typing the command id in a console. Adding a user to the group 'vboxusers' can be done with YaST or by running
usermod -A vboxusers some_user_name
as root. The current X session must be restarted to make it work.
When using up-to-date releases of VirtualBox, these steps are not necessary anymore.
VirtualBox requires '/proc/bus/usb' to be mounted to allow the VMs access to the USB ports of the host. One part of the solution is to add a single line to '/etc/fstab'
none /proc/bus/usb usbfs defaults,user,devgid=1000,devmode=0660 0 0
The flag 'user' enables ordinary users to mount it. Unfortunately adding this line does NOT automount it at system startup, hence the 'user' flag. 'devgid=XXXX' must be set to the numerical group-id of 'vboxusers'. 'devmode=0660' enables (rw) access to the USB ports for root and all group members.
As the VirtualBox service is started by init scripts before '/proc/bus/usb' is mounted, some user intervention is necessary once after a system startup:
mount /proc/bus/usb
sudo /etc/init.d/vboxdrv restart
Of course, this could be put into a small bash script or hacked into the startup scripts. -}