Comp 3000 2011 Report: Tiny Core Linux

From Soma-notes
Jump to navigation Jump to search

Part 1

Background

The name of the distribution that will be discussed is called Tiny Core Linux. The goal of this distribution is the creation of a nomadic ultra-small graphical desktop operating system that is capable of booking from CD-ROM, pen drive, or from a hard drive. Its target audience is mainly for people who want a fast powerful and flexible operating system. Though it can be used without a thorough knowledge of Linux the more the know the more useful it is.Tiny Core is made up of contributors and volunteers its main founder was Robert Shingledecker and with other developers, administrators and graphic designers they were able to come up with what is know know as Tiny Core Linux. Tiny core is available for download on their website. <http://distro.ibiblio.org/tinycorelinux/>.

Installation/Start up

Tiny Core can be downloaded and installed in several ways. Tiny Core can be downloaded as a stand alone program which needs TCB to run and includes a desktop. MicroCore Linux includes a CLI. And last but not least MultiCore which includes TinyCore, MicroCore, networking tools and an installer. so the more advanced user one is the more advanced the download so everyone's need is meet. Tiny Linux can be installed in many ways below will outline some of those ways It can be installed from cloud mode. This loads the distribution from a CD. Any application that a made through this mode will be saved to memory, one downside though is that applications will have to be reloaded with every reboot.

  • To install insert CD and press OK

It can be installed straight to a USB stick making it portable. Just remember to back it up before shut down or all data will be lost.

  • To install in the banner at start up type tinycore waitusb=10 and hit enter. Look for the mnt/ directory and click the plus sign. The USB should be listed at sda1. Click on the drive and create a new directory name it tce/. This will be the default save location for all applications and files . Upon start-up this directory will be found automatically

It can also be installed from a USB stick boot mode but make sure no important documents are on the UBS because it will be deleted upon install

  • To install in the banner type tinycore waitusb=10 and hit enter. Look for the icon that has a screwdriver displayed on it. When prompted click the HD/USB install button.
Startup desktop

Basic Operations

Some basic operations

  • To install an application select the appbrowser icon .Look for the needed applicatrion to install and hot go.
  • To open the editor type editor and a file name if needed.
  • To view minimized programs or to switch between programs right click and select the needed program.
  • The user also has the ability to create a new desktop and this can be done my right clicking the current desktop.
  • The control panel can be accessed from the bottom of the screen from the panel button.
  • top can be accessed by right clicking and selecting the system tools option then selecting the top option instead of going through the terminal
Some applications running

Usage Evaluation

Using Tiny Core takes a little getting to use. however on a scale of 1 to 10 transitioning to using Tiny Core after using a Linux distribution like Ubuntu or even windows is a 5. mainly because the set up a different from what i am usually used to. Everything in Tiny Core Linux is arrange out of the norm this set up if very similar to a mac with the icons at the bottom of the page. The control panel view is a lot different from what I am used to

Part 2

Software Packages

The packaging format used in Tiny Core is through the appbrowser. It has to be connected to the internet before any extensions can be installed. It should be noted that because tiny core is so small it does not come with most standard programs like an internet browser, or a music player but it is easily accessible to be installed through the appbrowser.To access the appbrowser simply right click on the desktop hover over systems tools and the appbrowser option should then be visible. Click the connect button to set up a connection and all available extensions should be visible considering the internet connection is good.Then clicking on an extension will download it and all its dependencies. Deleting an extension is just as uncomplicated as installing one. open app audit, then dependencies, then build reporting database, select the application that you want removes click dependencies then mark for deletion. the computer has to be restarted for the changes to take effect. The most intuitive way to update an extension is through terminal with the key word tce-update. The extension library is extensive for such a little distribution and can be found at this link<ref>http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/tcz_2x.html</ref> Finding extensions can also be done through terminal using the keyword ab or ab search_term. starting an application takes the command tce-run app_name. and loading a command can be done through tce-load -i app_name

Major Packages

LIBC

  • Tiny Core uses version 2.13 by Roland McGrath et al. The current version available is version 2.14 so Tiny Core is not too far behind[1]

FREE TYPE

  • Tiny Core uses version 2.4.4. the latest version available is 2.4.8
  • It was probably chosen because free type is made to be small, efficient, and portable and would be very compatible with a small system.[2]

LINUX KERNEL

  • Tiny Core is run kernel version 3.0.3 the latest version is 3.1.1
  • The developers have used a kernel that had the basic patched needed to have a running kernel
  • This is probably because to reduce the size of the environment only the basics are needed. If a user wishes to further enable their kernel they can add necessary patches to fit their needs. This link shows how that can be done[3]

Module -INIT-TOOLS

  • Tiny core runs version 3.11.1 of module-init-tools the latest version is 3.16
  • it is run on tiny core because it would make sense to have a program to handle inserting, loading and removing kernel modules for Linux [4]

