[ANN] Rubyx OS (Ruby oriented linux distro)

I am pleased to announce the first public release of Rubyx, codename
’ItWorksForMe’.

Rubyx is a modern linux distro created entirely from source by a small script
written in the ruby language. The same script handles all subsequent package
management. Amongst many other interesting features, Rubyx also has a
completely new init system written in ruby.

Rubyx supports the latest kernels, xfree86 Kde and gnome. I type this email in
Kmail on my Rubyx powered ibm thinkpad, and Rubyx now powers all my
production servers, hence ‘ItWorksForMe’.

The documentation should (at last) be sufficient for anybody to at least
install and use the basic OS. Oh, and I finally got round to adding the
sodipodi package and was able to view the file Nobu Nokada sent me ages ago,
so Rubyx now has a Logo. (Thanks Nobu)

If you are interested if reading more about Rubyx, pop over to

www.rubyx.org

and be sure to join the mailing list!

Thanks for your time,

Andrew Walrond

In article 200403020023.36744.andrew@walrond.org,

···

Andrew Walrond andrew@walrond.org wrote:

I am pleased to announce the first public release of Rubyx, codename
‘ItWorksForMe’.

Rubyx is a modern linux distro created entirely from source by a small script
written in the ruby language. The same script handles all subsequent package
management. Amongst many other interesting features, Rubyx also has a
completely new init system written in ruby.

Rubyx supports the latest kernels, xfree86 Kde and gnome. I type this email in
Kmail on my Rubyx powered ibm thinkpad, and Rubyx now powers all my
production servers, hence ‘ItWorksForMe’.

The documentation should (at last) be sufficient for anybody to at least
install and use the basic OS. Oh, and I finally got round to adding the
sodipodi package and was able to view the file Nobu Nokada sent me ages ago,
so Rubyx now has a Logo. (Thanks Nobu)

If you are interested if reading more about Rubyx, pop over to

www.rubyx.org

and be sure to join the mailing list!

Very cool.

Have you considered sending an announcement to http://distrowatch.org ?

Phil

does this mean we can tell about it to our freinds and relatives (as
in slashdot and osnews and…) ?

···

il Tue, 2 Mar 2004 09:23:47 +0900, Andrew Walrond andrew@walrond.org ha scritto::

I am pleased to announce the first public release of Rubyx, codename
‘ItWorksForMe’.

Question for HTML experts:

What do I need to put in the HTML of the Rubyx homepage to get a little icon
to appear in browsers, bookmarks etc? I can’t find any reference to it in my
HTML book…

Andrew

Andrew Walrond wrote:

I am pleased to announce the first public release of Rubyx, codename
‘ItWorksForMe’.

Rubyx is a modern linux distro created entirely from source by a small
script written in the ruby language. The same script handles all
subsequent package management. Amongst many other interesting features,
Rubyx also has a completely new init system written in ruby.

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

what about changing all the sys-config-files to YAML-format? any plans to
replace the bash with a ruby-command-shell?

good look!

benny

Hi!

  • Andrew Walrond:

Rubyx is a modern linux distro created entirely from source by a
small script written in the ruby language.

‘Linux’ with an uppercase ‘L’ is a registered trademark of Linus
Thorvalds. Please note that the Trademarks are case-sensitive.

Now switiching to RMS mode: Besides that there is no such thing as a
Linux distribution because Linux is the raw kernel that is nothing
without the accompanying tools. The correct statement is: ‘Rubyx is a
modern GNU/Linux distribution.’

One should keep in mind that the success of Linux would have been
impossible without the GNU software it comes with - many of the GNU
tools are much more powerful than their Unix (i.e. BSD)
counterparts.

Josef ‘Jupp’ SCHUGT

···


E-Mail: .— …- .–. .–. .–.-. --. – -…- .-.-.- -… .
http://oss.erdfunkstelle.de/ruby/ - German comp.lang.ruby FAQ
http://rubyforge.org/users/jupp/ - Ruby projects at Rubyforge

Please move any further Rubyx discussion over to the rubyx mailing list; Its
rather off-topic here. See www.rubyx.org for details

···

On Tuesday 02 Mar 2004 00:23, Andrew Walrond wrote:

I am pleased to announce the first public release of Rubyx, codename
‘ItWorksForMe’.

I just have. Thanks for the tip!

Andrew

···

On Tuesday 02 Mar 2004 07:09, Phil Tomson wrote:

Have you considered sending an announcement to http://distrowatch.org ?

Absolutely :slight_smile:

···

On Tuesday 02 Mar 2004 10:49, gabriele renzi wrote:

