COMP 3000 2011 Report: TinyMe: Difference between revisions
Line 8: | Line 8: | ||
=== Installation/Startup === | === Installation/Startup === | ||
Upon obtaining the ISO, you must choose one of two installation routes: real or virtual. | 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. | ||
<b>Real Installation</b> | <b>Real Installation</b> | ||
1. Burn the ISO to a CD. | |||
2. Insert the CD into the machine. | |||
3. Boot from CD. | |||
<b>Virtual Installation</b> | <b>Virtual Installation</b> | ||
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, you are given the login information. 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. The specified account is then logged in and the desktop is presented. TinyMe is now fully functional on the machine. | |||
== Part II == | == Part II == |
Revision as of 22:38, 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
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, you are given the login information. 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. The specified account is then logged in and the desktop is presented. TinyMe is now fully functional on the machine.
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 />