PharoNOS

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
26 messages Options
12
Reply | Threaded
Open this post in threaded view
|

PharoNOS

Torsten Bergmann
Hi,

I just found http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos

Mike: can you comment a little bit on it here on the pharo lists?

Thx
T.

Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

philippeback
Ah, very cool.

I was thinking of running Pharo or some devices around the network for probing things. This may prove to be the perfect vehicle for that!

Phil

On Thu, Oct 16, 2014 at 9:30 PM, Torsten Bergmann <[hidden email]> wrote:
Hi,

I just found http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos

Mike: can you comment a little bit on it here on the pharo lists?

Thx
T.


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

philippeback
In reply to this post by Torsten Bergmann
Downloaded the iso and started a VM.

Works well.

What would be nice:

- a PharoVM with AioPlugin so that CommandShell works nicer.
- a preloaded CommandShell
- a way to configure the keyboard to another layout

and... a Dark/DawnTheme and a wicked cool logo for the background!

Configurations are loading without trouble.

Congratulations on that sweet idea and materialization.

Phil

On Thu, Oct 16, 2014 at 9:30 PM, Torsten Bergmann <[hidden email]> wrote:
Hi,

I just found http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos

Mike: can you comment a little bit on it here on the pharo lists?

Thx
T.


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

Torsten Bergmann
Yes, I tried in VirtualBox. Same issues here: used OSProcess to query for the DHCP given
IP address and noticed that AioPlugin is not available. I like that it is a naked Pharo 3.0
image. So I would not preload the command shell - one can easily provide a config in the
config browser for additional things or load an own config via script/network. So one
could adopt to its own needs with a simple additional loading (like switching to themes, logo, ...).

And yes: keyboard layout switching is required.

Really nice! Can the ISO image building get automated so we can have a CI script that
builds an ISO for Pharo 3.0, current 4.0 and others ...
 
Thx
T. 

Gesendet: Donnerstag, 16. Oktober 2014 um 22:07 Uhr
Von: "[hidden email]" <[hidden email]>
An: "Pharo Development List" <[hidden email]>
Betreff: Re: [Pharo-dev] PharoNOS

Downloaded the iso and started a VM.
 
Works well.
 
What would be nice:
 
- a PharoVM with AioPlugin so that CommandShell works nicer.
- a preloaded CommandShell
- a way to configure the keyboard to another layout
 
and... a Dark/DawnTheme and a wicked cool logo for the background!
 
Configurations are loading without trouble.
 
Congratulations on that sweet idea and materialization.
 
Phil 
On Thu, Oct 16, 2014 at 9:30 PM, Torsten Bergmann <[hidden email]> wrote:Hi,

