General TC > General TC Talk
TinyCore: just a few steps left to the ultimate OS
Monobit.Fortrix:
Hello all, I couldn't find the topic that would suit the things I wanna write, so, with your permission, I'll write it in a new topic. :)
[btw, sorry for my mistakes if there'll be some because English isn't my native language]
Long ago I began a very complicated search. It's the search for the ultimate OS. Not bad, not good, but ultimate. I've tried dozens (if not hundreds yet) proprietary builds, free distributions and embedded versions of possibly all popular OSes (including different Linux, BSD, Windows, OpenSolaris, Mac OS X, OS/2 eComStation, BeOS versions, as well as some exotic such as QNX, Kolibri/Menuet OS, ETHZ A2 aka BluebottleOS and some more). About a year (or two - I don't remember) I came accross an early TinyCore version. I liked the concept but there were no good Unicode fonts for the moment in the repos, and I gave it up quickly. And now I occasionally came accross the newest TC release for the moment - 3.2. Now Unicode fonts are in place and I began studying TC's work. And.. I was impressed. Positively. So, there's summary of TC base system advantages and drawbacks. IMHO:
Advantages:
- Lightweight modularity. The nearest modular competitor's base system - SLAX - weighs about 200 megs, and TC base system weighs 11;
- Fast flexibility. My current main distro, Arch Linux, has taught me about flexibility but it's too difficult for a regular user to configure Arch to boot fast and load only what you need. In TC, these tasks are incorporated into the core. And I think everyone will admit that AppBrowser is much more easy to use than pacman+yaourt. (My opinion is AppBrowser is as simple for the user as Ubuntu Software Center :) ) And don't forget about size - ~650 megs Arch base console system compared to 11 megs TC base GUI.
- Great portability. To make a new installation, you have to move a very few files and directories. You can specify any system-wide things (e.g. locale, timezone) as a kernel boot option, and you can load the userdata segment (mydata.tgz) and extensions from any place you want. It's not stated in the wiki but you can specify any suitable device for restore, even cdrom. No other OS would allow you to make it load its parts from different places in such a simple way.
- Obvious security. Everything loads into RAM filesystems, runs in RAM and saves into RAM. You backup and restore only the files and folders you've specified. That means that even if you go root and remove the linux kernel it will appear upon reboot, unless you have specified the boot directory in filetool.lst explicitly :) And even if you have specified it and backed it up, and after that your system can't boot, you can just rebuild mydata.tgz from any other OS removing boot directory from there, and that will fix the things. Moreover, each externsion loads into a separate loop virtual filesystem, so they can't interfere one another.
- Simplicity. No difficulties to install something and just use it (except for something like Monto but it's not officially supported by TC repos) :) I was truly impressed with instant Wbar integration. Great work, guys.
Drawbacks:
For me, Arch-educated, there are none :) (it's not critical for me to have multiuser access rights on my laptop) Possibly TC seems to be the closest to ultimate OS because of this fact. However, from the point of regular user, it would be obvious to have some things that are absent in the default installation: taskbar/systray panel (with clock and laptop battery monitor if needed), desktop switcher, file manager, browser(w/Flash), keyboard layouts, Unicode fonts, sound support, some IM/Torrent client, media mount applet, text (at least plain) editor, graphical look-and-feel configuration tools, system load monitor. The "instant backup button" on the panel also would be good for the user to save the results of his work without having to go to control panel or launching filetool - just a button on Wbar that would do a userdata segment backup to a predefined place. That would prevent loss of important data due to unexpected power failures because the user working with important data will obviously more frequently press "Backup" button when it's placed in a handy position.
So, I've tried to implement all these features (except for instant backup button yet) in my first userspace TC build called UltimateTC :) Userspace build means that no modifications to core system were made, just to userdata and extensions. You can download the current testing version by looking for the link in my profile or signature.
What does it have now?
- Base TC system ;) As for UI, native Wbar and background settings engine are really great.
- Openbox. Don't get me wrong but I think that it can be called an ultimate WM :)
- Tint2 panel. Better see once than hear 100 times. Truly ultimate panel :)
- OSS4 sound system with ossxmix.
- ROX Filer file manager.
- Monto mount dockapp with custom update script according to fstab. Right click on a mounted media opens it in ROX Filer.
- Conky system monitor.
- Leafpad text editor.
- Chromium web browser.
- Transmission bit torrent client.
- Nice wallpaper :)
- Custom keyboard layout and wallpaper settings engine. All the settings of used layouts and wallpapers are in MySystemSettings folder. Currently Alt+Shift layout toggle combination only.
- Xorg included. That means the system is started with Xvesa (and probably that causes Conky to blink) but when you install the drivers for your video adapter from AppBrowser it won't download Xorg as a dep 'cause it's already present in the system. With NVidia drivers, everything works perfect. Other Xorg video drivers weren't tested as I have no appropriate hardware.
- Openbox and tint2 graphical configurators.
- GTK2 with theme engine.
- Some other stuff I can't remember right now, you can find everything in the Openbox menu (right click anywhere on the desktop)
Here's the screenshot (with NVidia drivers installed so my native laptop's resolution 1280x800 is supported):
Any improvement suggestions are welcome. Have Fun! ;)
tinypoodle:
--- Quote from: Monobit.Fortrix on November 02, 2010, 03:35:53 AM ---However, from the point of regular user, it would be obvious to have some things that are absent in the default installation: taskbar/systray panel (with clock and laptop battery monitor if needed), desktop switcher
--- End quote ---
All those would be included by installing jwm which is quite small.
Only exception is the battery monitor, which wouldn't be of use on (mailnly older) PC's which could not be booted with acpi support, as apm support is not configured in the stock kernel, and at least I could not figure out a way to measure battery level in this case.
--- Quote ---file manager, media mount applet, text (at least plain) editor
--- End quote ---
Future inclusion of fltk based file manager and editor has been announced, (busybox) vi already being present in base.
'Mount Tool' is present in base.
--- Quote ---- Monto mount dockapp with custom update script according to fstab. Right click on a mounted media opens it in ROX Filer.
--- End quote ---
Having a quick look at it on the web, I could not see any advantage of 'monto' over TC's 'Mount Tool', rather the opposite: "(a maximum of four devices)".
ROX filer has the built-in capacity of mounting and umounting devices out of the box.
Being curious about the total size of all mentioned, I had a look at the link, before it was removed due to forum policies.
Size of this .iso is 171MB.
This leads me to make a comparison to my personal usage.
My current primary system for "allround" use is TC 2.10 running in default mode (extensions mounted in RAM). With an uptime of 23 days and having loaded whatever extensions a need came up for whenever it did, current size of my /tmp/tce is 72.1MB. (Note:I have installed edna which requires python, which is rather a luxury than a need for me, so I could easily reduce total size of my extensions by ~15MB).
I could call this my current ultimate TC (total size of ~83MB, or 68MB when leaving out edna).
Point in case: What is the ultimate OS differs from user to user. Size matters, particularly when hardware specs are limited and/or when the idea is to run everything in RAM.
To me, one of the criteria to chose an OS is what is not included and what processes are not run by default (e.g. an OS having Chromium included by default would be a good reason to stay away from it. It has already become a limitation of choices by excluding Linux systems which have Firefox included by default).
One of the most interesting aspects of TC is choice and user control, according to the motto "Toolkit for
Linux. Build it your way."
While improvements may always be possible and details may be discussed, IMHO the developer's team has done a hell of a job so far to live up to what it promises - according to TC's stated philosophy.
N.B.: As you make a reference to "ETHZ A2 aka BluebottleOS"... note that it's spiritual father (co-creator of Oberon) is quoted in my signature ;)
Monobit.Fortrix:
Thanks for the reply.
--- Quote from: tinypoodle on November 02, 2010, 12:42:06 PM ---All those would be included by installing jwm which is quite small.
Only exception is the battery monitor, which wouldn't be of use on (mailnly older) PC's which could not be booted with acpi support, as apm support is not configured in the stock kernel, and at least I could not figure out a way to measure battery level in this case.
--- End quote ---
I was thinking of jwm or fluxbox but openbox+tint2 look more beautiful out of the box and tint2 _does_ include battery monitor. Btw, I have fluxbox in my Arch with native panel and use third-party batterymon.py as a battery indicator. However, I wouldn't like an odd python dependency for such a simple task.
--- Quote ---Future inclusion of fltk based file manager and editor has been announced
--- End quote ---
That's really great.
--- Quote ---(busybox) vi already being present in base.
--- End quote ---
I know that and I respect vi very much but most users would prefer simple GUI editor like Leafpad. The only reason for non-SciTE - in our country, we have many text files still in CP1251, and SciTE has no support for it. Nevertheless, when the TC base system with some internal GUI editor is released, Leafpad will surely be removed. :)
--- Quote ---'Mount Tool' is present in base. Having a quick look at it on the web, I could not see any advantage of 'monto' over TC's 'Mount Tool', rather the opposite: "(a maximum of four devices)".
--- End quote ---
Not so handy for a newbie - two unnecessary mouse actions. That was the only reason to look for a third-party dockapp mounter. I'll get rid of Monto as soon as I find something more usable.
--- Quote ---ROX filer has the built-in capacity of mounting and umounting devices out of the box.
--- End quote ---
The capacity is also great but the number of mouse actions remains. With Monto or something similar, you have to click once just to mount and right-click to open the folder you have mounted. And with Rox? Btw, unmounting is more handy in Rox - you just close the mount directory and confirm the unmounting, two clicks too. ;)
--- Quote ---Being curious about the total size of all mentioned, I had a look at the link, before it was removed due to forum policies.
--- End quote ---
The link is now in my signature and profile.
--- Quote ---Size of this .iso is 171MB.
This leads me to make a comparison to my personal usage.
My current primary system for "allround" use is TC 2.10 running in default mode (extensions mounted in RAM). With an uptime of 23 days and having loaded whatever extensions a need came up for whenever it did, current size of my /tmp/tce is 72.1MB. (Note:I have installed edna which requires python, which is rather a luxury than a need for me, so I could easily reduce total size of my extensions by ~15MB).
I could call this my current ultimate TC (total size of ~83MB, or 68MB when leaving out edna).
Point in case: What is the ultimate OS differs from user to user. Size matters, particularly when hardware specs are limited and/or when the idea is to run everything in RAM.
--- End quote ---
OK, what does your build have? I'm curious of it. The goal of mine is to build a small (under 300 megs disk/ram usage) and reliable distro that would fit virtually any newbie that had no idea of TC in particular and/or Linux at all before.
--- Quote ---To me, one of the criteria to chose an OS is what is not included and what processes are not run by default (e.g. an OS having Chromium included by default would be a good reason to stay away from it. It has already become a limitation of choices by excluding Linux systems which have Firefox included by default).
--- End quote ---
I'm getting more curious - what browser does your build have? And does it have Flash plugin with working sound? :)
--- Quote ---One of the most interesting aspects of TC is choice and user control, according to the motto "Toolkit for
Linux. Build it your way."
While improvements may always be possible and details may be discussed, IMHO the developer's team has done a hell of a job so far to live up to what it promises - according to TC's stated philosophy.
--- End quote ---
The aspect is really interesting for us, advanced users, but not for the others that need an OS just to work. I think TC is a great platform to build such a distro with all the advantages of the architecture (great operating speed and maximum of flexibility) combined with some high-end usability layer in order for masses to let them do their tasks instantly. That's why I'm here, asking for advice - what, in your opinion, would be necessary for an average computer user that doesn't focus on the platform his software is operating on? (with about 300 megs load limit, of course)
--- Quote ---N.B.: As you make a reference to "ETHZ A2 aka BluebottleOS"... note that it's spiritual father (co-creator of Oberon) is quoted in my signature ;)
--- End quote ---
Nice signature indeed ;)
thane:
"an average computer user that doesn't focus on the platform"
Well, roberts and other developers can better speak to this, but I don't think TC is aimed at the user that just wants a quick out-of-the-box distro. There are plenty of those. I started using TC because I'd belatedly realized that 95% of my personal computer use was web surfing, and I was using this clunky Windows box loaded with apps that I never ran. TC allowed me to build a system with only the apps that I actually use. And yes, I had to invest some time figuring out what those were and getting them to work. It's been worth it.
A number of people have had ideas for expanding the base TC system to include apps that "everybody would want". These suggestions generally have included apps that I don't want. It's OK with me if people create custom distros based on TC and make them available. But I definitely want TC itself to maintain its minimal base, highly customizable approach.
Monobit.Fortrix:
--- Quote from: thane on November 02, 2010, 02:48:39 PM ---I don't think TC is aimed at the user that just wants a quick out-of-the-box distro. There are plenty of those.
--- End quote ---
The point is that they are slow and unreliable. A TC mod with properly selected extensions, with the same userspace capabilities, could just outperform them.
--- Quote ---I started using TC because I'd belatedly realized that 95% of my personal computer use was web surfing, and I was using this clunky Windows box loaded with apps that I never ran. TC allowed me to build a system with only the apps that I actually use. And yes, I had to invest some time figuring out what those were and getting them to work. It's been worth it.
--- End quote ---
Not anyone would invest some time. For example, the build has 10 extensions and the user needs only 8 of them. What's quicker - install (and configure) 8 or remove two?
--- Quote ---A number of people have had ideas for expanding the base TC system to include apps that "everybody would want".
--- End quote ---
I never suggested to expand base TC system. My opinion is all of the modifications should be done in userspace (extensions + userdata), just not to destroy core's optimizing infrastructure.
--- Quote ---These suggestions generally have included apps that I don't want. It's OK with me if people create custom distros based on TC and make them available. But I definitely want TC itself to maintain its minimal base, highly customizable approach.
--- End quote ---
That's what the things should be. Tiny core should remain tiny. The question is of the user payload above the core. What's the optimum of it for a custom high-end desktop TC-based distro?
Navigation
[0] Message Index
[#] Next page
Go to full version