Where can I find out about programming the Linino side of a Yun

I haven't been able to find anything that explains the scope and limitations of the Linino side of a Yun as a Linux computer. Does anyone know of any useful links?

I use Ubuntu on this netbook so I am reasonably familiar with Linux - but my netbook has a lot more resources.

Everything I have seen so far seems to focus on the Arduino side of the Yun with the Linino side as a helpful passenger.

I found that there is the OPKG package manager and I found another page about SSL but I have found nothing that is a comprehensive introduction to the Linino side of the Yun.

For example, can you only access it using Wifi, or can you open a Linino terminal over a USB connection?

The Yun has an SDcard slot, can that be used as a "hard disk" to store Linux software?

Etc, etc, etc

I haven't bought a Raspberry PI because I don't have a TV and, in any case, I already have a Linux computer. The Yun looks like it might be a better package of Linux and I/O. But if the Linux side is very limited I will continue to work just with my Uno or Mega.

Thanks in advance for any help.

...R

For example, can you only access it using Wifi, or can you open a Linino terminal over a USB connection?

You can open a connection via LAN or or WIFI
I am a Windows user, so I use Putty to connect but there are similar programs for Unix.
When you have made the connection you will feel at home since you are used to Unix.

The preferred language seems to be Python and PHP, and for databases SQLite or MySQL.

The Yun has an SDcard slot, can that be used as a "hard disk" to store Linux software?

Yes and it is recommended to do so, as the flash ram has limited write cycles.

I haven't bought a Raspberry PI because I don't have a TV and, in any case, I already have a Linux computer. The Yun looks like it might be a better package of Linux and I/O. But if the Linux side is very limited I will continue to work just with my Uno or Mega.

I use the same technique with my Raspberry Pi.
The difference is that on the RPI you have acses to the GPIO from Unix, on the Yon you can only access the GPIO from the onboard Arduino Leonardo. (They are conected threough the Serial)

The connection between the two sides is through the Bridge Library

Erni:
I am a Windows user, so I use Putty to connect but there are similar programs for Unix.

I'm on unix and I use putty as well.

Linino = openwrt.
openwrt = Linux without GUI
Linino has quite some memory and storage.
Some differences I'm aware of (after using openwrt for 2 years)
Bash = ash
ash is similar to Bash but has less functionality. However I never found anything that didn't work for me or had an acceptable alternative.
Storage is flash so as erni says avoid writing to much. /tmp is a memory drive so you can write as much as you want there.
The SD card is auto mounted on /mnt/sda1 (yes automount works)
As you know linux is a collection of packages. Openwrt has as little packages as possible. Linino has far more packages by default and lots of room to add packages.

As to programming. You can use the toolchain that is used to build linino to make packages and install them on linino. I would call that advanced programming.
You can use any of these scripting languages to program "out of the box": php, ash, bash, lua (and probably more)
The static web site is located at /www and the dynamic web site is at /www/cgi-bin.
A word on LUA from nick gammon Gammon Forum : MUSHclient : Lua

To me the most important thing is that you do not have a gui on linino and it is very likely you will add packages when stepping outside the standard arduino usage.

Best regards
Jantje

I came across something (in the Playground, perhaps) which implies you can load a terminal program to the Arduino side and view the output on a PC over the USB cable - that seems very convenient.

I like the fact that there is no attempt at GUI stuff. I have my netbook for that.

Compared with my netbook (2GB ram) the 64Mb of the Yun is very small. It would be nice to have some indication of what limitations that imposes on the Linux applications that can be installed. I suspect that looking at System Monitor on my netbook to see how many megabytes a program uses would not be a useful indication.

My preference would be to load the JVM and use JRuby. There was another thread about this but it fizzled out without an answer. Java on Linino? - Arduino Yún - Arduino Forum. It seems that JamVM may be an option, and I discovered it is on my Netbook and seems to work fine.

I'm really trying to find out if I should spend money on a Yun just out of curiosity. If it is really only practical as a Wifi webserver for programs running on the Arduino side I don't think I will bother.

...R

Robin2:
I'm really trying to find out if I should spend money on a Yun just out of curiosity. If it is really only practical as a Wifi webserver for programs running on the Arduino side I don't think I will bother.

...R