I just found http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos[http://pillarhub.pharocloud.com/hub/mikefilonov/pharonos]

Mike: can you comment a little bit on it here on the pharo lists?

Thx
T.
 

Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

mikefilonov
In reply to this post by Torsten Bergmann
Hi Torsten,

Yes sure I can. So this PharoNOS is basically TinyCore Linux with pure X server and Pharo running in fullscreen.

I have made some auto-installation scripts which configure the disk so no setup wizard is needed. All space available is mounted under /mnt/universe/ so you may use that folder to store stuff. Everything else is stored in memory. Nice side effect of this is an ease of update as you may just replace the ISO and you'll get the new version of everything (except of the image of course).

Image is chosen on start by reading the "/mnt/universe/image" file. You may upload other image and change this file so after reboot it will start with a new one. No safeguards here though - if it breaks there is no cure for it yet :( I'm thinking over on how to implement some recovery on "Image not available or broken". Hm, just now get the idea to run Image chooser if default image failed. Is it available on linux?

Jan Tomsa  has pointed out  that the disk setup is quite dangerous (https://twitter.com/DetektivTomy/status/522860736155238401) I plan to update it later today with more safe solution which will not erase all the data. The idea is to format the disk without a partition table or to work from RAM. Also I think Pharo should be run under root user so you can bind to any port.

I can also put more 3d-party libs like sqlite3, so we can have some interesting apps for the terminals run on embedded Pharo :) However I need some feedback on what is needed.

So that is it, all comments are welcome.


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

mikefilonov
In reply to this post by Torsten Bergmann
I'll take a look at AioPlugin issue. How I can test if it is loaded well?

The ISO process can be easily automated. If the PharoNOS is really needed I'll run CI somewhere :)

May be we could think of a way not to package the image but somehow fetch it after start? It could be a script which downloads an image requested and reconfigures the startup. What do you think?


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

mikefilonov
In reply to this post by philippeback
Hi Phil,

I would really happy to know if this works for you.

Considering this use case in mind do you have an idea how PharoNOS should handle the Image?
Should it be embedded in ISO or should it be configured from clean Pharo on each device?

For instance, if it is really useful we can have a server which would re-build the ISO with a requested image.

What do you think on this?
Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

David T. Lewis
In reply to this post by mikefilonov
On Thu, Oct 16, 2014 at 06:52:48PM -0700, mikefilonov wrote:
> I'll take a look at AioPlugin issue. How I can test if it is loaded well?

With OSProcess installed, evaluate "AioEventHandler aioPluginPresent"

Dave


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

S Krish
In reply to this post by mikefilonov

Lovely... TCL + Pharo .. !





On Fri, Oct 17, 2014 at 7:17 AM, mikefilonov <[hidden email]> wrote:
Hi Torsten,

Yes sure I can. So this PharoNOS is basically TinyCore Linux with pure X
server and Pharo running in fullscreen.

I have made some auto-installation scripts which configure the disk so no
setup wizard is needed. All space available is mounted under /mnt/universe/
so you may use that folder to store stuff. Everything else is stored in
memory. Nice side effect of this is an ease of update as you may just
replace the ISO and you'll get the new version of everything (except of the
image of course).

Image is chosen on start by reading the "/mnt/universe/image" file. You may
upload other image and change this file so after reboot it will start with a
new one. No safeguards here though - if it breaks there is no cure for it
yet :( I'm thinking over on how to implement some recovery on "Image not
available or broken". Hm, just now get the idea to run Image chooser if
default image failed. Is it available on linux?

Jan Tomsa  has pointed out  that the disk setup is quite dangerous
(https://twitter.com/DetektivTomy/status/522860736155238401) I plan to
update it later today with more safe solution which will not erase all the
data. The idea is to format the disk without a partition table or to work
from RAM. Also I think Pharo should be run under root user so you can bind
to any port.

I can also put more 3d-party libs like sqlite3, so we can have some
interesting apps for the terminals run on embedded Pharo :) However I need
some feedback on what is needed.

So that is it, all comments are welcome.






--
View this message in context: http://forum.world.st/PharoNOS-tp4784982p4785034.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

S Krish


Guess this was couple of years back..

TCL + Pharo on a Virtual Box: My play with it then..

https://plus.google.com/photos/101656219013170129431/albums/5717749739476813505?banner=pwa



On Fri, Oct 17, 2014 at 9:52 AM, S Krish <[hidden email]> wrote:

Lovely... TCL + Pharo .. !





On Fri, Oct 17, 2014 at 7:17 AM, mikefilonov <[hidden email]> wrote:
Hi Torsten,

Yes sure I can. So this PharoNOS is basically TinyCore Linux with pure X
server and Pharo running in fullscreen.

I have made some auto-installation scripts which configure the disk so no
setup wizard is needed. All space available is mounted under /mnt/universe/
so you may use that folder to store stuff. Everything else is stored in
memory. Nice side effect of this is an ease of update as you may just
replace the ISO and you'll get the new version of everything (except of the
image of course).

Image is chosen on start by reading the "/mnt/universe/image" file. You may
upload other image and change this file so after reboot it will start with a
new one. No safeguards here though - if it breaks there is no cure for it
yet :( I'm thinking over on how to implement some recovery on "Image not
available or broken". Hm, just now get the idea to run Image chooser if
default image failed. Is it available on linux?

Jan Tomsa  has pointed out  that the disk setup is quite dangerous
(https://twitter.com/DetektivTomy/status/522860736155238401) I plan to
update it later today with more safe solution which will not erase all the
data. The idea is to format the disk without a partition table or to work
from RAM. Also I think Pharo should be run under root user so you can bind
to any port.

I can also put more 3d-party libs like sqlite3, so we can have some
interesting apps for the terminals run on embedded Pharo :) However I need
some feedback on what is needed.

So that is it, all comments are welcome.






--
View this message in context: http://forum.world.st/PharoNOS-tp4784982p4785034.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

mikefilonov
Wow, this is an interesting stuff.
Is this a kind of desktop manager written on Pharo? From what I can see on video it support calling external processes like open-office. Does it work on Pharo 3.0 ?
Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

Torsten Bergmann
In reply to this post by mikefilonov
Hi Mike,

> Yes sure I can. So this PharoNOS is basically TinyCore Linux with pure X
> server and Pharo running in fullscreen.

Yes I already found out.
 
> I have made some auto-installation scripts which configure the disk so no
> setup wizard is needed. All space available is mounted under /mnt/universe/
> so you may use that folder to store stuff. Everything else is stored in
> memory. Nice side effect of this is an ease of update as you may just
> replace the ISO and you'll get the new version of everything (except of the
> image of course).

Mmmhh ... maybe it should initially boot a downsized "Image selector" image
(that allows to download images from CI like Pharo Launcher). Something similar to the usual
Linux install wizards to initially setup a machine, configure keyboard layout, clock/timezone, IP/DHCP ...
but done in Smalltalk. OSProcess commands could be used underneath to configure the underlying Linux.

If this "PharoNOS GraphicalInstall" supports downloading premade image(s) from CI similar
to PharoLauncher one could easily configure the machine with for instance with a
premade Seaside, Bootstrap, Moose, ... image.

This image could also be the fallback to repair, ...

> Image is chosen on start by reading the "/mnt/universe/image" file. You may
> upload other image and change this file so after reboot it will start with a
> new one.

This info should be included in the docu in the pillarhub article (if not already)

> Jan Tomsa  has pointed out  that the disk setup is quite dangerous
> (https://twitter.com/DetektivTomy/status/522860736155238401) I plan to
> update it later today with more safe solution which will not erase all the
> data.

Nice

> Also I think Pharo should be run under root user so you can bind
> to any port.

Yes, I have the following quick setup scenario in mind: downlod the ISO, start a virtual computer
with it (in virtualization software or on a cloud server). Use the Pharo based setup wizard (see above)
to setup keyboard layout, give a fixed IP, adjust the clock, ...
and download a premade Seaside (or other webframework image) from CI. Now run on port 80, configure another
port and give a name to the machine in the network. This way one could easily setup virtualized
network machines to provide network delivered applications.
 
> I can also put more 3d-party libs like sqlite3, so we can have some
> interesting apps for the terminals run on embedded Pharo :) However I need
> some feedback on what is needed.

sQLite3 would be cool, also unqlite. Both are small shared libs and embeddable.
 
This way one could load the Native Boost bindings for either SQLite3 or PUnqlite
and use an embedded RDBMS or a NoSQL Database and also load/use Glorp/Voyage or
other to access it.

> So that is it, all comments are welcome.

A specific small image demonstrating Pharo 3 or 4 lively in the web browser also comes
up as an idea. Emulating and bootstrapping an x86 machine on top of JavaScript is possible these
days. Look at http://copy.sh/v86/ to bootstrap a linux in your browser.

I tried to run the ISO with it, but it hangs. I guess it is due to query for network (which is not
available in browser). Maybe a special non-network image could be built. This way we could include
a premade machine in the Pharo Project webpage so people can directly bootstrap and play with Pharo.

Similar to SqueakJS (http://bertfreudenberg.github.io/SqueakJS/) but without having to port the Pharo VM to JS.

>I'll take a look at AioPlugin issue. How I can test if it is loaded well?

I loaded OSProcess from the config browser and used
 
   (PipeableOSProcess command: 'pwd') output.

While doing this the system lamented about the missing AioPlugin.

Bye
T.

Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

philippeback
In reply to this post by mikefilonov


Le 17 oct. 2014 04:02, "mikefilonov" <[hidden email]> a écrit :
>
> Hi Phil,
>
> I would really happy to know if this works for you.
>
> Considering this use case in mind do you have an idea how PharoNOS should
> handle the Image?
> Should it be embedded in ISO or should it be configured from clean Pharo on
> each device?
>
> For instance, if it is really useful we can have a server which would
> re-build the ISO with a requested image.
>
> What do you think on this?

I would have an ssh enabled box and updare things with ansible so that I could update at ton of devices at once.

Phil
>
>
>
>
> --
> View this message in context: http://forum.world.st/PharoNOS-tp4784982p4785039.html
> Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.
>

Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

mikefilonov
In reply to this post by Torsten Bergmann
Thank you Torsten. Great ideas :) I made a to-do list for this project not to forget anything
https://trello.com/b/JXtcf2Ye/pharonos

>Yes, I have the following quick setup scenario in mind: downlod the ISO, start a virtual computer
>with it (in virtualization software or on a cloud server). Use the Pharo based setup wizard (see above)
>to setup keyboard layout, give a fixed IP, adjust the clock, ...
>and download a premade Seaside (or other webframework image) from CI. Now run on port 80, configure >another
>port and give a name to the machine in the network. This way one could easily setup virtualized
>network machines to provide network delivered applications.

Isn't it what Pharocloud is all about? ;)
Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

kilon.alios
so the advantage of using this is that is a slim down linux distro with Pharo included ? Why not just download a small linux distro and install Pharo ? 



On Fri, Oct 17, 2014 at 10:14 AM, mikefilonov <[hidden email]> wrote:
Thank you Torsten. Great ideas :) I made a to-do list for this project not to
forget anything
https://trello.com/b/JXtcf2Ye/pharonos

