WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Why would I ever want "Install Tinycore on a Hard Drive"?  (Read 8808 times)

Offline lumosy

  • Newbie
  • *
  • Posts: 12
Why would I ever want "Install Tinycore on a Hard Drive"?
« on: November 22, 2011, 09:37:26 AM »
TCL's Wiki Installing page provides the option of installing Tinycore on a hard drive ("scatter mode").

TCL's Core Concepts page says:
Quote
Frugal is the typical installation method for Tiny Core. That is it is not a traditional hard drive installation, which we call "scatter mode", because all the files of the system are scattered all about the disk. With frugal, you basically have the system in two files, e.g., bzImage and tinycore.gz whose location is specified by the boot loader. Any user files and extensions are stored outside the base OS. 

...users are not encouraged to perform a 'traditional', hard-drive installation of the operating system. Sure, a hard drive installation is possible, but Tiny Core is designed to run from a RAM copy created at boot time. Besides being fast, this protects system files from changes and ensures a pristine system on every reboot. Easy, fast, and simple renew-ability and stability is a principle goal of Tiny Core.

I am now at a decision point whether to install TCL on a VM using Frugal or "scatter", but I can't find any compelling reason to use "scatter".

Still, I would like to make a somewhat informed decision.  :)

What scenario could justify preferring "scatter" over "frugal"?
« Last Edit: November 22, 2011, 12:31:53 PM by lumosy »

Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11039
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #1 on: November 22, 2011, 12:45:09 PM »
Really low-ram scenarios (<36mb). Even then you get to keep both pieces when it breaks ;)
The only barriers that can stop you are the ones you create yourself.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14786
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #2 on: November 22, 2011, 01:01:02 PM »
What scenario could justify preferring "scatter" over "frugal"?

None that I can think of  :)

Offline genec

  • Full Member
  • ***
  • Posts: 240
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #3 on: November 23, 2011, 10:28:35 PM »
What scenario could justify preferring "scatter" over "frugal"?

Another is with an extremely slow CPU (ie a real Intel 486/DX @25-33 MHz) where the decompression of files in the squashFS visibly impacts the user experience unacceptably.  Although there are some who will accept this experience.

I'd recommend trying frugal first to see if it suits.

Offline coreplayer2

  • Hero Member
  • *****
  • Posts: 3020
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #4 on: November 24, 2011, 12:12:37 AM »
Could never figure out the scatter mode,  frugal works for most scenarios, install to drive usually means frugal install I believe,  I mean it has to load from somewhere right?  Frugal install can be on a hdd, usb etc..

Offline gerald_clark

  • TinyCore Moderator
  • Hero Member
  • *****
  • Posts: 4254
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #5 on: November 24, 2011, 12:17:49 AM »
Scatter mode is installing "/" to the hard drive so it boots like normal Linux.

Offline breakstuff

  • Newbie
  • *
  • Posts: 25
    • my weblog
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #6 on: December 07, 2011, 10:27:20 AM »
Scatter mode defeats the whole purpose of TinyCore: A RAM based OS

The answer to your question, is that you might as well pick a different distro if you need a scatter OS.

Offline Guy

  • Hero Member
  • *****
  • Posts: 1089
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #7 on: December 08, 2011, 06:37:08 AM »
Use Frugal.

In addition to what the others have said, some things don't work in scatter mode.
Many people see what is. Some people see what can be, and make a difference.

Offline Guy

  • Hero Member
  • *****
  • Posts: 1089
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #8 on: December 08, 2011, 06:39:46 AM »
Your heading may confuse some people.

Yes do install Tinycore on a hard drive using a frugal installation.
Many people see what is. Some people see what can be, and make a difference.