UDEV

  • runs version 173 on Tiny Core the latest version is 174
  • udev provides a dynamic /dev directory and persistent device names. This is useful for Tiny Core because users have the choice of running TC right from a USB stick and a program like this would be useful for that [5]

XORG-SERVER

  • Tiny Core runs version 6.6.1 the latest version is 7.6
  • this package is useful in Tiny Core because it provides the ability to package a release for free open source software.[6]

XZ

  • Tiny Core runs version 5.0.0 and the latest version is 5.0.3
  • this package enables data compression which is needed for tiny core because it is a small distributions that needs to be able to do a lot.[7]

BUSYBOX

  • Tiny Core uses version 1.19.2 the latest version is 1.19.3
  • Tiny Core adopted busy box because it combines version of common UNIX utilities into one. It is also optimized for size so it is able to run on small systems with the ease of functionality of the whole parts.[8]

Initialization

Tiny Core has many loaders in common with grub .97 and isolinux but grub2 is supported. /etc/init.d is used to load tiny core but it does not start Tiny Core it sets up a Linux virtual console to auto log in the user with a re spawn after that the usual shell inits run from /etc/profile. Then the file ".xsession" in /home/tc us called. It starts Tiny Core and the Tiny Core desktop. it then auto starts any custom scripts in home/tc/.X.d. The exact sequence is listed below.