>Yes, I have the following quick setup scenario in mind: downlod the ISO,
start a virtual computer
>with it (in virtualization software or on a cloud server). Use the Pharo
based setup wizard (see above)
>to setup keyboard layout, give a fixed IP, adjust the clock, ...
>and download a premade Seaside (or other webframework image) from CI. Now
run on port 80, configure >another
>port and give a name to the machine in the network. This way one could
easily setup virtualized
>network machines to provide network delivered applications.

Isn't it what Pharocloud is all about? ;)




--
View this message in context: http://forum.world.st/PharoNOS-tp4784982p4785075.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

Torsten Bergmann
In reply to this post by mikefilonov
> Isn't it what Pharocloud is all about? ;)

Partly because in enterprise environments you may want to run apps
in intranet/own network only.

Bye
T.

Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

Damien Cassou
In reply to this post by mikefilonov

On Fri, Oct 17, 2014 at 3:47 AM, mikefilonov <[hidden email]> wrote:
Hm, just now get the idea to run Image chooser if
default image failed. Is it available on linux?

you have the pharo launcher that let's you download images from the web (be it on jenkins, on files.pharo.org, or on your own server)


--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without losing enthusiasm."
Winston Churchill
Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

mikefilonov
In reply to this post by kilon.alios
Yes, the idea of PharoNOS is to have the Smalltalk-only environment with as little external stuff as possible.

