pandapi
Posts: 120
Joined: Tue Feb 28, 2012 6:58 am

Re: Best way to share RPi setups

Wed May 02, 2012 4:10 pm

I'm not sure if this has been mentioned anywhere, maybe i'm searching wrong.

If you port something over to Pi which typically involves a lot of work, installing, configuring etc and other people would like something similar without the effort or are just plain having problems what is the best way to share you setup?

I was thinking its possible, if you have somewhere to host it (eg, dropbox, googledrive) to upload a .iso/.img of your sdcard using DD.

However, i believe you can only put those onto an SD card of equal or larger capacity regardless of how much space is actually used on the card.

There is bound to be stuff where someone just wants to try it out without the effort. Switch out their card for another one and go back to their old setup afterwards.

Does anyone know of a better solution or ideas in progress?

User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: Best way to share RPi setups

Wed May 02, 2012 4:28 pm

At the very least some detailed instructions on the base image used and steps you took to either download and make it work, or build from source would be very nice   A lot of people are more towards the beginner end of Linux so responses like "just do x to the y" can lead to hours of frustration
Dear forum: Play nice ;-)

User avatar
ArborealSeer
Posts: 300
Joined: Tue Jan 24, 2012 9:48 am
Location: South West, UK

Re: Best way to share RPi setups

Wed May 02, 2012 4:33 pm

for simpler things the official raspberry pi app store is coming sometime though right?
Pi Status > Farnell, Arrived 24/5- RS, Arrived 1/6

pandapi
Posts: 120
Joined: Tue Feb 28, 2012 6:58 am

Re: Best way to share RPi setups

Thu May 03, 2012 9:22 am

Abishur said:


At the very least some detailed instructions on the base image used and steps you took to either download and make it work, or build from source would be very nice   A lot of people are more towards the beginner end of Linux so responses like "just do x to the y" can lead to hours of frustration


I think this is the best way in general. Eg, take base image, run x, y, z commands.

The problem is that as different version of the base image come into existence we might find x, y, z not working on all of them.

I was just thinking that if there was a piece of software (or bunch of software) you just wanted to give a quick try without having to install or configure what would be the best way to share it.

Eg, copy to SD card, plug in, turn on. Working.

With the RPi as a common hardware base this is something that should be possible. You could have many different images that turn your Pi into an appliance for various different things, no installing/configuring/maintaining etc.

Or do people think this is going to be a minority use case scenario and not worth thinking about?

TheShack
Posts: 21
Joined: Fri Jul 29, 2011 8:17 am

Re: Best way to share RPi setups

Thu May 03, 2012 9:35 am

pandapi said:


I was just thinking that if there was a piece of software (or bunch of software) you just wanted to give a quick try without having to install or configure what would be the best way to share it.

Eg, copy to SD card, plug in, turn on. Working.

With the RPi as a common hardware base this is something that should be possible. You could have many different images that turn your Pi into an appliance for various different things, no installing/configuring/maintaining etc.

Or do people think this is going to be a minority use case scenario and not worth thinking about?


Think this is a super idea. Maybe its something the foundation could look into?

SD images could also include information on how the image was created to allow people to learn and tweak some more.

pandapi
Posts: 120
Joined: Tue Feb 28, 2012 6:58 am

Re: Best way to share RPi setups

Thu May 03, 2012 9:44 am

TheShack said:


pandapi said:


I was just thinking that if there was a piece of software (or bunch of software) you just wanted to give a quick try without having to install or configure what would be the best way to share it.

Eg, copy to SD card, plug in, turn on. Working.

With the RPi as a common hardware base this is something that should be possible. You could have many different images that turn your Pi into an appliance for various different things, no installing/configuring/maintaining etc.

Or do people think this is going to be a minority use case scenario and not worth thinking about?


Think this is a super idea. Maybe its something the foundation could look into?

SD images could also include information on how the image was created to allow people to learn and tweak some more.


Yes definitely. I was wondering whether it goes against the whole learning principle by just offering pre-built/configured images.

Definitely build instructions for people wanting to roll their own too.

Once they (the Pis) are available though i could see a lot of business coming in from non-techs and non-eduction if you could buy one and just plug in a SD card and you have:

* PVR

* Media streamer (Openelec, raspxbmc probably have this one covered)

* NAS

* Security cam server

* Home automation server

etc etc

There must be loads of people who want that functionality but don't want to/can't/aren't interested in learning Linux.

The common hardware, massive hype and mass early adoption has created an opportunity to branch into things like that if it can be set up, somehow. IMO.

