Tiny Core Linux
General TC => General TC Talk => Topic started by: Monobit.Fortrix on November 02, 2010, 06:35:53 AM
-
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):
(http://imgur.com/IPcww.jpg) (http://imgur.com/IPcww.jpg)
Any improvement suggestions are welcome. Have Fun! ;)
-
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
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.
file manager, media mount applet, text (at least plain) editor
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.
- Monto mount dockapp with custom update script according to fstab. Right click on a mounted media opens it in ROX Filer.
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 ;)
-
Thanks for the reply.
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.
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.
Future inclusion of fltk based file manager and editor has been announced
That's really great.
(busybox) vi already being present in base.
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. :)
'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)".
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.
ROX filer has the built-in capacity of mounting and umounting devices out of the box.
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. ;)
Being curious about the total size of all mentioned, I had a look at the link, before it was removed due to forum policies.
The link is now in my signature and profile.
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.
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.
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).
I'm getting more curious - what browser does your build have? And does it have Flash plugin with working sound? :)
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.
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)
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 ;)
Nice signature indeed ;)
-
"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.
-
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.
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.
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.
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?
A number of people have had ideas for expanding the base TC system to include apps that "everybody would want".
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.
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.
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?
-
"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."
Fair enough. I have no quarrel with that.
-
The only thing I can think of to make tcl more accessible to windoze refugees is to provide more GUIs to do configuration, and that is steadily increasing with each release.
If you look at other distros that come pre-packaged with a choice of managers and apps, for each main one there is huge number of variations as each owl on a clod reckons this or that particular bunch of managers and apps is better. Ubuntu and puppylinux are good examples - for each main release there is a huge range of spinoffs to choose from.
But now look at tinycore - there are no spinoffs. This is surely due to the extreme customization ability. I was looking at your iso, and you use very similar stuff to me - openbox, tint2, chromium rox and a few others. So by changing the background, the wbar position and a few other minors, it is almost identical to my favorite setup (except I use OnDemand extensively).
So each time I toy with the idea of making the ultimate .iso, I very quickly run up against, "what's the point?" :)
-
I did add an edit the first post, but it appears to have been changed since. Please don't ignore it next time.
I would like to remind everyone of the policy concerning specific remasters and their discussions. http://forum.tinycorelinux.net/index.php?topic=5543.0
Since there seems to be more general discussion generated, this thread will be kept open for now.
-
third-party batterymon.py as a battery indicator. However, I wouldn't like an odd python dependency for such a simple task.
There is 'flit' which is fltk native and only 20 Kb.
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. ;)
The panel or pinboard of ROX could be used, if the goal is to minimize number of mouse clicks.
Also the 'bookmarks' feature in the filer.
OK, what does your build have? I'm curious of it.
It's whatever I was in need of since last boot 23 days ago, as an indication I have 83 extensions mounted at this moment. And I would rather call it 'menu du jour' than build.
I'm getting more curious - what browser does your build have? And does it have Flash plugin with working sound? :)
At current that would be opera10, which even could be considered a waste of space, as it has qt as a dependency, and including deps sums up to 21.73 MB, while opera (9.64) uses 9.25 MB of space.
On this occasion I did a quick test: Removing all locales from opera 10.62 which has hardly any dependencies (Looking at the binary with ldd it appears like it needs fontconfig and expat2 which I had already installed, a bit more than 200 Kb, I didn't test on a base boot), then make a squashfs from it ended up with 13 MB, so I could save another ~8.5 or 12.5 MB there by either down- or upgrading version.
Also I have links as a browser at the moment.
And yes, I have used getFlash10.tcz to install flash plug-in, and it works fine with alsa.
(with about 300 megs load limit, of course)
I think a size of 300 MB would limit the usability of TC a lot when it comes to low spec PC's, personally I would not choose such to run on a box with less than 1.5 GB of RAM.
-
Do you plan to continue this?
By now you have probably read the link posted by thehatsrule.
If you are going to make this successful, you will need to make updated versions fairly often. With all of the improvements to Tiny Core, yours will become outdated if you don't continually make updated versions.
I did not download your iso, so I don't know what was on it. I see it being useful if you include all extensions people are likely to need when installing it in different situations. For example, include extensions for USB Install, include GParted and Grub for hard drive install, and include extensions needed by those using wireless internet, so they can connect to the internet without having to download anything extra. If you include all those things, those with little understanding of Linux will find this useful. If you really want to make is stand out, make a graphical installer.
-
The only thing I can think of to make tcl more accessible to windoze refugees is to provide more GUIs to do configuration, and that is steadily increasing with each release.
That's one of the main tasks. Obconf, Tint2 configurations.. and there will be some custom GUI app when the number of files in MySystemSettings folder rapidly increases :)
If you look at other distros that come pre-packaged with a choice of managers and apps, for each main one there is huge number of variations as each owl on a clod reckons this or that particular bunch of managers and apps is better. Ubuntu and puppylinux are good examples - for each main release there is a huge range of spinoffs to choose from.
...and there's a huge range of bugs due to their complicated structure. ;) I don't like the way Ubuntu developers went now - hiding the system structure from the user and making it nearly uncompatible with other Linux distro architectures even when having the same software packaging format. I could install a Debian package in Ubuntu 7.04 and it worked fine but now I can't even install it, and if I manage to do it the program will behave buggy. What's the point to use the Debian packaged software not compatible with Debian itself? :) Hiding the transparency is Window$ way, and it obviously can't lead to anything good. For instance, it's difficult to remove iptables in Ubuntu without damaging some upper-level applications already present in the system. (I had an occasion I had to remove iptables from the default Ubuntu installation) In TC, nothing systemworth depends on iptables so if I install it, I can safely remove it later. So, TC has the ability for easy userspace expansion (and later collapsion, if needed) while its structure remains clear to the user. That's a huge advantage.
But now look at tinycore - there are no spinoffs. This is surely due to the extreme customization ability. I was looking at your iso, and you use very similar stuff to me - openbox, tint2, chromium rox and a few others. So by changing the background, the wbar position and a few other minors, it is almost identical to my favorite setup (except I use OnDemand extensively).
Note that wbar position wasn't changed from the base system :)
So each time I toy with the idea of making the ultimate .iso, I very quickly run up against, "what's the point?" :)
The point is most computer users don't see any advantages in the extreme customization ability. I don't belong to them (otherwise I'd never give up Ubuntu) but lots of people are too lazy to think of the things they don't understand, and extreme customization ability makes them think of these things. They usually get lost in the amount of choice (e.g. OSS/ALSA/Pulseaudio/ESD or Chromium/Firefox/Opera/Epiphany-webkit), thay can't understand the starting absence of a simple taskbar panel and sound and finally get retired to some distros they call "user-friendly" (Ubuntu/Fedora/SuSE/Xandros/Sabayon etc) or - even worse - to Window$, ignoring all the advantages of TC architecture. The point of making such an ultimate .iso is to draw attention of the masses to the great capabilities of TC platform itself while offering some functional tasks from the start.
There is 'flit' which is fltk native and only 20 Kb.
Thanx, I'll have a look on it but it seems handy to have a built-in battery monitor in such a nice panel :)
The panel or pinboard of ROX could be used, if the goal is to minimize number of mouse clicks.
Also the 'bookmarks' feature in the filer.
Thanks for the tip. Btw, does Rox support kind of GUI theming?
It's whatever I was in need of since last boot 23 days ago, as an indication I have 83 extensions mounted at this moment. And I would rather call it 'menu du jour' than build.
At current that would be opera10, which even could be considered a waste of space, as it has qt as a dependency, and including deps sums up to 21.73 MB, while opera (9.64) uses 9.25 MB of space.
On this occasion I did a quick test: Removing all locales from opera 10.62 which has hardly any dependencies (Looking at the binary with ldd it appears like it needs fontconfig and expat2 which I had already installed, a bit more than 200 Kb, I didn't test on a base boot), then make a squashfs from it ended up with 13 MB, so I could save another ~8.5 or 12.5 MB there by either down- or upgrading version.
Also I have links as a browser at the moment.
And yes, I have used getFlash10.tcz to install flash plug-in, and it works fine with alsa.
I understood the logic. However, I gave up Opera for the one reason - too many sites are not displayed properly. (Also, Opera is reported to have a poor anti-phishing service). When the situation changes the browser will change too (but I think at the moment it will change browsers' sizes will be similar, and version downgrading doesn't look like an idea I can agree with). From some version, ALSA stopped working on my hardware (and I saw some other different laptops that had the same problems). OSS4 works perfectly anywhere I've seen.
I think a size of 300 MB would limit the usability of TC a lot when it comes to low spec PC's, personally I would not choose such to run on a box with less than 1.5 GB of RAM.
My laptop was bought in late 2007, and now it's already considered as a low spec laptop. According to the Conky indications, it has 883 MB of RAM. The 171-meg build now takes 141 in RAM with running Chromium (+monto, wbar, conky, tint2, OSS and NVidia drivers). Yesterday I loaded several Flash videos simultaneously and the amount of taken RAM didn't exceed 230 MB anyway. What do I do wrong? :)
I did add an edit the first post, but it appears to have been changed since. Please don't ignore it next time.
I would like to remind everyone of the policy concerning specific remasters and their discussions. http://forum.tinycorelinux.net/index.php?topic=5543.0
Since there seems to be more general discussion generated, this thread will be kept open for now.
I promise I won't ignore the policy but is there any non-GPL compliant software in the build? It's built using the TC repos only, except for Monto, which AFAIK is GPL compliant too. And what does "A link to the site must contain full sources, including TC/MC's" mean? Can I just place the link to the original TC download on the site?
Do you plan to continue this?
By now you have probably read the link posted by thehatsrule.
If you are going to make this successful, you will need to make updated versions fairly often. With all of the improvements to Tiny Core, yours will become outdated if you don't continually make updated versions.
Surely I do plan to continue this and I'm going to track all the changes to the base system (stable versions of it).
I did not download your iso, so I don't know what was on it. I see it being useful if you include all extensions people are likely to need when installing it in different situations.
That's the goal and that's why I'm asking what people need. Btw, if anyone wants to see what's already there before the site is ready, you can PM or mail me and I'll send the link to you within 24 hours.
For example, include extensions for USB Install, include GParted and Grub for hard drive install, and include extensions needed by those using wireless internet, so they can connect to the internet without having to download anything extra. If you include all those things, those with little understanding of Linux will find this useful. If you really want to make is stand out, make a graphical installer.
Wireless support is already included, and I also think about partitioning and installing tools. GParted is really handy and I'll include it ASAP. Making a graphical installer is probably the most complicated thing (as soon as I learn FLTK, possibly - I can make it in Qt4 right now but the size of installer itself will be awful :))
-
Thanks for the tip. Btw, does Rox support kind of GUI theming?
Not to my knowledge, apart from general gtk2 theming.
I understood the logic. However, I gave up Opera for the one reason - too many sites are not displayed properly. (Also, Opera is reported to have a poor anti-phishing service).
Not to my knowledge, rather the opposite...
When the situation changes the browser will change too (but I think at the moment it will change browsers' sizes will be similar
That's not what it looks like, when opera 10.62 after removing locales and then squashed as described in my former post results in ~13 MB, while chromium incl. dependencies as in repo is ~31 MB...
From some version, ALSA stopped working on my hardware (and I saw some other different laptops that had the same problems). OSS4 works perfectly anywhere I've seen.
My personal experience is rather opposite, having issues with OSS (e.g. flashplayer losing sound after a few seconds of playing). I guess that might be hardware dependent.
The 171-meg build now takes 141 in RAM
That does not make any sense at all. Usage of RAM would be bigger than the iso as the compressed initrd is expanded, and also a bzImage type kernel always uses more RAM than its filesize.
I promise I won't ignore the policy but is there any non-GPL compliant software in the build? It's built using the TC repos only, except for Monto, which AFAIK is GPL compliant too. And what does "A link to the site must contain full sources, including TC/MC's" mean? Can I just place the link to the original TC download on the site?
Please see following thread, and have a look particularly at the links contained in there about interpretation and practical implementation of the GPL:
http://forum.tinycorelinux.net/index.php?topic=7105.0
-
apart from general gtk2 theming.
I've noticed that and that's why I'm asking if it has any theming at all.
That's not what it looks like, when opera 10.62 after removing locales and then squashed as described in my former post results in ~13 MB, while chromium incl. dependencies as in repo is ~31 MB...
...and still operating faster than the latest Firefox and Opera versions in the same conditions.
My personal experience is rather opposite, having issues with OSS (e.g. flashplayer losing sound after a few seconds of playing). I guess that might be hardware dependent.
Yes, that might. And probably might not. What's your sound card or chip?
That does not make any sense at all. Usage of RAM would be bigger than the iso as the compressed initrd is expanded, and also a bzImage type kernel always uses more RAM than its filesize.
There are some extensions such as Xorg related. They don't load by default but you have no need to download them when installing your video adapter drivers and turning to Xorg from Xvesa.
Please see following thread, and have a look particularly at the links contained in there about interpretation and practical implementation of the GPL:
http://forum.tinycorelinux.net/index.php?topic=7105.0
Thanks, very interesting and the idea is still very pointless. Hundreds of distributions are succesfully spread without the restriction to provide source code hosting and allowing just to put the links to it. Moreover, it's stated:
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
[...]
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
I did not receive the source code with the distribution, just the binary packages and "the information received as to the offer to distribute corresponding source code.". The custom distro will be non-commercial. The custom scripts are source code itself, and Monto source code will be placed as needed. But GPL _does_ allow just to place the links to the source code, and most GPL applications are distributed that way, including the license and the link where to look for the source.
If the problem is that...
If the Tiny Core Linux Team decides to drop their work and remove all sources, you might not get access to all the source code used to build TCL, and therefore you can't guarantee that, if you don't host them yourself.
... I'm not going to modify base TC system and therefore can just host the source code of my personal additions to it. Anyway, even TC base can be remastered without having source code of all the components. And when the source is needed, it's much more likely to find the source on the authors' pages. For instance...if someone decides to change the Linux kernel used in TC base, where will he look the sources for? Obviously not on tinycorelinux.com but on kernel.org.
While seeing that plenty of other derivative distributions are developing succesfully, such rules had led me to a conclusion similar to that posted by SvOlli in that thread:
This looks to me like applying double standards. I want to work with you guys, showing my work as a proof of concept for an open discussion, to see if there's anything in it that might be of value for you. But this way it feels like you're working against me. Sorry to say that, but it really does feel that way...
Of course I've already reached the http://ftp.nluug.nl/pub/metalab/distributions/tinycorelinux/3.x/release/src/ and am going to rehost everything I'll find there (in archived form, though) but I think its useless for the current UltimateTC versions (btw, I'm going to get rid of UltimateTC name, replacing it with current codename Cassandra). Furthermore, our team (Monobit developer team) will host Cassandra's own repository that will have the pool mirror of TC base version Cassandra is based on, all the extensions with sources and all the Cassandra-specific additions that don't belong to TC pool. I think that will be a correct solution, and if I find the appropriate file hosting to maintain all these things easily, the job will be done in a week. [removed 6] Before the site is ready (most probably it will be the English section of our team's site [removed 6], where our main and the only for now language is Russian) I'll write only about the changes made to the build here.
-
That's not what it looks like, when opera 10.62 after removing locales and then squashed as described in my former post results in ~13 MB, while chromium incl. dependencies as in repo is ~31 MB...
...and still operating faster than the latest Firefox and Opera versions in the same conditions.
The aspect discussed was size per se, taking up RAM.
When I tried chromium I didn't note that it would be significantly faster, but then I didn't give it too much of trying, the utilization of screen estate for toolbars without an obvious way of customization being enough of a criterium to give up on it (in addition to the resource usage).
Yes, that might. And probably might not. What's your sound card or chip?
Intel card with Cirrus Logic CS4299 chip
That does not make any sense at all. Usage of RAM would be bigger than the iso as the compressed initrd is expanded, and also a bzImage type kernel always uses more RAM than its filesize.
There are some extensions such as Xorg related. They don't load by default but you have no need to download them when installing your video adapter drivers and turning to Xorg from Xvesa.
Perhaps then I haven't understood what you exactly mean.
What I am saying is that a gzip compressed initrd will take up more space when expanded in RAM than as a file.
---------------------------------------------------------------------------------------------------------
I'd suggest you split all the part regarding remastering, redistribution, GPL compliance etc. off from this post and use it as a post in that thread you essentially reply to, IMHO that would make much more sense ;)
-
The aspect discussed was size per se, taking up RAM.
When I tried chromium I didn't note that it would be significantly faster, but then I didn't give it too much of trying, the utilization of screen estate for toolbars without an obvious way of customization being enough of a criterium to give up on it (in addition to the resource usage).
Chromium process (not the loaded extension itself) is now taking 10.49 MB in RAM. Opera takes not much smaller, about the same, Firefox takes less immediately after the start but much more when many pages are opened and then closed (yes, latest Firefox versions are reported to have the issue). And the way of customization is the same as with lastest Firefox - not so obvious, yes, but still very simple.
Of course, I think it's not the subject for discussion right here. ;)
Intel card with Cirrus Logic CS4299 chip
Probably this (http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg75565.html) is about the issue?
Perhaps then I haven't understood what you exactly mean.
What I am saying is that a gzip compressed initrd will take up more space when expanded in RAM than as a file.
I mean that in fact image size is now bigger than the amount or RAM it takes in the loaded state :)
I'd suggest you split all the part regarding remastering, redistribution, GPL compliance etc. off from this post and use it as a post in that thread you essentially reply to, IMHO that would make much more sense ;)
I think that would be wise but I'm going to stop the discussion regarding GPL compliance until I have the rehosting base for the project. :)
-
Probably this (http://www.mail-archive.com/linux-kernel@vger.kernel.org/msg75565.html) is about the issue?
I wouldn't know, but that's more than 5 and half years old, so I would expect it to be fixed by now...
-
And when the source is needed, it's much more likely to find the source on the authors' pages. For instance...if someone decides to change the Linux kernel used in TC base, where will he look the sources for? Obviously not on tinycorelinux.com but on kernel.org.
Many upstreams remove older releases. And if one wants whatever non-upstream patches used in TC, there's no other source generally than our site.
-
And if one wants whatever non-upstream patches used in TC, there's no other source generally than our site.
I didn't mention TC-specific releases. It's obvious that TC-specific software has to be hosted on TC sites. :)
Since the discussion vector here has changed to another direction, I'd like to ask you about exactly what the topic name says: what steps should the TC distro perform to become an ultimate OS that anyone would want to move to?
-
I don't believe there's a universal solution anyone and everyone would want, actually.
-
I don't believe there's a universal solution anyone and everyone would want, actually.
Let me split the answer into the paragraphs, although you can read it as a whole:
1) I don't believe such a crappy OS as Window$ can even be such a soultion but it still does have lots of users and lots of newbies still want it, actually. This is due to the aggressive marketing policy. Free software community really _can_ do something to override it, but there are problems, they and their solution suggestions will be shown here later.
2) The goal of Cassandra project will be drawing the masses attention to TC technology. Unlike Windows's, the Cassandra's spreading policy will in ideal case be self-advertising - to reach the distribution quality to the stage when most users will want it not because someone "abstract and big" said "it's good" but because they will know it really works flawlessly and does what they want perfectly, and they will really get the practical confirmation of that. The effort to reach this is really worth its effect.
3) Existing Linux distros developers can already do such an effort but they can do it together only. I don't see any sense in the derivatives of the distributions that are already newbie-intended. Moreover, for example, I hate all the Ubuntu derivatives because of this fact (not Ubuntu itself but its derivatives), and note that 20% of them don't even have the reminder they're Ubuntu-based and I find it out when looking through the system more carefully. That reminds me of the "famous" and ill-rumored BolgenOS. Btw, Jolicloud is such a distro. If only all these developers got concerned on improving their upstream projects which are already newbie-intended, these projects would develop faster to reach the above aim. But for now, we do have what we have.
4) To the opposite, TinyCore, while having a perfect modular achitecture, doesn't have any single newbie-intended derivative distro. If such a distro existed, I'd try to join its development but since it doesn't, I decided at least to start the process. But you know that the creation of an ultimate distro can't be possible without the community feedback or contribution, so feel free at these things, that's why I'm here - Cassandra will be an open project.
5) Returning to the quoted post at last, one of the project aims is to make Cassandra not the absolute universal solution which of course isn't possible to create, but at least we'd try to make it as universal as popular OS'es, just outperforming them thanks to the unique TC technology. ;)
P.S. I also have thought about build version numbering system. The version will be a 4-digit (in the future - 5-digit) number, the first 2 or 3 digits will represent the version of base TC system (e.g. 32 for TC 3.2 or 159 for TC 15.9 if it will be released anytime ;) ), and the last 2 digits will represent the current build number (from 00 to 99) within the same version Cassandra is built upon. For instance, Cassandra 3211 will mean the 11th build upon TC 3.2. So, the first build ever released will bear the name Cassandra 3200. Sounds futuristic, doesn't it? :)
-
I think what most everyone does get and you don't seem to get is that the goal of our project is:
-=[ TinyCore: is just a few clicks to your ultimate OS ]=-
Forcing application decisions on others is not the goal of this project. Your choice is not mine.
The very definition of a toolkit is to build what you want.
I have stated, ad nauseam, the above.
You surely don't think that everyone else is only running the base system. Each is running their ultimate OS setup, configured, and running as they wish.
Again, there are hundreds of turnkey Linux system for those that desire that type of system.
An analogy...
Some kids get erector sets for Christmas, some build really awesome things just by plugging some pieces together. Some will cry in disgust because it ts too difficult. And some kids say "Wow look what I just built".
A pre-built Tiny Core remaster does not show the potential of Tiny Core, the same way a pre-built erector set toy does not show the potential of an erector set.
-
Nice analogy! :D
-
Where do you think he got the picture of the screw head?
-
The goal of Cassandra project will be drawing the masses attention to TC technology.
I support this. It is a good thing. A simple derivative distro can simply pluck a few apps from the repository, bundle them into a cpio.gz, and add it to an existing tinycore_3.x.iso. No base modification needed to get started.
TinyCore ... doesn't have any single newbie-intended derivative distro.
Thus your project. There are numerous distributions which target specific markets, like audio-video editing, cluster computing, etc. They also have to base their distribution on something, and I think Tiny Core is as good a base as anything (like Robert said, that's what it's for). Debian is common because of its large package base, but I think Tiny Core is adequate. When it isn't, developers are easy to reach via this forum.
I also have thought about build version numbering system.
Here is another suggestion: x.y.z.build where x.y.z is the Tiny Core version (e.g., 1.4.3) and build is the build number. That sort of system is widely used.
There are numerous comments about which app is best for browsing, playing music, etc., so you'll need clearly defined criteria like "supports flash, plays mp3 files, memory usage, stability" which can be quantified. For example, flash support means more web sites work, but the browser could crash. Chromium might use more memory (no idea, really) but it's more stable. Identify these criteria, the various solutions, the tradeoffs, and how important they are to your target audience. It's called a QFD (Quality Functional Deployment).
-
I agree
I think, when other distros are based on Tiny Core, Tiny Core will become more well known and more widely used.
Look what Ubuntu has done for Debian. Since Ubuntu, other distros, such as Fedora and Suse, are trying to encourage people to make distros based on them.
The concepts in Tiny Core are brilliant. Tiny Core has many advantages over conventional operating systems. I think this is the next generation of Linux. A large proportion of Linux users have not tried Tiny Core, and don't understand. As more people understand, expect more distros to be based on Tiny Core.
I think the future of Tiny Core is going to be bigger than most people realize. Expect many more distros to come out based on Tiny Core.
-
Just my opinion.
The name Cassandra does not sound like an ideal name for a Linux distro.
I have not thought of a better one.
Why not get the suggestions of others. See who can suggest the best name.
Just my opinion. You may disagree.
-
Thanks for the constructive answers, anyway.
Again, there are hundreds of turnkey Linux system for those that desire that type of system.
You see, no one of that turnkey systems is based on TC technology and thus hasn't got its main advantages.
A pre-built Tiny Core remaster does not show the potential of Tiny Core, the same way a pre-built erector set toy does not show the potential of an erector set.
At least more people will know about TC itself and if they want its full flexibility potential (and really know how to use it) they will either get a bare TC version or will remove the userspace level from Cassandra, in fact getting the same bare TC version. I know that mostly anyone here (including myself) is ready to do plenty of reconfiguration work to get the simple tasks be done seamlessly but Cassandra would be intended just for those who aren't ready for this, showing some optimal functionality from the start and architecture advantages of TC at the same time. It's a pity but the world isn't limited by computer geeks only. Why must the soultion for others (those hundreds of distros mentioned above) be worse than geeky solutions such as TC?
I support this. It is a good thing. A simple derivative distro can simply pluck a few apps from the repository, bundle them into a cpio.gz, and add it to an existing tinycore_3.x.iso. No base modification needed to get started.
You see, I had to do some reconfiguration in the userdata scripts in order to:
1) get actual mounting information for Monto;
2) let the user configure the keyboard layout and wallpaper by editing the files (yet) keyboard.set and wallpaper.set in the MySystemSettings folder without any intrusion to session start scripts;
3) start Conky, Tint2, Monto and restore the layouts after starting an X session.
Thus your project. There are numerous distributions which target specific markets, like audio-video editing, cluster computing, etc. They also have to base their distribution on something, and I think Tiny Core is as good a base as anything (like Robert said, that's what it's for). Debian is common because of its large package base, but I think Tiny Core is adequate. When it isn't, developers are easy to reach via this forum.
That's the point. When more people, including developers, notice that TC is a good base for everything, probably it will become the main platform technology of the further Linux distributions.
Here is another suggestion: x.y.z.build where x.y.z is the Tiny Core version (e.g., 1.4.3) and build is the build number. That sort of system is widely used.
And that's why it looks not so pretty. Thousands of newbies use Windows XP and don't even know that in fact it's NT 5.1.2600, for example (I don't remember exactly but 2600 build was AFAIK for OEM XP versions without service pack). Most of them are too lazy to remember it. So I look for a numbering system that would reflect the actual state of the things but looked not so complicated, so any dotless, slashless and dashless system would suit. Moreover, 4-digit system is also proven to be handy as everyone can easily remember Nokia cellphone model numbers. ;) Any more suggestions?
There are numerous comments about which app is best for browsing, playing music, etc., so you'll need clearly defined criteria like "supports flash, plays mp3 files, memory usage, stability" which can be quantified. For example, flash support means more web sites work, but the browser could crash. Chromium might use more memory (no idea, really) but it's more stable. Identify these criteria, the various solutions, the tradeoffs, and how important they are to your target audience. It's called a QFD (Quality Functional Deployment).
I support the idea. The criteria priority now is: (from highest to lowest)
1. Stability (with different hardware).
2. Usability (convenience, design, operating speed).
3. Up to date versions.
4. Functionality.
5. Resource usage.
I think this priority guideline would help choosing the alternatives when doing some contribution to the project.
Just my opinion.
The name Cassandra does not sound like an ideal name for a Linux distro.
I have not thought of a better one.
Why not get the suggestions of others. See who can suggest the best name.
Of course, for the current stage, Cassandra is rather a project codename than a finally fixed title. The first idea (after the UltimateTC) was Sulphur but I found out that some Fedora release already had such a codename. I decided to choose the current name Cassandra because it would be the name embodying the beauty of the distro look and the perfection of its base architecture, while giving everyone the sign that this is the architecture of the future.
Any other suggestions are welcome, though. While the community base of the project and users amount aren't that large it doesn't matter in fact, and sometimes we can run a great vote but for now, I'd suggest to concern on more important things. :)
P.S. The 3200 build (according to the current version numbering) is going to be tested tomorrow on a brand new Lenovo Thinkpad where any Ubuntu version just refuses to run X due to an unknown issue. The Thinkpad is not mine so possibly it will be the first Cassandra fieldtest on a non-common (as far as I see) hardware.
-
OK. I think we have all made our respective points of view known.
I have let this go on long enough and no one was censured.
It is now becoming off topic, not about Tiny Core but about a remix.
This topic is not going to become free forum hosting for a remix as per our forurm rules.
If you wish to announce your remix and if it meets the GPL requirements then...
As per forum rules we have established an appropriate topic.
http://forum.tinycorelinux.net/index.php?board=43.0