Offline nim108

  • Full Member
  • ***
  • Posts: 107
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #9 on: February 07, 2012, 06:07:31 PM »
Sorry to bump an old thread but I was curious what form of install (or distribution for that matter) would work best for an embedded setup. I need a very small Linux distribution that can boot up quickly. The Linux distribution would sit on its own partition. Is a traditional "scatter" type distribution better for this? Currently, I am remastering core.gz by unsquashfs'ing my extensions directly into it while also modifying the files of interest. I'm wondering if this would give me the best performance or if I should stick to something like buildroot / openembedded and customize the whole thing myself. It seems to me, however, that TC's philosophy of running straight from RAM would give the fastest performance, but I am not sure it will provide the fastest bootup since it has to first extract the cpio gzipped initrd vs. a "scatter" setup which would already have all the contents of the initrd on the disk. Any input on this would be appreciated.

Offline maro

  • Hero Member
  • *****
  • Posts: 1228
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #10 on: February 07, 2012, 11:16:47 PM »
...  but I am not sure it will provide the fastest bootup since it has to first extract the cpio gzipped initrd vs. a "scatter" setup which would already have all the contents of the initrd on the disk. ...
In my (limited) testing I've only come across very few current Linux systems that are able to boot in even a remotely comparable time to Core (as a floppy based 2.0 system from 10 years ago does not count IMHO). Do you know the time it takes on your system to extract your initrd? How often does your system have to reboot?

Clearly if you grow the initrd too much this extraction time can become significant. OTOH how much time does it take you to troubleshoot if something goes wrong with your scatter installation (because you won't find too much help here, see reply #1). I guess it also depends what tasks your systems will have to perform. There might be applications that are not needed in the initrd and could be loaded a few seconds after the system is already up and running. These extensions would have to be excluded from 'onboot.lst'. They could be either "OnDemand" or are being explicitly loaded via '/opt/bootsync.sh' (possibly delayed pending the network being available or a simple 'sleep' timer).

As I was curious I've just done a quick scatter installation (plus a frugal one) of Core 4.2.1 (using QEMU 0.11.1 with KQEMU on a XP host system). I then booted both with the 'text' boot code and hand-stopped the time it took to get to the shell (including a 2 sec timeout for GRUB). The times were all around the 13.5 sec mark and there was hardly any difference between the scatter and the frugal installation boot times. Any difference was within the variation of me repeating the test. So I'd say my reaction time has much more influence on the result than the choice of the installation method.

In my view the pain of not having much support when things are broken vs. the probably rather small gain in boot time is not worth going down this path, but as always YMMV.


Offline curaga

  • Administrator
  • Hero Member
  • *****
  • Posts: 11039
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #11 on: February 08, 2012, 08:29:42 AM »
Depending on the bios, loading extensions onboot might be faster than unpacking to the initrd.
The only barriers that can stop you are the ones you create yourself.

Offline nim108

  • Full Member
  • ***
  • Posts: 107
Re: Why would I ever want "Install Tinycore on a Hard Drive"?
« Reply #12 on: February 09, 2012, 06:39:31 PM »
Thanks guys, I will stick with TC for now using the "frugal" method which is how it installs TC on HDDs by default. curaga, I've found that extracting the extensions directly into the initrd results in faster boot times than loading extensions onboot (but as you said, this depends on the BIOS, CPU, etc.). I'm using mostly older hardware so doing all the extracting of the extensions beforehand saves time on boot, though it uses more memory. maro, ~10 second boot is very nice and more than acceptable for me, thank you for testing both methods.

I stuck with TC because of the support / regular updates, and more importantly, the modularity. It beats having to create your own embedded distro with buildroot, which is a pain dealing with makefiles and adding packages. I will see what I can do to totally optimize the boot process of TC. What I resorted to doing recently is leaving core.gz untouched, but chainloading this along with a customize.gz (which contains extracted extensions + other conf files) with extlinux so that upgrading is a breeze. This is essentially the same thing as remastering core.gz, but I just chainload another gzipped file that plops all my files over the core.gz initrd. I believe loading them onboot would result in less memory being used, but a slower bootup time, as shown in ixbrian's results here: http://forum.tinycorelinux.net/index.php/topic,7002.msg36936.html.

I will also try suggestions posted in this thread: http://forum.tinycorelinux.net/index.php?topic=11235.0. < 10 seconds boot up is great, but < 5 seconds would be perfect. Hopefully these links help others looking to use this for an embedded platform as well, where speed is essential.