[BootLoader → bzImage → tinycore.gz] → init → inittab → init.d/rcS → tc-config → ( dhcp.sh & tce-setup & restore.sh & bootsync.sh → bootlocal.sh) → init → /root/.profile → /home/tc/.profile →→→ /usr/bin/startx → ( xsetup.sh) → /home/tc/.xsession → ( Xvesa, jwm & wbar & /home/tc/.X.d/*.* )

Part 3

Background

The name of the distribution that will be discussed is called Tiny Core Linux. The goal of this distribution is the creation of a nomadic ultra-small graphical desktop operating system that is capable of booking from CD-ROM, pen drive, or from a hard drive. Its target audience is mainly for people who want a fast powerful and flexible operating system. Though it can be used without a thorough knowledge of Linux the more the know the more useful it is.Tiny Core is made up of contributors and volunteers its main founder was Robert Shingledecker and with other developers, administrators and graphic designers they were able to come up with what is know know as Tiny Core Linux.Tiny Core is approximately 10- 12 MB. Tiny Core is based on Damn Small Linux which is a 50MB business card size linux distribution. <ref>. TCZ Repository- Tiny Core Linux. N.p., 2009. Web. 19 Dec 2011. <http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/tcz_2x.html>. </ref>Tiny core is available for download on their website. <http://distro.ibiblio.org/tinycorelinux/>.

Installation/Start up

Tiny Core can be downloaded and installed in several ways. Tiny Core can be downloaded as a stand alone program which needs Tiny Core Base(TCB) which is the regular 10MB Tiny Core system that includes a desktop mode. MicroCore Linux is an even smaller system using only 6MB that is entirely console base. MultiCore is a more advanced system which includes TinyCore, MicroCore, networking tools and an installer.These different version are to meet a wider range of users, install a version that meets ones experience and that can challenge a user at the same time. Tiny Linux can be installed in many ways that will be outlined below :<ref>. "Quick and Easy Overview." Tiny Core Linux. N.p., 2009-2011. Web. 19 Dec 2011. <http://distro.ibiblio.org/tinycorelinux/overview.html>. </ref> It can be installed from cloud mode. This loads the distribution from a CD. Any application that a made through this mode will be saved to memory, one downside though is that applications will have to be reloaded with every reboot.

  • To install insert CD and press OK

It can be installed straight to a USB stick making it portable. Just remember to back it up before shut down or all data will be lost.

  • To install in the banner at start up type tinycore waitusb=10 and hit enter. Look for the mnt/ directory and click the plus sign. The USB should be listed at sda1. Click on the drive and create a new directory name it tce/. This will be the default save location for all applications and files . Upon start-up this directory will be found automatically

It can also be installed from a USB stick boot mode but make sure no important documents are on the UBS because it will be deleted upon install

  • To install in the banner type tinycore waitusb=10 and hit enter. Look for the icon that has a screwdriver displayed on it. When prompted click the HD/USB install button.


Installation
Installation
Startup desktop

Basic Operations

Some basic operations

  • To install an application select the appbrowser icon .Look for the needed application to install and hit go.
  • To open the editor type editor in terminal and a file name if needed.
  • To view minimized programs or to switch between programs right click and select the needed program.
  • The user also has the ability to create a new desktop and this can be done my right clicking the current desktop.
  • The control panel can be accessed from the bottom of the screen from the panel button.
  • top can be accessed by right clicking and selecting the system tools option then selecting the top option instead of going through the terminal

To install Firefox right click the desktop and select the appBrower.Click connect then search for Firefox then click to install firefox.tcz click go and wait for the status bar at the bottom to turn yellow and says OK the Firefox icon will appear at the bottom of the screen with all other icons. It will also be accessible by right clicking and hovering over the applications tab

To change the desktop picture save the image to /opt/backgrounds right click the desktop in system tools select the control panel. In the window click wallpaper. At the top on the window select background image a list of all images in /opt/background will appear. Select the desired image then select the size and hit done.

Some applications running

Usage Evaluation

Using Tiny Core takes a little getting used to. On a scale of 1 to 10 transitioning to using Tiny Core after using a Linux distribution like Ubuntu or even Windows is a 5. Mainly because the set up a different from what I am usually used to. Everything in Tiny Core Linux is arranged out of the norm this set up if very similar to a Mac with the icons at the bottom of the page. The control panel view is a lot different from what I am used to. I found Tiny Core quite complicated to install while already running windows, so I can it from virtual box. Running it from virtual box I found the mouse slow and unresponsive at times. This though might be because it was not running natively.Tiny Core meet its requirement very nicely in that it booted in less that 30 seconds and true to its work it only came with applications that were needed to have a full boot. In just browsing the library one can see the extensive extensions that can be installed to make Tiny Core meet the specific need of every user that has the chance of using the system

Software Packages

The packaging format used in Tiny Core is through the appbrowser. It has to be connected to the Internet before any extensions can be installed. It should be noted that because Tiny Core is so small it does not come with most standard programs like an Internet browser, or a music player but can be easily installed through the appbrowser.To access the appbrowser simply right click on the desktop hover over systems tools and the appbrowser option should then be visible. Click the connect button to set up a connection and all available extensions should be visible considering the Internet connection is good.Then clicking on an extension will download it and all its dependencies. Deleting an extension is just as uncomplicated as installing one. open app audit, then dependencies, then build reporting database, select the application that you want removed click dependencies then mark for deletion. The computer has to be restarted for the changes to take effect. The most intuitive way to update an extension is through terminal with the key word tce-update. Tiny Core has an extensive library for available extensions so that each user can customize it to their liking.Finding extensions can also be done through terminal using the keyword ab or ab search_term. Starting an application takes the command tce-run app_name. and loading a command can be done through tce-load -i app_name It should be noted that since one of the core concepts of Tiny Core is its fast boot time and extension that are downloaded are only available for current section and are deleted after shutdown. This can be fixed thought in a few easy steps.

By making a directory available from which Tiny Core can access extensions become persistent. At boot up press F2 in the line "tce={hda1|sda1}, specify restore TCE apps directory then once prompted type tinycore tce = qqq where qqq is the drive partition. This only needs to be applied once.

If you are already running Tiny Core you can make extensions persistent without having to restart. Select control Panel at the bottom of the screen select TCE drive and when prompted to select the drive partition for the TCE directory.

Major Packages

Below are some major packages that are on the Tiny Core system

Package TinyCore Version Current Version
Linux Kernel<ref>. "The Linux Kernel Archives." Kernel.org. Linux Kernel Organization, Inc., n.d. Web. 19 Dec 2011. <http://www.kernel.org/>.

/</ref>

3.0.3 3.1.1
glibc<ref>. "GNU C Library." GNU.org. N.p., 06/09/2011. Web. 19 Dec 2011. <http://www.gnu.org/software/libc/libc.html>.

</ref>

2.13 2.14
Free Type<ref>. "The Free Type Project." sourceforge.net. N.p., 04/07/2010. Web. 19 Dec 2011. <http://freetype.sourceforge.net/freetype2/index.html>.

</ref>

2.44 2.48
Module -Init Tools<ref>Masters, Jon. "module-init-tools." Kernel.org. N.p., 2/03/2010. Web. 19 Dec 2011. <https://modules.wiki.kernel.org/>.

</ref>

3.11.1 3.16
Udev<ref>. "udev." Wikipedia.org. Wikipedia Foundation Inc, 20/11/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/Udev>.

</ref>

173 174
X-Org Server<ref>Coopersmith, Alan. "X.Org Foundation." freedesktop.org. N.p., 20/06/2011. Web. 19 Dec 2011. <http://xorg.freedesktop.org/wiki>.

/</ref>

6.61 7.6
XZ<ref>. "xz utils." tukaani.org. N.p., n.d. Web. 19 Dec 2011. <http://tukaani.org/xz/>.

/</ref>

5.0.0 5.0.3
BusyBox<ref>Andersen, Erik. " busy box." busybox.net. N.p., 199-2008. Web. 19 Dec 2011. <http://busybox.net/about.html>.

/</ref>

1.19.2 1.19.3
Flwm Desktop<ref>Spitzak, Bill. "The Fast Light Window Manager." sourceforge.net. N.p., 2006. Web. 19 Dec 2011. <flwm.sourceforge.net>.

/</ref>

1.02
sh shell<ref>. "Bourne Shell." Wikipedia.org. N.p., 10/12/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/Bourne_shell>.

</ref>


The Linux kernel is the building block of any Unix like operating system and Tiny Core has one. The kernel is what controls how programs are run and in what order they are executed so any good Linux distro would have one to have an efficient operating system.<ref>. "Linux Kernel." Wikipedia.org. N.p., 10/12/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/Linux_kernel>. </ref> The next thing a good system has is a good C library Tiny Core comes equipped with the GNU C Library or glibc. Glibc is a top choice for other libraries because it supports many applications and has a standards compliance and it complete<ref>. "GNU C Library." Wikipedia.org. N.p., 25/11/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/GNU_C_Library>. </ref>. Another package that is included with Tiny Core is module init tools. It is a utility for loading and managing kernel modules. This is useful in Tiny Core because it makes it easier for updates that are needed to the kernel.<ref>Masters, Jon. "module-init-tools." Kernel.org. N.p., 2/03/2010. Web. 19 Dec 2011. <https://modules.wiki.kernel.org/>.</ref>. X Org sever is an open source implementation of the X windows system<ref>Coopersmith, Alan. "X.Org Foundation." freedesktop.org. N.p., 20/06/2011. Web. 19 Dec 2011. <http://xorg.freedesktop.org/wiki>. /</ref> which is a software system that provides a graphical user interace<ref>. "X Window System." Wikipedia.org. N.p., 19/12/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/X_Window_System>. </ref>this is key to Tiny Core because it is not a console based system and needs some kind of GUI interface. This GUI is incorporated using fast light window manager (FLWM) whose aim is to occupy as little screen space as possible. This is key in Tiny Core because flwm is really small and fast and Tiny Core is a small system so having flwm does not take up a lot of the systems space<ref>Spitzak, Bill. "The Fast Light Window Manager." sourceforge.net. N.p., 2006. Web. 19 Dec 2011. <flwm.sourceforge.net>. /</ref>Busybox combines versions of common Unix utilities into a single executable that can then be run it was made with size optimization and limited resources in mind and it perfect for Tiny Core because it is small and does not have a lot of applications at first download so something like busy box can run without dependancies<ref>Andersen, Erik. " busy box." busybox.net. N.p., 199-2008. Web. 19 Dec 2011. <http://busybox.net/about.html>. /</ref> Udev which is a linux kernel device manager is native to Tiny Core.it provides a dynamic /dev directory and persistent device names. This is useful for Tiny Core because users have the choice of running TC right from a USB stick and a program like this would be useful for that. Also since users have the choice of saving persistant data for multiple user this would be a great program to implement it with.<ref>. "udev." Wikipedia.org. Wikipedia Foundation Inc, 20/11/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/Udev>. </ref>. XZ is another native Tiny Core system its goal is to format compresses files with a high compression ratio.<ref>. "xz utils." tukaani.org. N.p., n.d. Web. 19 Dec 2011. <http://tukaani.org/xz/>. /</ref>. Free type is a font engine that is costomizable, small and effecient and effective in more than one aspect. it is ueful in Tiny Core becasue of its size. <ref>. "The Free Type Project." sourceforge.net. N.p., 04/07/2010. Web. 19 Dec 2011. <http://freetype.sourceforge.net/freetype2/index.html>. </ref>.Last but not least Tiny Core uses a sh shell which is a bourne shell which provides a structured system and enables scripting. It is key in Tiny Core becasue all Linux systems must have a shell type<ref>"Bourne Shell." Wikipedia.org. N.p., 10/12/2011. Web. 19 Dec 2011. <http://en.wikipedia.org/wiki/Bourne_shell>. </ref>. Running rpm -l list all installed packages and their versions.However when run on Tiny Core the only package information this is shown is busy box with a multi-call binary.

Initialization

Tiny Core has many loaders in common with grub .97 and isolinux but grub2 is supported. /etc/init.d is used to load tiny core but it does not start Tiny Core it sets up a Linux virtual console to auto log in the user with a re spawn after that the usual shell inits run from /etc/profile. Then the file ".xsession" in /home/tc us called. It starts Tiny Core and the Tiny Core desktop. it then auto starts any custom scripts in home/tc/.X.d. The exact sequence is listed below.

[BootLoader → bzImage → tinycore.gz] → init → inittab → init.d/rcS → tc-config → ( dhcp.sh & tce-setup & restore.sh & bootsync.sh → bootlocal.sh) → init → /root/.profile → /home/tc/.profile →→→ /usr/bin/startx → ( xsetup.sh) → /home/tc/.xsession → ( Xvesa, jwm & wbar & /home/tc/.X.d/*.* )

References

<references>