Current PharoNOS implementation based on TinyCore Linux - the smallest Linux distro - in order to have the smallest possible system footprint.

>Why not just download a small linux distro and install Pharo ?

Well, basically this what PharoNOS is :)
Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

kilon.alios
I see, I dont have experience with TinyCore linux, but I do have experience with puppy linux which I really liked and used several times on my older pcs. Interest concept , good work :) 

Actually puppy linux is similar to what you do, in the sense that it uses its own programming language , genie 


On Fri, Oct 17, 2014 at 10:59 AM, mikefilonov <[hidden email]> wrote:
Yes, the idea of PharoNOS is to have the Smalltalk-only environment with as
little external stuff as possible.

Current PharoNOS implementation based on TinyCore Linux - the smallest Linux
distro - in order to have the smallest possible system footprint.

>Why not just download a small linux distro and install Pharo ?

Well, basically this what PharoNOS is :)



--
View this message in context: http://forum.world.st/PharoNOS-tp4784982p4785089.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.


Reply | Threaded
Open this post in threaded view
|

Re: PharoNOS

Rafael Luque
Then, PharoNOS does not mean No Operating System, but minimun operating system?

A few days ago I answered in this list about  Smalltalk-based unikernels, similar to Mirage OS (http://www.openmirage.org/).

Do you think PharoNOS can evolve into this kind of tool?



2014-10-17 10:28 GMT+02:00 kilon alios <[hidden email]>:
I see, I dont have experience with TinyCore linux, but I do have experience with puppy linux which I really liked and used several times on my older pcs. Interest concept , good work :) 

Actually puppy linux is similar to what you do, in the sense that it uses its own programming language , genie 


On Fri, Oct 17, 2014 at 10:59 AM, mikefilonov <[hidden email]> wrote:
Yes, the idea of PharoNOS is to have the Smalltalk-only environment with as
little external stuff as possible.

Current PharoNOS implementation based on TinyCore Linux - the smallest Linux
distro - in order to have the smallest possible system footprint.

>Why not just download a small linux distro and install Pharo ?

Well, basically this what PharoNOS is :)



--
View this message in context: http://forum.world.st/PharoNOS-tp4784982p4785089.html
Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com.



12