User avatar
teh_orph
Posts: 346
Joined: Mon Jan 30, 2012 2:09 pm
Location: London
Contact: Website

Re: Best way to share RPi setups

Thu May 03, 2012 10:19 am

Yeah I too have been wondering about this.

I reckon in a number of weeks I'll be ready with v1 of this X server stuff. However do I just give out a bunch of executables and link libraries for people to drop into their file system?

To complicate matters it'll need a kernel module and these need to be compiled against the running kernel version... (so pre-compiled bins for each available distro or give out source??)

JonB
Posts: 220
Joined: Tue Nov 29, 2011 9:26 pm

Re: Best way to share RPi setups

Thu May 03, 2012 10:23 am

apt meta packages is the way to go. You would ideally start with a clean base image, then do apt-get install application where application is the name of your appliance software. This assumes


the apt repository is set up, with all packages and the application meta package contained within
meta package has an install script to set it all up for you, and an uninstall script to remove it when you're done playing

AFAIK this is how it is done in the Linux world. apt is exceptionally clever and takes care of any dependencies, downloading the correct pacjkages for your application as necessary.

In fact, you wouldn't need a base image to do this, you just need one that is operating with apt or any other equivalent package manager.

pandapi
Posts: 120
Joined: Tue Feb 28, 2012 6:58 am

Re: Best way to share RPi setups

Thu May 03, 2012 10:25 am

teh_orph said:


Yeah I too have been wondering about this.

I reckon in a number of weeks I'll be ready with v1 of this X server stuff. However do I just give out a bunch of executables and link libraries for people to drop into their file system?

To complicate matters it'll need a kernel module and these need to be compiled against the running kernel version... (so pre-compiled bins for each available distro or give out source??)


I use linux daily, but link libraries are above me, and kernel modules are about as far as i go.

So for something like that i would love a debian_teh_orph (for example) image that i could just load up.

Of course, there is nothing stopping us distributing our own images, but it would be cool if it could be done centrally, or at least have a maintained list of available images.

Maybe a "What can i us my Pi for?" page

pandapi
Posts: 120
Joined: Tue Feb 28, 2012 6:58 am

Re: Best way to share RPi setups

Thu May 03, 2012 10:29 am

JonB said:


apt meta packages is the way to go. You would ideally start with a clean base image, then do apt-get install application where application is the name of your appliance software. This assumes


the apt repository is set up, with all packages and the application meta package contained within
meta package has an install script to set it all up for you, and an uninstall script to remove it when you're done playing

AFAIK this is how it is done in the Linux world. apt is exceptionally clever and takes care of any dependencies, downloading the correct pacjkages for your application as necessary.

In fact, you wouldn't need a base image to do this, you just need one that is operating with apt or any other equivalent package manager.


But there are bound to be things people make without such package managers. One example is openelec. They have their own website with downloads and instructions already.

If other people create something similar (eg, stripped out OS with just necessary software) then how can/should it be distributed? Not everyone wants to create a website and pay for hosting which is why i wondered about dropbox/google drive/something else.

Also, many people don't want to use linux commands. I'm trying to think of them too.

JonB
Posts: 220
Joined: Tue Nov 29, 2011 9:26 pm

Re: Best way to share RPi setups

Thu May 03, 2012 8:17 pm

Yes... I see your point, but one would hope that users might take the effort to find out what is going on under the hood of their new media streamer / NAS / doodah. Isn't that the whole point of the thing?

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

Re: Best way to share RPi setups

Thu May 03, 2012 11:57 pm

Uploading and downloading entire images is a severe waste of space and bandwidth.  People aren't going to want to dedicate a 2 GB card just to run one application.  The current OS images are upwards of hundreds of MBs each compressed, a plethora of application-specific variants would take up a lot of server space with bits that are mostly redundant, and they would require lengthy downloads for those with less than tens of Mb/s network connections.

apt is a more efficient way to do this where there are dependencies on other components not part of a Foundation OS variant, but, it requires a familiarity with package management on the part of the application builder.  That would be an excellent skill for everyone to learn, but, it's well above the Hello World level.

It seems that it would depend on how your application (or collection, in the case where there are lots of interoperating executable files and component libraries) is implemented, and that's defined by what language and libraries are used to build and execute it.  Given the limited RAM and ARM CPU power in the Pi, it may be time to think about distributed services, where the resources of much more powerful computing systems are leveraged.