il Tue, 2 Mar 2004 09:23:47 +0900, Andrew Walrond andrew@walrond.org > > ha scritto::

I am pleased to announce the first public release of Rubyx, codename
‘ItWorksForMe’.

does this mean we can tell about it to our freinds and relatives (as
in slashdot and osnews and…) ?

Question for HTML experts:

What do I need to put in the HTML of the Rubyx homepage to get a little icon
to appear in browsers, bookmarks etc? I can’t find any reference to it in my
HTML book…

you need a favicon.ico. see for example here
Unix -> How to create favicon-icons on Unix machines for explanation.

greetings
messju

···

On Tue, Mar 02, 2004 at 07:59:47PM +0900, Andrew Walrond wrote:

Andrew

Andrew Walrond wrote:

Question for HTML experts:

What do I need to put in the HTML of the Rubyx homepage to get a little icon
to appear in browsers, bookmarks etc? I can’t find any reference to it in my
HTML book…

Andrew

Just create an image called /favicon.ico at the top of your site.

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

Well, Linux is better supported (by hackers) nowadays, and has better arch
support. I’m got amd64 support for Rubyx as a (very) short term goal.

what about changing all the sys-config-files to YAML-format? any plans to
replace the bash with a ruby-command-shell?

Rubyx already uses YAML internally, but none of the system config files is
really big enough to bother converting.

good look!

Thanks! I’ve submitted a short piece about Rubyx to Slashdot, entitled “Rubyx
OS - a testament to the power of ruby?”. I hope they post it :slight_smile:

···

On Tuesday 02 Mar 2004 22:34, Benny wrote:

In article c231sv$1o0bs3$1@ID-147067.news.uni-berlin.de,

Andrew Walrond wrote:

I am pleased to announce the first public release of Rubyx, codename
‘ItWorksForMe’.

Rubyx is a modern linux distro created entirely from source by a small
script written in the ruby language. The same script handles all
subsequent package management. Amongst many other interesting features,
Rubyx also has a completely new init system written in ruby.

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

Why not go ahead with that idea? Couldn’t you use the rubyx script to
just as easily build a FreeBSD system (might need some modifications of
course, but you could probably save a lot of the work that would be
required to do it from scratch). I like this idea because, as you say,
portupgrade is already in ruby (and I like the BSD ports system). It
would be really cool if the rubyx script could completely build a *nix
OS/system including your choice of kernal (be it Linux, or *BSD (even
including Darwin)). That would be the ultimate in flexibility.

question: could the ruby-based init system be used with *BSD as well?

what about changing all the sys-config-files to YAML-format? any plans to
replace the bash with a ruby-command-shell?

Is there a ruby-command-shell or are you proposing irb be used?

Phil

···

Benny linux@marcrenearns.de wrote:

Benny wrote:

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

what about changing all the sys-config-files to YAML-format? any plans to
replace the bash with a ruby-command-shell?

Showing off YAML is a good idea, because is is one of Ruby’s strength
(thanks to _why). And of course because YAML works.

The first thing I miss when playing with .NET/Mono/Java is YAML.
Instead, it’s XML here, XML there, my eyes and hand hurt…

···


dave

Hi!

  • Benny:

Andrew Walrond wrote:

Rubyx is a modern linux distro created entirely from source by a
small script written in the ruby language. The same script
handles all subsequent package management. Amongst many other
interesting features, Rubyx also has a completely new init system
written in ruby.

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

Feel free to start ‘RuBSD’. Could you detail what precisely makes you
choose FreeBSD in favor of NetBSD and OpenBSD?

Josef ‘Jupp’ SCHUGT

···


E-Mail: .— …- .–. .–. .–.-. --. – -…- .-.-.- -… .
http://oss.erdfunkstelle.de/ruby/ - German comp.lang.ruby FAQ
http://rubyforge.org/users/jupp/ - Ruby projects at Rubyforge

Dick Davies wrote:

Just create an image called /favicon.ico at the top of your site.

WDVL - Mastering the Art of Online Magazine Creation

That’s not reliable; it seems to depend on the server. It may be
necessary to add:

between and of every HTML file you have (except for HTML
files that appear only within frames).

Note that the image should be 16*16. Any other size currently screws up
Mozilla and FireFox, and can produce inferior results on other browsers.
And, the last I looked, the favicon.ico file is supposed to be in (of
all things) Windows Icon format, though I gather other formats work, too.

···


John W. Kennedy
“But now is a new thing which is very old–
that the rich make themselves richer and not poorer,
which is the true Gospel, for the poor’s sake.”
– Charles Williams. “Judgement at Chelmsford”

In article c231sv$1o0bs3$1@ID-147067.news.uni-berlin.de,

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

