WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Random Ideas  (Read 1988 times)

Offline jerramy

  • Jr. Member
  • **
  • Posts: 76
Random Ideas
« on: August 06, 2010, 03:36:58 AM »
First of all, I want to say that Tiny Core is the best linux distro I've seen yet, in terms of compactness, simplicity, time to desktop, and extensibility.  A job well done.

However, that's not to say that it's the "perfect" distro that I've been looking for.  No distro I've found has been perfect yet.  I come from a background in embedded programming, but my linux experience is fairly minimal.  I'm not sure that linux is even the thing I'm looking for (in any flavour), except that it has a huge code base, much of it open and free (which I whole-heartedly support).

My ideal OS would have the following features:
* micro-kernel (sounds like micro-core doesn't it, but MicroCore isn't that), such as QNX, Mach, or L4.
* reasonable file system.  Linux's scattering of files everwhere kills me.  I like GoboLinux's approach, but am looking for a slimmer base OS.
* minimal base system.  No, I don't want a 4 GB DVD ISO to test out your LiveDVD OS.  I want to take three small files, use GRUB, and have something from which I can build a full system my way from.
* fast boot.  I mean fast.  As in, I turn on the computer, and I have a mouse cursor and things I can click on.
* ability to use a variety of package types.  That one's harder, but wouldn't it be nice if I could take a .tgz, .deb, .rpm, or one of the several other types, and somehow magically have it work when I "install" it?  The one HUGE advantage that Windows has is that I can take a ZIP, EXE, or an RAR, or MSI, and when I "click" it, it just installs.  Sure I may have to get the program to extract it, and sure it may not be extracted to where I want it, but it will generally run and work.

Anyway, right now I'm wondering how feasible it would be to take TinyCore's kernel, and reduce it's size using modules.  My understanding is that this might slow dow the boot (or maybe speed it up, if some parts don't need to be loaded), but would reduce the size of the main kernel.  I really like things to be as modular as possible, so that individual pieces can be worked on, wihtout having to rebuild the whole thing.  Of course, this is coming from someone who has no experience wring linux kernel stuff (though I have some experience in working with QNX.)

In any case, I don't want you to think that in any way am I hating on TCL.  While not one Linux (or OS at all) has really satisfied me, TCL has dome the closest of all the Linux distros.

Offline jerramy

  • Jr. Member
  • **
  • Posts: 76
Re: Random Ideas
« Reply #1 on: August 06, 2010, 04:04:06 AM »
I think this probably belongs in one of the less specific chat forums.  Or perhaps should just be deleted.  I really don't want to cause offense to any of the hard-working people who have provided and excellent free OS.

Offline roberts

  • Retired Admins
  • Hero Member
  • *****
  • Posts: 7361
  • Founder Emeritus
Re: Random Ideas
« Reply #2 on: August 06, 2010, 11:59:38 AM »
Quote
My ideal OS would have the following features:
* micro-kernel (sounds like micro-core doesn't it, but MicroCore isn't that), such as QNX, Mach, or L4.

We felt that using a non-Linux kernel would severely limit the collection of applications available.

Quote
* reasonable file system.  Linux's scattering of files everywhere kills me.  I like GoboLinux's approach, but am looking for a slimmer base OS.

Gobol and Mac OS style of self contained applications have in fact been discussed. It was our conclusion that it causes too much bloat at the application level, with repeated libraries in each application rather than shared. Our approach is the promotion of mounted applications together with recursive shared dependencies and with the smallest support structure, no unionfs or aufs here.

Quote
* minimal base system.  No, I don't want a 4 GB DVD ISO to test out your LiveDVD OS.  I want to take three small files, use GRUB, and have something from which I can build a full system my way from.

We are more generalized here, only need two files and YOUR choice of boot loader and you are ready to go. Tiny/Micro Core can easily co-exist within an existing Linux distribution because we don't scatter files all over the file system.

Quote
* fast boot.  I mean fast.  As in, I turn on the computer, and I have a mouse cursor and things I can click on.

That has been our goal. With many tweaks along the way to a GUI desktop that the use can begin to click things.

Quote
* ability to use a variety of package types.  That one's harder, but wouldn't it be nice if I could take a .tgz, .deb, .rpm, or one of the several other types, and somehow magically have it work when I "install" it?  The one HUGE advantage that Windows has is that I can take a ZIP, EXE, or an RAR, or MSI, and when I "click" it, it just installs.  Sure I may have to get the program to extract it, and sure it may not be extracted to where I want it, but it will generally run and work.

Using packages from foreign systems results in missing or mismatched libraries or other content that is assumed to be present. Plus most other distribution still promote the traditional, scatter mode, type of installation. And finally, if we, the Core, project are distributing code, albeit applications that we did not write, we are typically required to also have the source code with instructions to reproduce said application.

As far as modules go, I think we have a good balance of modules versus inline kernel. Many bootcharts have been produced to ensure that are boot times are most productive. That is not to say that we have the perfect balance.

The current effort is to improve on-demand extension loading. We already have an implementation but is not quite as transparent as I would like it to be. With onboot and ondemand we again offer much flexibility over boot time versus application start-up time while still true to our goal of mounted, not installed, applications.

This project has been very fluid with many improvements over each release.

Constructive comments and suggestions for improvement are welcome and many find their way to implementation
« Last Edit: August 06, 2010, 12:04:44 PM by roberts »
10+ Years Contributing to Linux Open Source Projects.

Offline peterc

  • Newbie
  • *
  • Posts: 36
Re: Random Ideas
« Reply #3 on: August 06, 2010, 08:50:41 PM »
Quote
* reasonable file system.  Linux's scattering of files everywhere kills me.  I like GoboLinux's approach, but am looking for a slimmer base OS.

Gobol and Mac OS style of self contained applications have in fact been discussed. It was our conclusion that it causes too much bloat at the application level, with repeated libraries in each application rather than shared. Our approach is the promotion of mounted applications together with recursive shared dependencies and with the smallest support structure, no unionfs or aufs here.

True, I haven't paid attention to what GoboLinux has been doing in the past two years, but I know for a fact that previous versions (most recently 014) did indeed share libraries. I found Gobo rather nice; it's a pity that development seems to have stalled (or at least that's how it looks like judging by the web site and mailing lists).

Maybe one of these days if I get bored I'll try for a TinyCore/GoboLinux mash-up. We have the technology!  :D