This is how similarly resource-limited mobile devices (e.g., iOS, Android, etc.) are able to accomplish so much with so little.  The days of linking to endless dependent hierarchies of libraries that often contain a lot more functionality than is really needed in any particular application are numbered.  This is an area that I am exploring extensively in the Pi-finity! science, math, and technology educational game system that a number of developers want to create.
The best things in life aren't things ... but, a Pi comes pretty darned close! :D
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!

User avatar
SN
Posts: 1014
Joined: Mon Feb 13, 2012 8:06 pm
Location: Romiley, UK
Contact: Website

Re: Best way to share RPi setups

Fri May 04, 2012 12:22 am

perhaps someone could write a 'delta generator' which just captured the file changes between the current config and a base distro image.

So, using the latest debian image for example, a basic setup covering:

- config.txt

- users/passwords

- networking

- some installed apps

- window manager preferences

Could be snapshotted and saved off by a 'Backup' Tool

And there be a corresponding 'Restore' Tool you drop onto a standard fresh distro which 'Restores' from that snaphot overwriting/adding what it needs
Steve N – binatone mk4->intellivision->zx81->spectrum->cbm64->cpc6128->520stfm->pc->raspi ?

User avatar
Jim Manley
Posts: 1600
Joined: Thu Feb 23, 2012 8:41 pm
Location: SillyCon Valley, California, and Powell, Wyoming, USA, plus The Universe
Contact: Website

Re: Best way to share RPi setups

Fri May 04, 2012 5:20 am

SN said:


perhaps someone could write a 'delta generator' which just captured the file changes between the current config and a base distro image.


This can be accomplished with scripts using rsync, but, a lot of error detection and correction logic is needed to pick up files that fail to be synched correctly on a first pass, as rsync doesn't do this on its own.  Another possibility would be to use a configuration management system such as svn, git, etc., but, care would need to be taken to configure things so that server-side master files can't be munged by errant uploads.
The best things in life aren't things ... but, a Pi comes pretty darned close! :D
"Education is not the filling of a pail, but the lighting of a fire." -- W.B. Yeats
In theory, theory & practice are the same - in practice, they aren't!!!

JonB
Posts: 220
Joined: Tue Nov 29, 2011 9:26 pm

Re: Best way to share RPi setups

Fri May 04, 2012 8:47 am

Delta generator = apt-get

No need reinvent the wheel.

pandapi
Posts: 120
Joined: Tue Feb 28, 2012 6:58 am

Re: Best way to share RPi setups

Fri May 04, 2012 9:26 am

Jim Manley said:


Uploading and downloading entire images is a severe waste of space and bandwidth.  People aren't going to want to dedicate a 2 GB card just to run one application.  The current OS images are upwards of hundreds of MBs each compressed, a plethora of application-specific variants would take up a lot of server space with bits that are mostly redundant, and they would require lengthy downloads for those with less than tens of Mb/s network connections.

apt is a more efficient way to do this where there are dependencies on other components not part of a Foundation OS variant, but, it requires a familiarity with package management on the part of the application builder.  That would be an excellent skill for everyone to learn, but, it's well above the Hello World level.

It seems that it would depend on how your application (or collection, in the case where there are lots of interoperating executable files and component libraries) is implemented, and that's defined by what language and libraries are used to build and execute it.  Given the limited RAM and ARM CPU power in the Pi, it may be time to think about distributed services, where the resources of much more powerful computing systems are leveraged.

This is how similarly resource-limited mobile devices (e.g., iOS, Android, etc.) are able to accomplish so much with so little.  The days of linking to endless dependent hierarchies of libraries that often contain a lot more functionality than is really needed in any particular application are numbered.  This is an area that I am exploring extensively in the Pi-finity! science, math, and technology educational game system that a number of developers want to create.


No one said these setups had to be running on the base images. They might only be 5mb. You don't know til people make them.

The systems might not have apt/yum etc.

Also, i did say i wanted to cater for people who don't want to or can't learn linux. For some people running apt scripts is just a no-go.

There are a LOT of people out there that don't know or want to know linux. While the primary purpose of the Pi is not aimed at them i think there is a great opportunity to expand there.

User avatar
zag
Posts: 68
Joined: Tue Jan 03, 2012 12:10 am
Contact: Website

Re: Best way to share RPi setups

Fri May 04, 2012 9:54 am

I've been collecting all the 3rd party software apps here

http://www.raspberrypiforums.c.....y-Software

Hopefully we will get a software repository at some point
Unofficial Raspberry Pi Forums - www.raspberrypiforums.com

Return to “General discussion”