Why not go ahead with that idea? Couldn’t you use the rubyx script to
just as easily build a FreeBSD system (might need some modifications of
course, but you could probably save a lot of the work that would be
required to do it from scratch). I like this idea because, as you say,
portupgrade is already in ruby (and I like the BSD ports system). It
would be really cool if the rubyx script could completely build a *nix
OS/system including your choice of kernal (be it Linux, or *BSD (even
including Darwin)). That would be the ultimate in flexibility.

Well, I’m not familiar with the BSD kernel build process, but there is no
fundamental reason that the bsd kernel should not be just another package as
far as rubyx is concerned. That is all that happens with the linux kernel.
Same goes for the Hurd, really.

Here is the (edited) linux Package object, for example
class Pkg_Linux < Package

    def source() return prefix('linux-'+vlabel); end

def initialize()
patches={‘patch1’=>‘’,‘patch2’=>‘’,‘patch3’=>‘’,‘patch4’=>‘’,‘patch5’=>‘’}
super(nil,‘The linux kernel’,‘2.4.25’,
{
‘2.4.25’=>{‘files’=>[[‘linux-2.4.24’,‘linux-2.4.24-25.patch’]],
‘config’=>(path(RUBYXDIR,‘linux-2.4.25.config’).flines.join)}.update(patches),

                                            '2.6.3'=>{'files'=>[['linux-2.6.1','linux-2.6.1-3.patch']],
                                                    'config'=>(path(RUBYXDIR,'linux-2.6.3.config').flines.join)}.update(patches),
                                    })

            join('Base')
            dependancy(BUILD_TOOLS,'coreutils','bash','modutils','module-init-tools')

end

def build()
prefix.cd
unpack().mv(‘linux-’+vlabel)
bash(‘chmod -R u+w linux-’+vlabel)
(‘linux-’+vlabel).cd
%w{ patch1 patch2 patch3 patch4 patch5 }.each { |p|
popen(“patch -p1”,@selected[p]) if @selected[p] != ‘’}
bash “make mrproper”
‘.config’.fwrite(@selected[‘config’])
bash “cat .config”
depmod = “/sbin/#{vlabel[2,1]==‘4’ ? ‘mu’ : ‘mit’}/depmod”
# Fixup problem with gcc install dirs and use of -nostdinc and
-iwithprefix by defining GCC_EXEC_PREFIX
ENV[‘GCC_EXEC_PREFIX’]=$gcc.libdir(‘gcc-lib’)+‘/’
bash “env”
bash “yes "" | make ARCH=#{$host.generic} oldconfig”
bash “make ARCH=#{$host.generic} -j#{$mj} dep” if
vlabel[2,1]==‘4’
bash “make ARCH=#{$host.generic} -j#{$mj} bzImage”
bash “make ARCH=#{$host.generic} -j#{$mj} modules”
bash “make ARCH=#{$host.generic} INSTALL_MOD_PATH=#{prefix}
DEPMOD=#{depmod} modules_install”,ASROOT
prefix(‘kernel’).mkdir
path(‘arch’,
$host.generic,‘boot/bzImage’).cp(prefix(‘kernel/bzImage’))
etcdir(‘modules.conf’).ftouch()
standardRootOwnership()
end

end; $linux = Pkg_Linux.new()

question: could the ruby-based init system be used with *BSD as well?

Don’t see why not

Is there a ruby-command-shell or are you proposing irb be used?

I don’t think irb is a viable bash replacement. An rshell would be an
interesting project though. I’m suprised nobody has had a go yet…

···

On Wednesday 03 Mar 2004 09:44, Phil Tomson wrote:

Benny linux@marcrenearns.de wrote:

Phil Tomson wrote:

Why not go ahead with that idea? Couldn’t you use the rubyx script to
just as easily build a FreeBSD system (might need some modifications of
course, but you could probably save a lot of the work that would be
required to do it from scratch). I like this idea because, as you say,
portupgrade is already in ruby (and I like the BSD ports system). It
would be really cool if the rubyx script could completely build a *nix
OS/system including your choice of kernal (be it Linux, or *BSD (even
including Darwin)). That would be the ultimate in flexibility.

question: could the ruby-based init system be used with *BSD as well?

why not? as I far as I know FreeBSD 5.x switched to the NetBSD init-system
which is more flexible than the old one and more similar to the linux one.
but I’m currently not so deep in the knowledge of init-systems (using 4.9
at the moment).

