COMP 3000 2011 Report: TinyMe: Difference between revisions

From Soma-notes
Jaze (talk | contribs)
Jaze (talk | contribs)
 
(40 intermediate revisions by the same user not shown)
Line 3: Line 3:
=== Background ===
=== Background ===


TinyMe is an extremely lightweight Linux distribution based on Unity and Mandriva. Note that it is "TinyMe" and not "TinyME" as that would cause unwanted reminiscence of WinME. It was developed by KDulcimer and Gettinther with help from the Unity Linux development team to be as bloat and lag-free as possible. It exists to ease the installation of Unity Linux on older computers and provide a minimal environment for people who like fast/light systems. Unlike other Linux distributions, TinyMe is a rolling release, so once installed only rare circumstances would force a re-installation. There is currently no stable release version of the 250MB distribution, however there is a [http://tinymelinux.com/doku.php/test:download non-stable release] on their website and a LiveCD with an older version can be purchased from [http://on-disk.com/index.php?manufacturers_id=71 On-Disk.com]. The latest version boasts lightweight tools such as AbiWord, MuPDF and Parcellite. TinyMe has two planned versions, the Acorn release has programs included which are fitted for a minimalist distribution and is the only version currently available, while the proposed Droplet release would allow you to choose your programs. As of 06-04-2011 TinyMe is in hibernation due to the lead developer KDulcimer taking some personal time off. However, there is talk of revival and basing it on Linux Mint.
TinyMe is an extremely lightweight Linux distribution based on Unity and Mandriva. Note that it is "TinyMe" and not "TinyME" as that would cause unwanted reminiscence of WinME. It was developed by KDulcimer and Gettinther with help from the Unity Linux development team to be as bloat and lag-free as possible. It exists to ease the installation of Unity Linux on older computers and provide a minimal environment for people who like fast/light systems. Unlike other Linux distributions, TinyMe is a rolling release, so once installed only rare circumstances would force a re-installation. There is currently no stable release version of the 250MB distribution, however there is a [http://tinymelinux.com/doku.php/test:download non-stable release] on their website and a LiveCD with an older version can be purchased from [http://on-disk.com/index.php?manufacturers_id=71 On-Disk.com]. The latest version boasts lightweight tools such as AbiWord, MuPDF and Parcellite. TinyMe has two planned versions, the Acorn release has programs included that are fitted for a minimalist distribution and is the only version currently available, while the proposed Droplet release would allow you to choose your programs. As of 06-04-2011 TinyMe is in hibernation due to the lead developer KDulcimer taking some personal time off. However, there is talk of revival and basing it on Linux Mint.


=== Installation/Startup ===
=== Installation/Startup ===
Line 32: Line 32:


=== Basic Operation ===
=== Basic Operation ===
[[File:Tinyme8.png|thumb|right|<b>(Figure 4)</b> Desktop.]]
[[File:Tinyme7.png|thumb|right|<b>(Figure 5)</b> Chickens for Linux.]]
Since TinyMe is targeted at older computers, it was only allotted 256MB of RAM and a single processor for testing using VMware Player. Major slowdowns only occurred when doing something unreasonable such as creating text files millions of characters long. In such cases, the system freezes for a few seconds while the offending program is terminated and then it resumes normal operation.
The default desktop is very basic, as are most things with TinyMe. There are some system stats in the upper right hand corner and the task bar at the bottom with system clock and assorted icons. Task bars are the only places icons are allowed. The wallpaper is handled by Nitrogen and the system stats appear to be a permanent part of it <b>(Figure 4)</b>. LXPanel handles the taskbar(s), and provides great customizability for those who want it while remaining easy to use. Openbox works well as the window manager, being both intuitive and customizable. It is interesting note that there are three options for viewing files: icons, compact list and detailed list, however there are options in preferences for the sizes of both big and small icons.
The start menu contains all the programs that come with the distribution that a normal user would require. Some of the major ones such as Midori, PCMan File Manager and LilyTerm are already on the task bar. They are grouped into six categories depending on their applications. Anything requiring an internet connection is grouped under 'Internet'. Workplace or school related programs are under 'Office'. 'Tools' contains programs that deal with the operating system, such as customization, system tools, managers and terminals as well as basic editors and the calculator. The other three categories are self-explanatory, they each contain programs related to their name.
Under the 'Tools', or on the task bar, is Medit. This little program provides functionality not expected of the system's basic text editor, including a popup terminal window. That means it can be used in place of vi or emacs, so all the editing is done outside the terminal with easy access between the two. It maintains a character count as well as the location of the cursor and the insertion mode in the bottom right corner of the window. It also provides functions such as find and replace, go to line, show line numbers and even allows multiple tabs.
What operating system would be complete without a few games? TinyMe, being the lightweight distribution it is, only provides two games: Sudoku Savant and ChickensForLinux. Sudoku Savant is a standard sudoku game which provides both randomly generated puzzles and the means to make your own. ChickensForLinux <b>(Figure 5)</b> is an apocalyptic shooter where chickens preparing to detonate the planet and you must stop them from running across the screen or it's all over. It is fast-paced, funny and makes up nicely for the lack of other games, although a mouse is highly recommended.
=== User Evaluation ===
Understandably, using Openbox as the session and window manager is the way to go when it comes to lightweight environments, but additional applications are required to handle the tasks that are not covered. LXPanel works well, but Nitrogen is not quite as user-friendly. When attempting to set a new wallpaper, the right-click option did nothing. As was discovered, Nitrogen is separate from Openbox, so any changes to a Nitrogen covered area had to be done by running Nitrogen itself. From there it becomes rather easy, but getting to that point was not so.
Openbox has its own issues when it comes to user-friendliness. While some of the things it provides are quite nice, the one thing it does not is a working search engine. The most immediate issue is that it is located in the 'Tool' drop down menu with the hotkey 'F3'; the norm for the search function is under the 'Edit' menu with the hotkey 'Ctrl+F'. There are some nice options when it comes to searching, such as searching in multiple folders or by file size, but when it comes to clicking 'Find' it rarely displays any files at all. Even searching in a folder with a single file, using the wildcard '*' turns up nothing. Searches can be done manually using some of the sort options, but such a search is extremely limited.
Midori is a great web browser, however there are a couple minor points to mention. By default Midori does not have scripts enabled, and when it starts it displays the last open tabs, but not the session. It also does not highlight the contents of the address bar when it is clicked on. Lastly, when downloading files, Midori warns you when you close the window that the transfer(s) will be cancelled even though they are complete. These problems are minor, but could come up often during everyday use.
Overall, TinyMe lives up to it's claims. It is by no means perfect (there is no GUI for shutting down), but it is hard to argue against a non-stable release.


== Part II ==
== Part II ==
Line 53: Line 76:
   remove <package name>
   remove <package name>


The software catalog is extremely extensive, trivial packages for programs like abiword or the Smart manager itself are listed right next to packages for input/output drivers and development tools.
The software catalog is extremely extensive, almost 800 packages, with trivial ones such as AbiWord or the Smart manager itself listed right next to ones for input/output drivers and development tools.


=== Major Package Versions ===
=== Major Package Versions ===
All package information was obtained by looking at the changelog for each package in the Smart Package Manager. Since the latest release of TinyMe was on 2010-08-20, it is understandable why some of the packages are so out-of-date. At the time, it is assumed most of the packages were as up-to-date as possible.


<table style="width: 100%" border="1">
<table style="width: 100%" border="1">
Line 71: Line 96:
<td>kernel-firmware</td>
<td>kernel-firmware</td>
<td>2.6.33.2-1</td>
<td>2.6.33.2-1</td>
<td rowspan='4'>[http://unity-linux.org/ http://unity-linux.org/]</td>
<td rowspan='4'>[http://www.kernel.org/ http://www.kernel.org/]</td>
<td rowspan='4'>'''Latest version:''' 3.1.1 <ref>[http://www.kernel.org/ The Linux Kernel Archive] kernel.org 2011-11-16 (Last accessed 2011-11-16)</ref><br />1 year and 7 months behind</td>
<td rowspan='4'>'''Latest version:''' 3.1.1 <ref>[http://www.kernel.org/ The Linux Kernel Archive] kernel.org 2011-11-16 (Last accessed 2011-11-16)</ref><br />1 year and 7 months behind</td>
<td rowspan='4'>There is nothing that indicates this has been modified</td>
<td rowspan='4'>There is nothing that indicates this has been modified</td>
Line 140: Line 165:
<td>4.1-1</td>
<td>4.1-1</td>
<td>[http://www.gnu.org/software/bash/bash.html http://www.gnu.org/software/bash/bash.html]</td>
<td>[http://www.gnu.org/software/bash/bash.html http://www.gnu.org/software/bash/bash.html]</td>
<td>'''Latest version:''' 4.2 <ref>[http://tiswww.case.edu/php/chet/bash/bashtop.html Bash] tiswww.case.edu 2011-5-12 (Last accessed 2011-11-16)</ref><br />1 year and 1 month behind</td>
<td>'''Latest version:''' 4.2 <ref>[http://tiswww.case.edu/php/chet/bash/bashtop.html Bash] tiswww.case.edu/php/chet 2011-5-12 (Last accessed 2011-11-16)</ref><br />1 year and 1 month behind</td>
<td>There is nothing that indicates this has been modified</td>
<td>There is nothing that indicates this has been modified</td>
<td>Free software UNIX shell<br />'''Rationale:''' UNIX shell</td>
<td>Free software UNIX shell<br />'''Rationale:''' standard UNIX shell</td>
</tr>
</tr>
<tr>
<tr>
Line 148: Line 173:
<td>rpm</td>
<td>rpm</td>
<td>5.2.1-0.20091118.10</td>
<td>5.2.1-0.20091118.10</td>
<td rowspan='3'>[http://rpm.org/ http://rpm.org/]</td>
<td rowspan='3'>[http://rpm5.org/ http://rpm5.org/]</td>
<td rowspan='3'>Appears up to date</td>
<td rowspan='3'>Appears up to date<ref>[http://rpm5.org/news.php RPM Project News] rpm5.org 2009-7-7 (Last accessed 2011-11-16)</ref></td>
<td rowspan='3'>Modifications appear to have been made to prepare the repository for 64-bit packages</td>
<td rowspan='3'>Modifications appear to have been made to prepare the repository for 64-bit packages</td>
<td rowspan='3'>Package management system<br />'''Rationale:''' package manager</td>
<td rowspan='3'>Package management system<br />'''Rationale:''' package manager used by Unity Linux</td>
</tr>
</tr>
<tr>
<tr>
Line 166: Line 191:
<td>0.2.6-1</td>
<td>0.2.6-1</td>
<td>[http://www.twotoasts.de/index.php?/pages/midori_summary.html http://www.twotoasts.de/index.php?/pages/midori_summary.html]</td>
<td>[http://www.twotoasts.de/index.php?/pages/midori_summary.html http://www.twotoasts.de/index.php?/pages/midori_summary.html]</td>
<td>'''Latest version:''' 0.4.2 <ref>[http://www.twotoasts.de/index.php?/pages/midori_summary.html Midori] twotoasts.de 2011-11-11 (Last accessed 2011-11-16</ref><br />1 year and 5 months behind</td>
<td>'''Latest version:''' 0.4.2 <ref>[http://www.twotoasts.de/index.php?/pages/midori_summary.html Midori] twotoasts.de 2011-11-11 (Last accessed 2011-11-16)</ref><br />1 year and 5 months behind</td>
<td>There is nothing that indicates this has been modified</td>
<td>There is nothing that indicates this has been modified</td>
<td>Lightweight web browser<br />'''Rationale:''' lightweight</td>
<td>Lightweight web browser<br />'''Rationale:''' fast and lightweight</td>
</tr>
</tr>
<tr>
<tr>
Line 186: Line 211:
<td>'''Latest version:''' 0.9.9-rc9 <ref>[http://lilyterm.luna.com.tw/en/changelog.html Lilyterm: Changelog]: lilyterm.luna.com.tw 2011-7-14 (Last accessed 2011-11-16)</ref><br />4 months behind</td>
<td>'''Latest version:''' 0.9.9-rc9 <ref>[http://lilyterm.luna.com.tw/en/changelog.html Lilyterm: Changelog]: lilyterm.luna.com.tw 2011-7-14 (Last accessed 2011-11-16)</ref><br />4 months behind</td>
<td>There is nothing that indicates this has been modified</td>
<td>There is nothing that indicates this has been modified</td>
<td>Terminal emulator designed to be fast and lightweight<br />'''Rationale:''' lightweight</td>
<td>Terminal emulator designed to be fast and lightweight<br />'''Rationale:''' fast and lightweight</td>
</tr>
</tr>
<tr>
<tr>
Line 193: Line 218:
<td>3.4.11.2-1</td>
<td>3.4.11.2-1</td>
<td>[http://openbox.org/ http://openbox.org/]</td>
<td>[http://openbox.org/ http://openbox.org/]</td>
<td>Up to date <ref>[http://openbox.org/wiki/Openbox:News Openbox: News]: openbox.org 2010-2-8 (Last accessed 2011-11-16)</ref>
<td>'''Latest version:''' 3.5.0 <ref>[http://openbox.org/wiki/Openbox:Changelog Openbox: Changelog]: openbox.org 2011-8-1 (Last accessed 2011-11-16)</ref><br />1 year and 3 months behind</td>
</td>
<td>There is nothing that indicates this has been modified</td>
<td>There is nothing that indicates this has been modified</td>
<td>Highly configurable, next generation window manager with extensive standards support<br />'''Rationale:''' program for managing windows</td>
<td>Highly configurable, next generation window manager with extensive standards support<br />'''Rationale:''' lightweight window manager</td>
</tr>
</tr>
</table>
</table>
Line 202: Line 226:
=== Initialization ===
=== Initialization ===


When the system is started up, the processor begins by executing the Basic Input/Output System(BIOS). The BIOS's job is to preform a check of the hardware then search for an active and bootable device in order of preference to load into memory. In this case the device is the hard disk, where the first 512 bytes contain the Master Boot Record (MBR) which is given control by the BIOS once it has been loaded into RAM. The job of the MBR is to find an active partition then load it's boot record into RAM and execute it. The first 446 bytes of the MBR is program code, the next 64 bytes are the partition table, and the final two server as a validation check of the MBR. Once an active partition has been found in the partition table and all other partitions are inactive, it's boot record is loaded and given control. This boot loader's job is to load the Linux kernel. These two boot loaders make up the GRand Unified Bootloader (GRUB), which has the option of displaying available kernels to the user. GRUB does this by booting a boot loader in between the two that understands the file system containing the kernel image. After consulting the file system, the default, or chosen, kernel image and <code>initrd</code> image are loaded into memory and the kernel image is invoked. The kernel image is more of a compressed image than an executable. TinyMe's image is a zImage, meaning it is smaller than 512KB, that was previously compressed with zlib. The head of this image does some minimal hardware setup and then decompressed the kernel image into memory. The initial-RAM disk(<code>initrd</code>) that was in memory is copied into RAM and mounted. This <code>initrd</code> serves as a temporary root file system so the kernel can boot without having to mount any physical disks. Once the kernel finished setting up interupts, performing memory configuration and loading the initial RAM disk, a call is made to <code>kernel_thread</code> to start the <code>init</code> function. This starts the first user-space applications which are compiled with the standard C library. Once <code>/sbin/init</code> has been started, the login screen is displayed. <ref>[http://www.ibm.com/developerworks/linux/library/l-linuxboot/ Inside the Linux boot process] ibm.com 2006-5-31 (Last accessed 2011-11-16)</ref>
[[File:Tinyme9.png|thumb|right| '''Figure 6''' Process tree after startup]]
 
Once the machine is powered, the Basic Input/Output System (BIOS) performs system integrity checks before loading the Master Boot Record (MBR) from <code>/dev/sda</code> and executes it. MBR loads and executes the GRand Unified Bootloader (GRUB). GRUB loads the kernel image from <code>/boot/vmlinuz-2.6.33.6-unity1.lgc</code> and the initrd image from <code>/boot/initrd-2.6.33.6-unity1.lgc</code>, and executes the kernel. The kernel mounts the initrd image specificed by GRUB as the root file system and executes <code>/sbin/init</code>. Init determines the Linux run level from <code>/etc/inittab</code>, in this case 5, and begins executing programs from <code>/etc/rc.d/rc5.d</code>. Only programs that start with an 'S' are executed, and it is done in alphanumeric order. <ref>[http://www.thegeekstuff.com/2011/02/linux-boot-process/ The Linux Boot Process] thegeekstuff.com 2011-2-7 (Last accessed 2011-12-16)</ref>
 
The following daemons are executed in order, but not always immediately following one another. When <code>/etc/rc.d/rc5.d/S12syslog</code> is executed it runs <code>/etc/rc.d/init.d/syslog</code> which initializes the system logging daemon '''syslogd''' and the kernel logging daemon '''klogd'''. These daemons are the facilities used by other daemons for logging messages. When <code>/etc/rc.d/rc5.d/S14acpid</code> is executed it runs <code>/etc/rc.d/init.d/acpid</code> which initializes the acpi daemon '''acpid'''. This daemon's job is to listen and dispatch Advanced Configuration and Power Interface (ACPI) events from the kernel. When <code>/etc/rc.d/rc5.d/S54avahi-daemon</code> is executed it runs <code>/etc/rc.d/init.d/avahi-daemon</code> which initializes the daemon '''avahi-daemon'''. This is a Zero Configuration networking (ZeroConf) daemon, which implements a multicast DNS (mDNS) stack, that allows programs running on a local network with no specific configuration to publish and discover services and hosts. When <code>/etc/rc.d/rc5.d/S90crond</code> is executed it runs <code>/etc/rc.d/init.d/crond</code> which initializes the cron daemon '''crond'''. This daemon is a time-based job scheduler commonly used for system maintenance or administration. Any cron jobs that were left out due to downtime are run by '''anacron'''. Once these and the other daemons <b>(Figure 6)</b> are initialized, the Simple Login Manager (SLiM) <code>/usr/bin/slim.real</code> is executed. <code>/sbin/dhclient</code> and the getties <code>/sbin/mingetty</code> for tty(1-6) are loaded at this time. The Dynamic Host Configuration Protocol (DHCP) Client '''dhclient''' provides a means for configuring network interfaces and '''mingetty''' manages its assigned physical or virtual terminal. After logging in, '''slim.real''' loads the device drivers <code>/etc/X11/X</code> and executes '''ck-launch-session'''. This starts '''openbox''' <code>/usr/bin/openbox</code> which loads the task bar '''lxpanel''', the system monitor '''conky''' and the library <code>/usr/lib/menu-cached</code>, which speeds up menu generation. Finally, the desktop is presented.


== References ==
== References ==
<references />
<references />

Latest revision as of 01:28, 20 December 2011

Part I

Background

TinyMe is an extremely lightweight Linux distribution based on Unity and Mandriva. Note that it is "TinyMe" and not "TinyME" as that would cause unwanted reminiscence of WinME. It was developed by KDulcimer and Gettinther with help from the Unity Linux development team to be as bloat and lag-free as possible. It exists to ease the installation of Unity Linux on older computers and provide a minimal environment for people who like fast/light systems. Unlike other Linux distributions, TinyMe is a rolling release, so once installed only rare circumstances would force a re-installation. There is currently no stable release version of the 250MB distribution, however there is a non-stable release on their website and a LiveCD with an older version can be purchased from On-Disk.com. The latest version boasts lightweight tools such as AbiWord, MuPDF and Parcellite. TinyMe has two planned versions, the Acorn release has programs included that are fitted for a minimalist distribution and is the only version currently available, while the proposed Droplet release would allow you to choose your programs. As of 06-04-2011 TinyMe is in hibernation due to the lead developer KDulcimer taking some personal time off. However, there is talk of revival and basing it on Linux Mint.

Installation/Startup

(Figure 1) Basic setup.
(Figure 2) Login information.
(Figure 3) Login screen.

Upon obtaining the ISO, you must choose one of two installation routes: real or virtual. A real installation would install TinyMe as the operating system for the machine, replacing the previous operating system if there was one. A virtual installation would use a virtualization program such as VMWare Player or VirtualBox to create a virtual machine with TinyMe as the operating system, all on top of the existing operating system.

Real Installation

1. Burn the ISO to a CD.

2. Insert the CD into the machine.

3. Boot from CD.

Virtual Installation

1. Create a virtual machine using the ISO.

2. Power the new machine.

Allow the system to set itself up until you are prompted with choosing a language. After you choose a language, timezone and keyboard layout (Figure 1), you are given the login information (Figure 2). The root account has username and password 'root', and the guest account has username and password 'guest'. Click login and enter the desired information into the login screen (Figure 3). The specified account is then logged in and the desktop is presented. TinyMe is now fully functional on the machine.

Basic Operation

(Figure 4) Desktop.
(Figure 5) Chickens for Linux.

Since TinyMe is targeted at older computers, it was only allotted 256MB of RAM and a single processor for testing using VMware Player. Major slowdowns only occurred when doing something unreasonable such as creating text files millions of characters long. In such cases, the system freezes for a few seconds while the offending program is terminated and then it resumes normal operation.

The default desktop is very basic, as are most things with TinyMe. There are some system stats in the upper right hand corner and the task bar at the bottom with system clock and assorted icons. Task bars are the only places icons are allowed. The wallpaper is handled by Nitrogen and the system stats appear to be a permanent part of it (Figure 4). LXPanel handles the taskbar(s), and provides great customizability for those who want it while remaining easy to use. Openbox works well as the window manager, being both intuitive and customizable. It is interesting note that there are three options for viewing files: icons, compact list and detailed list, however there are options in preferences for the sizes of both big and small icons.

The start menu contains all the programs that come with the distribution that a normal user would require. Some of the major ones such as Midori, PCMan File Manager and LilyTerm are already on the task bar. They are grouped into six categories depending on their applications. Anything requiring an internet connection is grouped under 'Internet'. Workplace or school related programs are under 'Office'. 'Tools' contains programs that deal with the operating system, such as customization, system tools, managers and terminals as well as basic editors and the calculator. The other three categories are self-explanatory, they each contain programs related to their name.

Under the 'Tools', or on the task bar, is Medit. This little program provides functionality not expected of the system's basic text editor, including a popup terminal window. That means it can be used in place of vi or emacs, so all the editing is done outside the terminal with easy access between the two. It maintains a character count as well as the location of the cursor and the insertion mode in the bottom right corner of the window. It also provides functions such as find and replace, go to line, show line numbers and even allows multiple tabs.

What operating system would be complete without a few games? TinyMe, being the lightweight distribution it is, only provides two games: Sudoku Savant and ChickensForLinux. Sudoku Savant is a standard sudoku game which provides both randomly generated puzzles and the means to make your own. ChickensForLinux (Figure 5) is an apocalyptic shooter where chickens preparing to detonate the planet and you must stop them from running across the screen or it's all over. It is fast-paced, funny and makes up nicely for the lack of other games, although a mouse is highly recommended.

User Evaluation

Understandably, using Openbox as the session and window manager is the way to go when it comes to lightweight environments, but additional applications are required to handle the tasks that are not covered. LXPanel works well, but Nitrogen is not quite as user-friendly. When attempting to set a new wallpaper, the right-click option did nothing. As was discovered, Nitrogen is separate from Openbox, so any changes to a Nitrogen covered area had to be done by running Nitrogen itself. From there it becomes rather easy, but getting to that point was not so.

Openbox has its own issues when it comes to user-friendliness. While some of the things it provides are quite nice, the one thing it does not is a working search engine. The most immediate issue is that it is located in the 'Tool' drop down menu with the hotkey 'F3'; the norm for the search function is under the 'Edit' menu with the hotkey 'Ctrl+F'. There are some nice options when it comes to searching, such as searching in multiple folders or by file size, but when it comes to clicking 'Find' it rarely displays any files at all. Even searching in a folder with a single file, using the wildcard '*' turns up nothing. Searches can be done manually using some of the sort options, but such a search is extremely limited.

Midori is a great web browser, however there are a couple minor points to mention. By default Midori does not have scripts enabled, and when it starts it displays the last open tabs, but not the session. It also does not highlight the contents of the address bar when it is clicked on. Lastly, when downloading files, Midori warns you when you close the window that the transfer(s) will be cancelled even though they are complete. These problems are minor, but could come up often during everyday use.

Overall, TinyMe lives up to it's claims. It is by no means perfect (there is no GUI for shutting down), but it is hard to argue against a non-stable release.

Part II

Software Packaging

Software packaging for TinyMe is handled by Smart Package Manager, using the RPM package format. Smart also supports DEB and Slackware packaging formats if the user chooses to use them. A list of all packages currently installed on the system can be found by entering smart info into the command-line, info into the Smart shell, or on the Smart GUI. The Smart shell can be opened by entering su -c 'smart --shell' into the command-line.

Packages can only be added from the command-line or the Smart shell by entering the command:

 su -c 'smart install <package name>'

or

 install <package name>

If installing from a url or a local disk, <package name> would be replaced with <url> or <path/to/rpm>, respectively.

Packages can be removed by using the GUI by right clicking on them and choosing remove, or by entering this command into the command-line or Smart shell:

 su -c 'smart remove <package name>'

or

 remove <package name>

The software catalog is extremely extensive, almost 800 packages, with trivial ones such as AbiWord or the Smart manager itself listed right next to ones for input/output drivers and development tools.

Major Package Versions

All package information was obtained by looking at the changelog for each package in the Smart Package Manager. Since the latest release of TinyMe was on 2010-08-20, it is understandable why some of the packages are so out-of-date. At the time, it is assumed most of the packages were as up-to-date as possible.

Software Package Name Version Upstream Source Vintage Modifications Details/Rationale
Kernel kernel-firmware 2.6.33.2-1 http://www.kernel.org/ Latest version: 3.1.1 <ref>The Linux Kernel Archive kernel.org 2011-11-16 (Last accessed 2011-11-16)</ref>
1 year and 7 months behind
There is nothing that indicates this has been modified Standard Linux kernel
Rationale: standard kernel for a Linux system
kernel-firmware-extra 2010108-1
kernel-headers 2.6.33.4-1
kernel-legacy-latest 2.6.33.6
Glibc glibc 6:2.11.1-8 http://www.gnu.org/software/libc/ Latest version: 2.4 <ref>GNU C Library gnu.org 2011-6-9 (Last accessed 2011-11-16)</ref>
5 months behind
There is nothing that indicates this has been modified Library that defines basic facilities
Rationale: standard C library
glib2.0-common 2.24.1-1
libglibmm2.4_1 2.22.1-1
perl-Glib 1.222-0.2
X.org xinitrc 2.4.19-20 http://www.x.org/wiki/ Appears up to date Modifications appear to have been made for use with Mandriva and for importation to Unity Computer software system and network protocol that provides a basis for GUIs and rich input device capability for networked computers
Rationale: GUI foundation
xkbutils 1.0.2-1
Gtk+ gtk+2.0 r2.20.1-1 http://www.gtk.org/ Latest version: 2.24.8 <ref>GTK+ 2.24.8 gtk.org 2011-11-10 (Last accessed 2011-11-16)</ref>
1 year and 6 months behind
There is nothing that indicates this has been modified Multi-platform toolkit for creating graphical user interfaces
Rationale: GUI toolkit
libgtkmm2.4_1 2.17.1-1
Bash bash 4.1-1 http://www.gnu.org/software/bash/bash.html Latest version: 4.2 <ref>Bash tiswww.case.edu/php/chet 2011-5-12 (Last accessed 2011-11-16)</ref>
1 year and 1 month behind
There is nothing that indicates this has been modified Free software UNIX shell
Rationale: standard UNIX shell
RPM rpm 5.2.1-0.20091118.10 http://rpm5.org/ Appears up to date<ref>RPM Project News rpm5.org 2009-7-7 (Last accessed 2011-11-16)</ref> Modifications appear to have been made to prepare the repository for 64-bit packages Package management system
Rationale: package manager used by Unity Linux
rpm-helper 0.23.1-1
rpmorphan 1.8-2
Midori midori 0.2.6-1 http://www.twotoasts.de/index.php?/pages/midori_summary.html Latest version: 0.4.2 <ref>Midori twotoasts.de 2011-11-11 (Last accessed 2011-11-16)</ref>
1 year and 5 months behind
There is nothing that indicates this has been modified Lightweight web browser
Rationale: fast and lightweight
Medit medit 0.9.4-3 http://mooedit.sourceforge.net/ Latest version: 1.0.93 <ref>Medit Source Code bitbucket.org/medit 2011-10-22 (Last accessed 2011-11-16)</ref>
1 year and 11 months behind
There is nothing that indicates this has been modified Programming and around-programming text editor
Rationale: basic text editor
Lilyterm lilyterm 0.9.9-0.pre7.1 http://lilyterm.luna.com.tw/ Latest version: 0.9.9-rc9 <ref>Lilyterm: Changelog: lilyterm.luna.com.tw 2011-7-14 (Last accessed 2011-11-16)</ref>
4 months behind
There is nothing that indicates this has been modified Terminal emulator designed to be fast and lightweight
Rationale: fast and lightweight
Openbox openbox 3.4.11.2-1 http://openbox.org/ Latest version: 3.5.0 <ref>Openbox: Changelog: openbox.org 2011-8-1 (Last accessed 2011-11-16)</ref>
1 year and 3 months behind
There is nothing that indicates this has been modified Highly configurable, next generation window manager with extensive standards support
Rationale: lightweight window manager

Initialization

Figure 6 Process tree after startup

Once the machine is powered, the Basic Input/Output System (BIOS) performs system integrity checks before loading the Master Boot Record (MBR) from /dev/sda and executes it. MBR loads and executes the GRand Unified Bootloader (GRUB). GRUB loads the kernel image from /boot/vmlinuz-2.6.33.6-unity1.lgc and the initrd image from /boot/initrd-2.6.33.6-unity1.lgc, and executes the kernel. The kernel mounts the initrd image specificed by GRUB as the root file system and executes /sbin/init. Init determines the Linux run level from /etc/inittab, in this case 5, and begins executing programs from /etc/rc.d/rc5.d. Only programs that start with an 'S' are executed, and it is done in alphanumeric order. <ref>The Linux Boot Process thegeekstuff.com 2011-2-7 (Last accessed 2011-12-16)</ref>

The following daemons are executed in order, but not always immediately following one another. When /etc/rc.d/rc5.d/S12syslog is executed it runs /etc/rc.d/init.d/syslog which initializes the system logging daemon syslogd and the kernel logging daemon klogd. These daemons are the facilities used by other daemons for logging messages. When /etc/rc.d/rc5.d/S14acpid is executed it runs /etc/rc.d/init.d/acpid which initializes the acpi daemon acpid. This daemon's job is to listen and dispatch Advanced Configuration and Power Interface (ACPI) events from the kernel. When /etc/rc.d/rc5.d/S54avahi-daemon is executed it runs /etc/rc.d/init.d/avahi-daemon which initializes the daemon avahi-daemon. This is a Zero Configuration networking (ZeroConf) daemon, which implements a multicast DNS (mDNS) stack, that allows programs running on a local network with no specific configuration to publish and discover services and hosts. When /etc/rc.d/rc5.d/S90crond is executed it runs /etc/rc.d/init.d/crond which initializes the cron daemon crond. This daemon is a time-based job scheduler commonly used for system maintenance or administration. Any cron jobs that were left out due to downtime are run by anacron. Once these and the other daemons (Figure 6) are initialized, the Simple Login Manager (SLiM) /usr/bin/slim.real is executed. /sbin/dhclient and the getties /sbin/mingetty for tty(1-6) are loaded at this time. The Dynamic Host Configuration Protocol (DHCP) Client dhclient provides a means for configuring network interfaces and mingetty manages its assigned physical or virtual terminal. After logging in, slim.real loads the device drivers /etc/X11/X and executes ck-launch-session. This starts openbox /usr/bin/openbox which loads the task bar lxpanel, the system monitor conky and the library /usr/lib/menu-cached, which speeds up menu generation. Finally, the desktop is presented.

References

<references />