Difference between revisions of "COMP 3000 2011 Report: TinyMe"

From Soma-notes
Jump to navigation Jump to search
Line 35: Line 35:
[[File:Tinyme8.png|thumb|right|<b>(Figure 1)</b> Desktop.]]
[[File:Tinyme8.png|thumb|right|<b>(Figure 1)</b> Desktop.]]


The default desktop is very basic, as are most things with TinyMe. There are some system stats in the upper right hand corner, the taskbar at the bottom with system clock and assorted icons. The wallpaper is handled by Nitrogen and the system stats appear to be a permanent part of it <b>(Figure 1)</b>. LXPanel handles the taskbar(s), and provides great customizability for those who want it while remaining easy to use.
The default desktop is very basic, as are most things with TinyMe. There are some system stats in the upper right hand corner, the taskbar at the bottom with system clock and assorted icons. The wallpaper is handled by Nitrogen and the system stats appear to be a permanent part of it <b>(Figure 1)</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.  


=== 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.


=== User Evaluation ===
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'.
 
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 became rather easy, but getting to that point was not so.


== Part II ==
== Part II ==

Revision as of 20:52, 18 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 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.

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 1) Desktop.

The default desktop is very basic, as are most things with TinyMe. There are some system stats in the upper right hand corner, the taskbar at the bottom with system clock and assorted icons. The wallpaper is handled by Nitrogen and the system stats appear to be a permanent part of it (Figure 1). 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.

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'.

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, trivial packages for programs like abiword or the Smart manager itself are listed right next to packages for input/output drivers and development tools.

Major Package Versions

Software Package Name Version Upstream Source Vintage Modifications Details/Rationale
Kernel kernel-firmware 2.6.33.2-1 http://unity-linux.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 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: UNIX shell
RPM rpm 5.2.1-0.20091118.10 http://rpm.org/ Appears up to date Modifications appear to have been made to prepare the repository for 64-bit packages Package management system
Rationale: package manager
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: 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: lightweight
Openbox openbox 3.4.11.2-1 http://openbox.org/ Up to date <ref>Openbox: News: openbox.org 2010-2-8 (Last accessed 2011-11-16)</ref> There is nothing that indicates this has been modified Highly configurable, next generation window manager with extensive standards support
Rationale: program for managing windows

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 initrd 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(initrd) that was in memory is copied into RAM and mounted. This initrd 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 kernel_thread to start the init function. This starts the first user-space applications which are compiled with the standard C library. Once /sbin/init has been started, the login screen is displayed. <ref>Inside the Linux boot process ibm.com 2006-5-31 (Last accessed 2011-11-16)</ref>

References

<references />