indeed my idea was to make the base to a layer between an underlying
rock-solid system (like FreeBSD) and the applications for the user.
this layer would represent all needed aspects of the system in an
object-orientated manner. finally a windowmanager (maybe windowmaker-based)
could attach all the via ruby accessed programs and data (hardware-access,
user-data such as addresses, clients and services (such as mail, nfs, smb
etc.)) to templates which would result in a customized user-interface (i.e.
the template defines the dependancies and pipes between the used modules
and the manner in which the selectboxes, the main data etc. are shown in
what to the user appears as “application”). this templates could be in YAML
as well so that it would be very easy to make your own application by
grouping and attaching the different services to each other and defining
the places on which they are shown to the user. this template would be
interpreted by the enhanced ruby based windowmanager.

this way one could concentrate to develop ruby modules which generates new
functionality and this functionality could be combined in numerous
userdefined interfaces the user finds useful for his daily work.

I’m not sure if I managed to get you an idea about what I meant (the text is
perhaps too short and my english too bad).

such a system might as well allow to automatically create qualified
bugreports (with the system configuration and a “history” of user-actions
on a thread) and a virtual file-system.

and the tricks needed for a user-friendly FreeBSD (without the configuration
hassle, e.g. setting up a printing system, let the cd-burner be used by a
normal user) with preconfigured often needed functionality could be done in
the ruby-layer.

so you would have:

  • the FreeBSD based underlying sstem

  • the ruby-layer on top of it

  • already known apps (from the ports system) on top of the FreeBSD with ruby
    managed configuration

  • and user-customized sets (interfaces) of functionality given by the
    ruby-layer

this way one could concentrate on the ruby layer which only has to be
customized to the system changes as new FreeBSD versions appear. in fact
the ruby-layer itself could be a port of FreeBSD (like instant-desktop and
FreeSBIE)

the only thing holding me back from realizing such a project is actual a
lack of time and programming skills :slight_smile:
but I would like to contribute my ideas and start it if anybody goes with
me :slight_smile:

what about changing all the sys-config-files to YAML-format? any plans to
replace the bash with a ruby-command-shell?

Is there a ruby-command-shell or are you proposing irb be used?

no, irb is for testing ruby only. my idea was a system-shell with a
bash-like mode (so that you could simply use the commands like before) and
a new mode which has to defined but should result in a consistent a clear
syntax (understandable as well) for all commands - maybe object-orientated
(referring to the objects given by the ruby-layer). implizit expanding of
methods (object-orientated) or options of functions (not object-orientated)
as well. but I’m at the moment not clear how the syntax should definitely
be.

Phil

benny

Spot the missing ‘?’ in the slashdot article? It was only just pointed out to
me. My intention, to offer it up as a point for discussion, was thus changed
to quite a forceful boast. Its seems the slashdot poster messed up the cut n
paste. Oh well; shit happens. :slight_smile:

So, 26Gb of downloads and not one question so far… Has anybody tried
installing it ??? Do do do do (twighlight zone music)…

···

On Tuesday 02 Mar 2004 22:57, Andrew Walrond wrote:

Thanks! I’ve submitted a short piece about Rubyx to Slashdot, entitled
“Rubyx OS - a testament to the power of ruby?”. I hope they post it :slight_smile:

Josef ‘Jupp’ SCHUGT wrote:

Hi!

  • Benny:

Andrew Walrond wrote:

Rubyx is a modern linux distro created entirely from source by a
small script written in the ruby language. The same script
handles all subsequent package management. Amongst many other
interesting features, Rubyx also has a completely new init system
written in ruby.

damned! I had the same idea. but I would choose FreeBSD as underlying
system. a ports-tool (portupgrade) already is in ruby.

Feel free to start ‘RuBSD’.
would you join the project? I haven’t too much time so I wouldn’t start it
alone at the moment.

Could you detail what precisely makes you
choose FreeBSD in favor of NetBSD and OpenBSD?

  1. It seems to have a larger user-base.
  2. I’m familiar with it
  3. more ports
    (my idea was to make FreeBSD more userfriendly and therefor it seems to be
    better suited with more apps and larger userbase to test apps)

I guess my second favourite would be NetBSD. Much of the code of one is used
in another (e.g. OpenBSDs pf recently was ported to FreeBSD, the
USB-support of NetBSD and FreeBSD has the same basis). I got the impression
that FreeBSD runs faster than NetBSD on i386 but NetBSD might have a better
design.
I think dragonfly-bsd is an interesting project but since it reuses large
parts of FreeBSD 4.8 and some code is exchange between FreeBSD 5.x and
dragonfly (in both directions)it should not be too difficult to switch to
dragonfly later on when it has proven to be a better successor of the 4.x
line than 5.x

Josef ‘Jupp’ SCHUGT
benny