I guess it all depends on what you want to run extra.
You simply cannot compare the memory usage and footprint of you linux with the linino. This because the linino code is written with the size limitation in mind.
Basically you can run any -non gui- program (as long as you do not run out of memory) but it will take longer.
I think the yun excells in mobile aplications. This because you have the wifi and a linux all in one allowing you to have the robot wireless from day one with the confort of arduino as you are used to.
I would prefer a mega yun for robots though as the leonardo is limited in memory and program space and pins. ( @ arduino core team: hint hint hint :smiley: )
For my robot I plan to use a yun and a arduino mega. I'll connect the arduino over usb to the linino. This works perfectly but I still have some minor issues to do the switch).
Note that some people attach a web cam to the linino.
So I think the linino is not only a wifi to a leonardo.
However I don't know where it stops.
Maybe someone can help you out by connecting his yun to the internet and allowing you to have a play with it.
Best regards
Jantje

Thanks Jantje, much appreciated.

…R

The list of programming language Yun support:

  • Erlang (a general-purpose concurrent, garbage-collected programming language and runtime system)
  • Java
  • JavaScript
  • Lua
  • PHP
  • Perl
  • Python
  • Ruby
  • 4th (an imperative stack-based computer programming language and programming environment)
  • eggdrop (Eggdrop is a popular IRC bot and the oldest still in active development)
  • sigscheme (SigScheme is a R5RS Scheme interpreter for embedded use.)
  • slsh (Interpreter for S-Lang scripts)
  • tcl (Tool Command Language)
  • vala (C-sharp like language for the GObje)

Last one might be most important one is C, by using cross compile.

Thanks @sonnyyu.

Do you know where I might find instructions for installing them, or for finding the versions that work on the Yun?

...R

Robin2:
Thanks @sonnyyu.

Do you know where I might find instructions for installing them, or for finding the versions that work on the Yun?

...R

surf to the yun
log on
clcik configure
click advanced configuration panel
select system->software
click update list
type what you are looking for in the field filter and click find package
Click on the packages you want to install.

Best regards
Jantje

But I can't do that before I buy a Yun !

Is the list of software browsable from my netbook?

...R

Precompiled packages available, some are already installed.
http://download.linino.org/dogstick/all-in-one/latest/packages/
Some are big enough you need to install on an sdcard plugged into the Yun but not many.

Robin2:
But I can't do that before I buy a Yun !
...

Yes, You can, at lease test OS at Virtual hardware.

Virtualization:

OpenWrt in VirtualBox

http://wiki.openwrt.org/doc/howto/virtualbox

sonnyyu:

Robin2:
But I can't do that before I buy a Yun !
...

Yes, You can, at lease test OS at Virtual hardware.

Virtualization:

OpenWrt in VirtualBox

OpenWrt in VirtualBox [Old OpenWrt Wiki]

Looks like a cool link, however with the latest OpenWRT .VDI image on that site and the latest version of VirtualBox (the one pictured on the OpenWRT site is ancient), it won't get past the attempt to connect to the network card...

Ralf

Thanks @sonnyyu, I might try that.

Do you know if everything that works on OpenWRT also works on the Yun?

I am really hoping for a Yun specific list I can read and an explanatory document - not "suck it and see". But it's "Open Source" so I guess that's a crazy hope.

...R

I think they are really close (at least if you have a the latest version of both)
What I know what arduino did is

  1. adding functionality that is needed because you are no longer talking about a hacked device but a preinstalled version. (for instance the web site to connect to a wifi AP)
  2. Selecting existing packages to make it all work. Like avr dude, php, sd card, bonjour .....
  3. adding the bridge functionality
  4. adding specific arduino commands/packages (like reset wifi that resets the wifi when wifi can not connect or reset-mcu )
  5. Wrap it all up in a nice "package"

Best regards
Jantje

Once again, thanks Jantje.

...R

sonnyyu:
The list of programming language Yun support:

  • Erlang (a general-purpose concurrent, garbage-collected programming language and runtime system)
  • Java
  • JavaScript
  • Lua
  • PHP
  • Perl
  • Python
  • Ruby
  • 4th (an imperative stack-based computer programming language and programming environment)
  • eggdrop (Eggdrop is a popular IRC bot and the oldest still in active development)
  • sigscheme (SigScheme is a R5RS Scheme interpreter for embedded use.)
  • slsh (Interpreter for S-Lang scripts)
  • tcl (Tool Command Language)
  • vala (C-sharp like language for the GObje)

Last one might be most important one is C/C++, by using cross compile.

MIPS Assembly Language is also technically correct answer.
Since Linino is Linux based, all shell scripts are.