ANNEXURE-SCREEN SHOTS

Posted: December 6, 2012 in Preliminary Studies

xpdf

Xpdf – PDF Reader

terminal

Terminal Window

soundplayer

MUSIC PLAYER

shutdown

SHUT DOWN WINDOW

settingspanel

SETTINGS PANEL

opera

OPERA BROWSER

mtpaint

MTPAINT TOOL

movie playe

VIDEO MIX PLAYER

mounttool

MOUNT TOOL

leafpad

NOTEPAD

installation

HD/TC INSTALL

home.desktop

VAAMANA DESKTOP

apps

APP INSTALLATION

2.3  SYSTEM IMPLEMENTATION AND TESTING

2.3.1 Hardware Used Implementation

System implementation is the final phase i.e., putting the utility into action. Implementation is the state in the project where theoretical design turned into working system. The most crucial stage is achieving a new successful system and giving confidence in new system that it will work efficiently and effectively. The system is implemented only after thorough checking is done and if it is found working in according to the specifications.

It involves careful planning, investigation of the current system and constraints on implementation, design of methods to achieve. Two checking is done and if it is found working according to the specification, major task of preparing the implementation are educating, training the users.

Here It  tested using VMware virtual workstation for creating different scenario’s having hardware storage space varies from 2GB – 8GB and in a personal computer having 500 GB Secondary Storage Space,  also varies the RAM size from 64MB to 3GB for running and implementing the current system. And the test results were so fine. And found that, it maintains its efficiency in all the scenarios without any fall.

 

2.3.2 System Testing

White-Box testing

White-box testing is a test case design method that uses the control structure of the procedural design to derive test cases. White-box testing of software is predicted on close examination of procedural detail.

Black-Box testing

The black-box testing focuses on the functional requirements of the software. It helps to find out errors in incorrect or missing functions, interface errors, errors in data structures, performance errors and initialization and termination errors. The black-box testing is applied during the later stages for the functional requirement evaluation.

 

TEST RESULTS AND CONCLUSIONS

 

3.1       Tests

            Apart from those common steps always referred in system software engineering testing, this project has been done in a different way. After creating iso using the UNIX commands earlier in chapter two, it has been tested,

*          By Using Vmware/Virtual Box Virtual Workstations.

*          Done by creating usb bootable image in usb stick, memory card via usb image creator tools like lili,usbcreator etc..

*          And also tested by writing the image file to cd and boot.

 

Followed by alpha testing by the creators of Vaamana, they fixed some graphical bugs and those tried hard to make the distro into a stable one. After that it has been published online by google cloud storage. Then it was  downloaded by some geeky programmers in government engineering college, and it was very glad to share to the real world of disto lovers that,  beta test too  was also completed with almost zero number of bugs.

Earlier, at the time of re-mastering, each project modules and parts in C shell script inside kernel has been compiled by gcc (gnu graphical compilers) , and fixed the bugs and the time itself.

 

3.2       Results

It was a nice good smelling miracle to us that the project was a success with in a limited time of three months. This has been tested in all the different scenarios and worked very well.

In 64MB small configured old computers,it takes more than 4 minutes to boot, it was some sort of bad impression to the creators,but still it is working very well with swapping enabled.

One unfortunate thing noticed was,it is working very well in personal computers and terminals, but in low graphics ram extended lap top’s results was not that much impressive.

The tcz repositories of firefox and bluefish is not packaged very well , that sometimes causes stalling while downloading ,and causes into an unstable distro version.

 

 

 

3.3       Conclusion

The various process of the construction of the proposed system has all been completed. The entire process was not meant to be a simple solution to the problem that was proposed. Even though the current system solved a lot of problems of the existing systems. Many other reports can be produced and new variations can be drawn up. This is also meant to be the foundation stone for something that heals the largest miracle of excellence.

 

 

3.2       Scope for Future Enhancement

There are a limited number of tcz and scm extension applications available in the tcz repository. There is a need of a GUI application which can convert all type of applications in .gz or .tar form into tcz or scm form. For that as a future work, The Team interested to focus on creating a GUI application extension Creator in Python.

Nowadays a lot of ARM Processor based operating systems like Android; IOS etc. are emerging in the field used in tablets and smart phones. The GEN-X APP Squad were also interested to build a” tiny Vaamana arm based O/s “in the near future.

Install Vaamana Linux in HDD

0.      Introduction

The first step before you install any operating system such as Vaamana is to back up everything on your computer before starting.

Before making the commitment to perform a frugal install you should consider our Quick and Easy Overview. It covers the basics of running Vaamana from CDROM and/or USB pen drive. Most will find learning Vaamana the quick and easy way a better starting point.

But for those who are ready to take the plunge to frugal, this guide shows step by step information on how to install TC via the installer. The older instructions for a manual install are still available, but using the installer is recommended.

The guide assumes you’ve either booted the Vaamana CD, or have installed the tc-install extension (tc-install.tcz)

Keep in mind that this guide is basic and that the user may choose to adapt, remove and/or add parts as desired.

The installer is also applicable to USB sticks and other external media.

Note: If you already have a Linux System booting, then you do not need to make a partition for Vaamana! Vaamana can run in a single directory in your existing Linux installation. To do so, at step 1, uncheck the option to “Install boot loader”. At step 2, select an existing partition, and at Step 3, do not format it. Upon completion you will need to manually configure your existing boot loader.

1. Start the installation

Open the installer:

Fig 1.1: Open the installer

It can also be started via the shell or Run icon by typing “tc-install”.

2. Browse to the install files

Browse to /mnt/device/boot and select the core.gz file. With the source selected, pick the desired install type and target. Here going to install to an empty harddrive.If using an existing partition, tick the box to mark it active to have it bootable.

3. Formatting

Format the new partition. It’s recommended to pick one of the ext* options to support Linux permissions.

4. Boot codes

If you want to use additional boot codes, enter them now. Otherwise leave this blank.The example boot codes set a frame buffer resolution and disable wbar icons.

Note that you can edit them any time after the install in the boot loader’s config file, usually extlinux.conf.

5. Vaamana installation options

If you are installing from the Vaamana CD you will see an additional screen asking which extensions from Vaamana you would like to install. Note that you will only see this screen if running the installer from a Vaamana CD.

6. Vaamana installation options

If you are installing from the Vaamana CD,You should select the cde or tce directory that contains the extensions that you would like installed. For example, if the Vaamana CD is mounted on /mnt/sr0 you should select /mnt/sr0/cde. Note that you will not see this screen if installing from Vaamana.

7. Install

If everything’s OK, click on proceed: The time required will depend on the size of your hard drive.

The time required will depend on the size of your hard drive.

see http://wiki.tinycorelinux.net/wiki:install_hd  for more information 

 

CHAPTER 2

SYSTEM ANALYSIS AND DESIGN

 

 

2.1       SYSTEM ANALYSIS

           

2.1.1    Existing Systems

           

There are no ideal operating system having features like portability, scalability, small in size, easily bootable, ease of installation, deployment and use.The table below offers a quick feature comparison of operating systems

Platform Comparison Chart
System Connectivity Stability Scalability Multi-user Multi-platform POSIX Non-proprietary Avg. Price
Legacy System Poor Good Medium-Huge Yes No No No $$$$
MS-DOS None Poor Small No No No No $100
Windows 3.x Poor Poor Small No No No No $100
Windows 08 Excellent Fair Small-Huge Yes Yes Yes No $240
WindowsNT SMB+ Fair Small-Medium Yes Yes, 2 Some No $500
UNIX Excellent Excellent Small-Huge Yes Yes, Many Yes No $5000
*BSD Good Excellent Small-Large Yes No Yes Yes $50
Linux Excellent Excellent Small-Huge Yes Yes, Many Yes Yes $50

Table 1: Characteristics of Different Operating Systems

2.1.2 Requirements of New System

 

  • It can be able to run in minimum requirement systems (64 MB Ram)
  • It can be portable through a flash drive, or via a CD or via a Memory Card.
  • It can be a complete bootable distro which runs in the random access memory, rather than   loading from the hard disk drive.
  • It can be also possible to install on Hard Disk.
  • It can run on a computer lacking secondary storage and allowing users to rescue data.
  • The base install contains a paint tool, a pdf reader, a multimedia player and a couple of text editors.
  • It can contain an install/upgrade/update option for including other applications.

 


 

2.1.3 Proposed System

 

Every user who is experienced in the existing system may think of a system that may ease the hardness and difficulty of their jobs since a lot of carryovers and transferring are carried out each day.   A lot of effort and money are wasted each day so they think about the new system.   The proposed system is designed in such a way to avoid the limitations of the existing system.

 

The proposed system has been designed to eliminate the major disadvantages of the existing systems. The additional features and facilities provided in the proposed system such as

  • Portability
  • Scalability
  • Small in size
  • Easily bootable
  • Ease of installation, deployment and use

2.1.4    Technical/Economical/Operational Feasibility

                       

Technical feasibility centres around the existing computer system (hardware, software etc.) and to what extend it can support the proposed system addition. Requirements of our system are Minimum 64 MB RAM., Less than 300 MB hard disk space (for installation only).

Considering the Economic feasibility, our proposed system is purely an open source, freely distributable and can be freely downloadable from the website

www.vaamanalinux.wordpress.com

Considering Behavioural feasibility, the people are inherently resisted to change and the computers have been known to facilitate change. But still proposed system having a GUI like commonly used operating systems, it doesn’t require special effort to educate, sell and train the user on the new way of conduction business.

That is proposed system is feasible under the current scenario. But it’s so much difficult to build an ideal system within a couple of months.

2.1.5 System Requirement Specification

Software applications to be used Linux 2.6 Kernel, Enlightenment toolsSquashfs tools, advcomp library, linux Mint as a remastering platform, gzip library for zipping and unzipping. Zcat library for extracting and archiving iso.
Storage Requirements No Hard Disk Storage space required for live running, else it needs less than 300 MB for HD installation.
System Memory Minimum 64 MB RAM
Input Devices Needed Mouse/Touch Pad, Keyboard.
Output Devices to be used Monitor
Network Wi-Fi/LAN Needed For Additional Installation/Updating.

Table 2: System Specification

2.2       SYSTEM DESIGN AND DEVELOPMENT

 

2.2.1    Source Code Modification Module

 

VAAMANA Tiny Linux distro is a small sized, portable Linux O/s with minimum requirements. But it is difficult to build an OS within a short period of time. So planned to edit an existing small sized Linux O/s. For that here referred different small sized Linux distros such as tiny core Linux, LUBANTU, PUPPY LINUX, KOLIBRI, SLAX, and SLITAZ.

Slitaz GNU/Linux is a free operating system working completely in memory from removable media such as a cdrom or USB key. It is light, speedy and fully installable on a hard drive. It is distributed in the form of a LiveCD that you can easily burn to a cdrom and boot from. When the system is running you can eject the LiveCD and use your CD drive for other tasks. But it is not being able to install new software easily apart from stuff in the Slitaz package format and not able to connect to the internet easily.

Puppy Linux includes a wide range of applications: word processors, spreadsheets, internet browsers, games, image editors and many utilities. But it is not stable and not able to connect to the internet.

From these here selected Tiny core Linux. It is very small in size (64 MB). It is flexible enough to be stored and run from usb sticks, a just-about-full CD, or even embedded device. It uses the Linux Kernel and a set of command-line (text interface) tools including busy box. It has a flexible and fully-customizable Graphical User Interface Desktop. Mouse, keyboard, and screen support basically works out-of-the-box thanks to FLWM, the FLTK Desktop. You can also quickly install and try out a variety of other desktops and interfaces including Flux box, XFCE, Open box, Ice WM, Joe’s WM, LXDE, and others. Instead, Tiny Core lets you quickly and easily compare, select, download, and install your preferred web browser, word processor, music player, and other software. It is unusually stable. Every time Tiny Core loads, it is brand-spanking new. That means Tiny Core just doesn’t get a blue screen. Instead of installing programs into the system file space and risking damage to the system files, Tiny Core uses program ‘extensions’ that are re-prepared at each reboot … and they are prepared fast. Tiny Core is under active community development and can find answers and ask questions in the forum, help add extensions (programs) to the Tiny Core Repository.

2.2.2    Graphical User Interface Module

Our goal is the creation of a nomadic ultra-small graphical desktop operating system capable of booting from cdrom, flash drive, or frugally from a hard drive. The desktop boots extremely fast and is able to support additional applications and hardware of the user’s choice. While Tiny Core includes the base Core system and a dynamic FLTK/FLWM graphical user interface, It has been included the window manager Enlightenment which controls the appearance of windows on the screen.

Full Environments Semi-Environment Window Managers Only
KDE GNOME Enlightenment Awesome Blackbox, Openbox, Fluxbox and IceWM
MainObjective Full desktop environment, graphical, easy to use, and targeted at everyone. Full desktop environment, graphical, easy to use, and targeted at everyone. Framework window manager (extensively customizeSuper-minimalistic. Fast, lightweight. Nearly zero library dependencies. Super-minimalistic.
Programming Language Mainly C++, as Qt is written in C++ Mainly C, as GTK+ is written in C C C, Lua C++, Openbox uses C
Size 210 MB 180 MB DR16: ~3 MB, DR17: ~15MB ~700 KB with 20,000 lines of code Blackbox: ~350 KB, Fluxbox: ~800 KB

Table 3: Comparison of Different Window Managers

Enlightenment allows you to have a grid of workspaces called virtual desktops. Switching between them is achieved by hurling the mouse cursor to the edge of the screen, at which the desktop appears to slide across to reveal the next. The maximum grid size is currently 8 by 8 desktops, and you can have 32 grids (each with a different background), making 2048 total possible desktop spaces. (Users can enable a map of the desktops, in case they get lost, which is called the pager.). The desktop dragbar allows a desktop to be ‘slid back’ to reveal the desktop ‘underneath’. The E team use the analogy of sheets of paper, stacked on top of each other, where you can slide off a piece partially to reveal what’s beneath.

It also includes Cairo-docks as in Ubuntu. Cairo-Dock is a pretty, light and convenient interface to the desktop and able to replace advantageously the system panel! It features multi-docks, taskbar, launchers and a lot of useful applets. Applets can be detached from the dock to act as desktop widgets. Numerous ready-to-use themes are available in 1 click, and can be easily customized at our convenience.

It includes apps and scmapps to add or remove applications easily. Scm (self-contained applications) apps integrated with its dependency files also. So it is not needed to install dependencies separately.

2.2.3    Merging and Execution Module

In general the standard TC kernel is a fairly standard Linux kernel, meaning that is has just a few set of patches applied. In general I think that TC will work with a kernel without patches, i.e. a “pure” standard Linux kernel. However some of the patches applied in the standard TC kernel are required for some TC specific functions to work, so if you depend on such functions you need to make sure that you apply the corresponding patch (es) before building your own kernel. Standard Linux kernel sources are available at

http://www.kernel.org/pub/linux/kernel

Where The Linux kernel is the operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software.

The Linux kernel is released under the GNU General Public License version 2 (GPLv2) (plus some firmware images with various non-free licenses), and is developed by contributors worldwide. Day-to-day development discussions take place on the Linux kernel mailing list.

The Linux kernel was initially conceived and created by Finnish computer science student Linus Torvalds in 1991. Linux rapidly accumulated developers and users who adapted code from other free software projects for use with the new operating system. The Linux kernel has received contributions from thousands of programmers. Many Linux distributions have been released based upon the Linux kernel.

Different Types of Kernel are

Microkernel Monolithic Kernel
Easily Maintainable Difficult in Updating & Deletion
Size not prefixed, increased while adding extensions Size about 20-30 MBResulting in a tedious, maintenance process.
Run multiple operating systems concurrently If the kernel changes, the set of modules changes too.
Completely integrate into the processor’s architecture Not completely integrate
Easily extended and modified Continuously enhanced, it often changes its structure.
Drivers integrated separately Drivers with in the kernel

Table 4: Monolithic Kernel V/s Microkernel

The TC patches and other related files for the standard TC kernel are available at

http://distro.ibiblio.org/tinycorelinux/4.6/x86/release/src/kernel/

 

The process to create a custom kernel could in short be described as:

  1.  Get the sources for the version of the standard Linux kernel that you are going to base your kernel on
  2. Get the patches you intend to apply – both TC kernel patches and possibly others (in my case the RT-patches)
  3. Unpack the Linux sources and cd into the top level directory of the source package
  4. Apply the patches using (in most cases) “patch -p1 < patchfile” for each patch file
  5. Move the kernel config file from the standard TC kernel into the same directory and rename it to ”.config”
  6. Do “make oldconfig” and answer all questions, in case you have no clue on the answer just provide the default ones (i.e. just hit Return)
  7. Do “make menuconfig” and make any changes you need to the configuration
  8. Do “make bzImage” to build the kernel itself
  9. Do “make modules” to build the loadable modules
  10. Do “make INSTALL_MOD_PATH=/path modules_install firmware_install” where /path is a path to a directory where you expect to find the modules.

At this point you will find the kernel file as “arch/x86/boot/bzImage” (relative to the directory from where you issue all the make commands). Further you will find all loadable modules and firmware files under”/path/lib/modules/kernel_version” and”/path/lib/firmware”

The bzImage file need to be moved to a location where your boot loader can access it and the boot loader needs also to be configured to boot using the new kernel.

When it comes to the modules and firmware files, you basically have two options, either let them be part of your initrd (a file named “tinycore.gz” in TC) or let them be part of extension files (*.tcem). In most cases it is probably best to have some of them built into the initrd and some available as loadable extensions. If you are unsure, build all of your files into the initrd. This will give you a tinycore.gz which is significantly larger than the one provided by standard TC, but in most cases you could probably live with that until you have the time to sort out the details of what modules should be put where. When you build your initrd you need to place the modules found under”/path/lib/modules” under “lib/modules” relative to the root of the initrd. Similarly the files under”/path/lib/firmware” should be put under “lib/firmware” relative to the initrd root.

Important:  If you are using a custom kernel you should never use any *.tcem files from standard TC. You could probably load them and they will likely not produce any harm, but taking up memory space, but they will not provide the function you expected. As you can notice above the modules are placed under a directory that contains the current kernel version and the modprobe program will only load modules from the directory that matches the version of the current kernel.

The standard TC initrd and the standard *.tcem packages are structured as follows to allow dynamic loading of module extensions:

The module files in the *.tcem, when installed, are found as

/usr/local/lib/modules/……

In order from them to be visible under

/lib/modules/…

The initrd contains a link called “lib/modules/<<kernel_version>>/kernel.tclocal” which points to “/usr/local/lib/modules/<<kernel_version>>/kernel

As you probably could imagine, the standard initrd has no knowledge of your kernel version, so you have to create this link in your initrd explicitly.

Remember that the standard TC *.tcem files could only be used with the standard TC kernel so this “contract” between the TC *.tcem file structure and the link in initrd is not something you need to follow. You could make up your own way to solve this or use the same method, it is totally up to you.

1. Unpacking the ISO

In the core_plus-current.iso file, there is a gzipped cpio archive. This can then be bundled along with the kernel for the boot method you like, for example an ISO image.

The merging process can be done from inside TC (with advcomp.tcz loaded, and mkisofs-tools.tcz if you want to create an ISO image), or from any other Linux distribution that has the required tools (cpio, tar, gzip, advdef, mkisofs if making an ISO)

Unpacking

First, get the kernel and tinycore.gz from the iso:

sudo mkdir /mnt/tmp

sudo mount tinycore.iso /mnt/tmp -o loop,ro

cp /mnt/tmp/boot/bzImage /mnt/tmp/boot/tinycore.gz /tmp

sudo umount /mnt/tmp

If you are going to create an ISO image, instead of copying only two files, copy everything:

sudo mkdir /mnt/tmp

sudo mount tinycore.iso /mnt/tmp -o loop,ro

cp -a /mnt/tmp/boot /tmp

mv /tmp/boot/tinycore.gz /tmp

sudo umount /mnt/tmp

Then, extract tinycore.gz for adding/removing something:

mkdir /tmp/extract

cd /tmp/extract

zcat /tmp/tinycore.gz | sudo cpio -i -H newc -d

Now, the full file system is in /tmp/extract. Feel free to add, remove, or edit anything you like.

2. Editing shutdown.sh File

Current opt/shutdown.sh file is not previously  included with  back up commands to hold the user changes, needed to implement that added some shell scripts to it ,for creating a mydata.tgz back up file at the time when user clicks the backup option, and it automatically create “mydata” file with new holdings in.tgz compression in  /tce/optional/ folder.

At the time of next booting,holdings will be retrieved through unzipping “mydata.tgz” file, and merge it with the boot options.

Now the new shutdown.sh file will be look like as

#!/bin/sh

# put user shutdown commands here

# If no backup of home was done then loop through valid users to clean up.

if [ ! -e /tmp/backup_done ] || ! grep -q “^home” /opt/.filetool.lst; then

awk ‘BEGIN { FS=”:” }  $3 >= 1000 && $1 != “nobody” { print $1 }’ /etc/passwd > /tmp/users

while read U; do

while read F; do

TARGET=”/home/${U}/$F”

if [ -d "$TARGET" ]; then

rm -rf “$TARGET”

else

if [ -f "$TARGET" ]; then

rm -f “$TARGET”

fi

fi

done < /opt/.xfiletool.lst

done < /tmp/users

fi

Note: Where /opt/.filetool.lst contains applications to be appeared in the distro, and /opt/.xfiletool.lst   will explain apps which are ignored at the boot time.

3. Add extensions

Copy all extensions to /tmp/newiso/tce/optional.

It is easiest to install applications using the appbrowser, so that .dep files and dependencies are included, then copy them all. Extensions are in the /tce/optional directory. If using cloud mode, they are in /tmp/tce/optional. If not using this method, ensure you include all .dep files and dependencies.

It is not necessary to use On Boot or On Demand, as you can use Install Local. However, it may be more convenient to use On Boot or On Demand, or have some applications in each. This enables you to just start applications from the wbar and menu. If On Demand (or Install Local) is used, the CD can be run on a computer with less RAM than On Boot. It is easiest to set up On Boot and On Demand in the computer, then copy the entire tce directory to /tmp/newiso, including the On Boot file, and the On Demand directory.

It is a good idea to include install-tools.gz for installing Tiny Core, and network-tools.gz for connecting to the Internet. Copy these to the tce directory (not /tce/optional).

If you don’t plan to use backup, you may edit isolinux.cfg, and include “norestore”.

Added Extensions in this distro are,

Xpdf

Xpdf is an open source viewer for Portable Document Format (PDF) files.It runs under the X Window System on UNIX, VMS, and OS/2.Xpdf is designed to be small and efficient. It can use Type 1, TrueType, or standard X fonts and should work on pretty much any system which runs X11 and has Unix-like (POSIX) libraries.

MtPaint

MtPaint is a painting program that can easily create pixel art and manipulate digital photos.It uses the GTK+ toolkit (version 1 or 2) and runs on PC’s via the GNU/Linux or Windows operating systems. Due to its efficient design it can run on older PC hardware (e.g. a 200MHz CPU and 16MB of free RAM).

Mplayer

Mplayer is a movie player for LINUX (runs on many other Unices and non-x86 CPUs, see the documentation). It plays most MPEG/:VOB, AVI, ASF/:WMA/:WMV, RM, QT/:MOV/:MP4, OGG/:OGM, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/:4/:5 and even WMV movies, too (without using the avifile library).

Another great feature of MPlayer is the wide range of supported output drivers. It works with X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, but you can also use GGI, SDL (and this way all their drivers), VESA (on every VESA compatible card, even without X11), some low level card-specific drivers (for Matrox, 3Dfx and ATI) and some hardware MPEG decoder boards, such as the Siemens DVB, DXR2 and DXR3/:Hollywood+. Most of them support software or hardware scaling, so you can enjoy movies in full screen.

 

Opera 9

Opera is a web browser and Internet suite developed by Opera Software with over 270 million users worldwide. The browser handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, chatting onIRC, downloading files via BitTorrent, and reading web feeds. Opera is offered free of charge for personal computers and mobile phones.

Opera is the most popular desktop browser in BelarusOpera Mini, which is the most popular[8] mobile web browser as of May 2011, has been chosen as the default integrated web browser in several mobile handsets by their respective manufacturers.

Features include tabbed browsingpage zoomingmouse gestures, and an integrated download manager. Its security features include built-in phishing and malware protection and the ability to delete private data such as HTTP cookies. Opera has been noted for originating many features later adopted by other web browsers.

Leafpad

Leafpad is an open source text editor for LinuxBSD, and Maemo. Created with the focus of being a lightweight text editor with minimal dependencies, it is designed to be simple and easy-to-compile, and is the default text editor for both the LXDE Desktop environment and Xubuntu11.10 and 12.04.

4. Editing isolinux.cfg, syslinux.cfg and boot.msg

Editing isolinux.cfg and syslinux.cfg file inside /boot/isolinux/ can be edited like given below to edit the boot up screen and windows.

ISOLINUX/SYSLINUX CONFIGURATION FILE

DEFAULT vaamana

UI menu.c32

PROMPT 0

TIMEOUT 600

ONTIMEOUT vaamana

F1 f1

F2 f2

F3 f3

F4 f4

MENU TITLE Vaamana 1.0-Created By GEN-X APP SQUAD – MCA 13, GEC

MENU MARGIN 6

MENU VSHIFT 1

MENU ROWS 13

MENU TABMSGROW 19

MENU TABMSG Press ENTER to boot, TAB to edit, or press F1 for more information.

MENU AUTOBOOT BIOS default device boot in # second {, s}…

MENU HELPMSGROW 21

LABEL Vaamana

MENU DEFAULT

MENU LABEL Vaamana

KERNEL /boot/vmlinuz

APPEND initrd=/boot/vaamana.gz loglevel=3 cde waitusb=5 vga=788

LABEL Vaamana wifi

MENU LABEL Vaamana + Wifi

KERNEL /boot/vmlinuz

APPEND initrd=/boot/vaamana.gz loglevel=3 cde waitusb=5 lst=onbootwifi.lst vga=788

LABEL Vaamana Modem

MENU LABEL Vaamana + Modem

KERNEL /boot/vmlinuz

APPEND initrd=/boot/vaamana.gz loglevel=3 cde waitusb=5 lst=onbootmodem.lst vga=788

LABEL Vaamana No 3D

MENU LABEL Vaamana Low Graphic

KERNEL /boot/vmlinuz

APPEND initrd=/boot/vaamana.gz loglevel=3 cde waitusb=5 lst=onbootno3d.lst vga=788

LABEL Vaamana No 3D WIFI

MENU LABEL Vaamana Low Graphic + Wifi

KERNEL /boot/vmlinuz

APPEND initrd=/boot/vaamana.gz loglevel=3 cde waitusb=5 lst=onbootno3dwifi.lst vga=788

LABEL Vaamana No 3D Modem

MENU LABEL Vaamana Low Graphic + Modem

KERNEL /boot/vmlinuz

APPEND initrd=/boot/vaamana.gz loglevel=3 cde waitusb=5 lst=onbootno3dmodem.lst vga=788

LABEL Vaamana

MENU LABEL Vaamana – http://vaamanalinux.wordpress.com/

 

BOOT.MSG FILE

GEN-X APPS PRESENTS

VAAMANA 1.0

Is a MiniProject from Government Engineering College, MCA 2010-13 Students

Distributed with ABSOLUTELY NO WARRANTY.

Is a remaster of Core linux.

Has Busybox & enlightenment (DR17) desktop

Used Core Version 4.6.2 Version,Linux 2.6 Kernel

http://vaamanalinux.wordpress.com/

——————                                                  GEN-X – GEETHU

—————————                          A            – AKHI

———————————–                            P             – PRASEETHA

—————————————                       P             – PREETHA

——————————————–                 S             – SIJO SIR (GUIDE)

Press ESC to return to the main menu.

Press F2, F3, or F4 to view additional boot options.

5. Packing

cd /tmp/extract

sudo find | sudo cpio -o -H newc | gzip -2 > ../vaamana.gz

cd /tmp

advdef -z4 vaamana.gz

It is packed at level 2 to save time. advdef -z4 is equivalent to about -11 on gzip.You now have a modified tinycore.gz. If booting from other than a CD, copy tinycore.gz and the kernel to your boot device.

6. Creating an ISO

If you would like to create an ISO image:

cd /tmp

mv vaamana.gz boot

mkdir newiso

mv boot newiso

mkisofs -l -J -R -V TC-custom -no-emul-boot -boot-load-size 4 \

-boot-info-table -b boot/isolinux/isolinux.bin \

-c boot/isolinux/boot.cat -o vaamana.iso newiso

rm -rf newiso

Note 1: the mkisofs command line example above spans three lines, but is actually entered as ONE line

Note 2: the -r option should be added to avoid permissions errors if the new ISO is being built outside a TinyCore environment

Vaamana.iso can now be burned or started in a virtual machine.

7. Execution

After Creating iso using the above mentioned methods, run it

*          By Using Vmware/Virtual Box Virtual Workstations.

*          Can possible to make usb bootable in usb stick,memory card using usb image creator tools like lili,usbcreator etc..

*          Can possible to write the image file to cd and boot.

2.2.4    Installation/Updating Module

A package is a specific piece of software which the system can install and uninstall. The package is typically provided as compiled code, with installation and removal of packages handled by a package management system (PMS) rather than a simple file archive. Each package intended for such a PMS contains meta-information such as a package description, version, and “dependencies”. The package management system can evaluate this meta-information to allow package searches, to perform an automatic upgrade to a newer version, to check that all dependencies of a package are fulfilled and/or to fulfill them automatically.

Install applications using commands

To install applications, you need to be connected to the Internet.

To install an application, and put it in On Boot, use

tce-load -wi app_name.tcz

To install an application, and put it in On Demand, use

tce-load -wo app_name.tcz

To download an application to the /tce/optional directory, but not put it in On Boot or On Demand, use

tce-load -w app_name.tcz

To download an application to the /tce/optional directory, and load it this time, but not put it in On Boot or On Demand, use

tce-load -wil app_name.tcz

To find out the tce directory, use

cat /opt/.tce_dir

Start an Application

To start an application that is not loaded, use

tce-run app_name

Load an Application

To load an application, use

tce-load -i app_name

or

tce-load -is app_name

Update an application

To update applications, you need to be connected to the Internet ,open terminal and type tce-update

Backup and Restore

Backup

To run backup, open the terminal and use

filetool.sh -b

To find out where backup is saved, use

cat /opt/.backup_device

To list files that will be in backup and their size, use

filetool.sh -d

Restore

To restore files in backup, use filetool.sh –r

GUI Installation

Select Mirror

To have a list of mirrors to choose from, install mirrors.tcz. To select a mirror, open the App Browser, and click Mirrors, then select a mirror.

Install Applications

To install applications while connected to the internet, open the App Browser.Click Connect.

You will then see a list of extensions, and information about them.

Click on a application you want to install. Then click Go. The application and its dependencies will be downloaded and installed.

When completed, there will be a message saying OK.

OnBoot, OnDemand, Download and Load or Download Only

When installing applications you may select OnBoot, OnDemand, Download and Load or Download Only.

OnBoot:   If OnBoot is used, the application is loaded every time the computer is started. Applications you always use, should be in OnBoot.

On Demand:  If OnDemand is used, applications are not loaded until you start them. When using OnDemand, the computer starts quicker, and uses less RAM. This is ideal for applications you only use sometimes, particularly for computers with small RAM.

Download and Load: If Download and Load is used, the application is downloaded and loaded this time only. The next time you start the computer, it will not be loaded. It will still be in the tce directory, but the computer will not do anything with it.

Download Only: If Download only is used, the application is only downloaded. It will be in the tce directory, but the computer will not do anything with it.

The applications in OnBoot and OnDemand can be changed using Apps Audit.

Do not put dependencies in OnBoot or OnDemand. They will be automatically included.

Search

You can enter a search term, and search for a certain type of application. You can also change search to provides, and find out which extension provides something.

Install Local

You can load applications using Install Local. To do this, open the App Browser, click Local, select an application, and click OK.

Install Applications While Not Connected to the Internet

Extensions may be downloaded from one of the mirrors

Download Extensions, .dep files and Dependencies

To install applications on a computer which is not connected to the internet, download the extensions. Include .dep files, dependencies, and dependencies of dependencies.

If the computer will be connected to the internet in the future, include .md5.txt files, as these are used to determine which programs have been updated. They can also be used to check if any extensions have been corrupted.

CHAPTER 1

INTRODUCTION

1.1 Project Overview

In recent years a powerful and innovative UNIX work-alike has emerged its popularity is beginning to rival that of its UNIX predecessors.

The Linux operating system includes features from both Berkley Software Distribution (BSD) and Unix System V but departs from UNIX in several significant ways. The core of the operating system, like kernel is implemented completely independently of both BSD and System V.

The continuing development of Linux is taking place through the combined efforts of many capable individuals throughout the world and Linux puts the power of UNIX within easy reach of business and personal computer users.

There is a rich selection of applications available for Linux-both free and commercial. There is also a wide variety of tools: graphical, word processing, networking, webserver, web page creation and many others.

Vaamana Linux tiny distro is proposed to be an Unix-like (Almost like Linux) distro or can mention it as a tiny Linux operating system which will be in very small in size , can be able to run in minimum requirement systems and can be portable through a flash drive ,or via a CD or via a Memory Card It will be a complete bootable distro which runs in the computer’s memory, rather than loading from the hard disk drive ( can be also possible to install on Hard Disk). It can run on a computer lacking secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing users to rescue data.

The base install is competent enough for a variety of tasks. That may include, a cluster of useful tools included as a part of the minimal install, including a paint tool (like gimp, a simple raster/bitmap graphics editor), a PDF reader, multimedia players and a text editor. If you feel the need to expand out of the minimal applications, our system will contain an Install/upgrade/update option for including other applications (from the already existing application packages).

Here the project has been given “Vaamana” as code name for the project because of its tiny structure in small size and is only requesting a few space first and has the ability of the distro to grow to an immense size by adding more and more applications further. Also it is an open source project which will be distributed in free in the future, and hoping that it will make an end to the supremacy of costly operating systems in the market (Like Vaamana suppressed the supremacy of Maha-Bali in Hindu Myth).

1.2 Team Profile

Here us ourselves called as GEN-X App Squad, where the word ‘GEN-X’means the “The Generation following the baby boom”, here it quote Linux were in a baby life through the 1990 to 2010. Now we are in a generation following that baby era, with God’s grace Vaamana will be in these generation fighting against the supreme leaders in the current era…

Here the team name “GEN-X APPS” coming from the first letter of our names as

GEN-X – GEETHU P P

A – AKHI M B

P – PRASEETHA P M

P – PREETHA M P

S – Mr. SIJO S VADAKKAN (Our Project Guide)

“Bring Experience… is our mantra, so just keep telling “bring… bring… bring …. The experience” while experiencing Vaamana ;-)

                                                                             

ABSTRACT

CODE NAME: ‘ VAAMANA’

Vaamana Linux tiny distro is proposed to be an Unix-like (Almost like Linux) disro or can mention it as a tiny Linux operating system which will be in very small in size , can be able to run in minimum requirement systems and can be portable through a flash drive ,or via a CD or via a Memory Card It will be a complete bootable distro which runs in the computer’s memory, rather than loading from the hard disk drive ( can be also possible to install on Hard Disk). It can run on a computer lacking secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing users to rescue data.

The base install is competent enough for a variety of tasks. That may include, a cluster of useful tools included as a part of the minimal install, including a paint tool (like gimp, a simple raster/bitmap graphics editor), a PDF reader, multimedia players and a text editor. If you feel the need to expand out of the minimal applications, our system will contain an Install/upgrade/update option for including other applications (from the already existing application packages).

It has been given “Vaamana” as code name for the project because of its tiny structure in small size and is only requesting a few space first and has the ability of the distro to grow to an immense size by adding more and more applications further. Also it is an open source project which will be distributed in free in the future, and hoping that it will make an end to the supremacy of costly operating systems in the market (Like Vaamana suppressed the supremacy of Maha-Bali in Hindu Myth).

 

 

ACKNOWLEDGEMENT

                                                We take this opportunity to express our gratitude to all, whose contribution in this project work can never to forget. First of all we owe our gratitude to God Almighty for showering abundant blessings on us to complete this project.

We are grateful to Mrs.Jancy Paul, Head of the MCA Department, Govt.Engg.College, Thrissur for her continuous support, effective guidance and invaluable advices and suggestions.

It is our utmost duty to express our extreme gratitude to Mr.Sijo S Vadakkan, our internal guide, for his guidance and encouragement, which led this work to its successful completion. We are also grateful to Prof.Nalini E S, Prof.Ali M A, Mrs.Soumia Chandran M, Mrs.Hridhya, Mr.Sasi Kumar M N and all the teachers of Department of MCA for their excellent moral support.

We are also grateful to my colleagues, friends and family members for their co-operations and moral support. We are deeply indebted to our members for their awesome and never ending support and co-        operation.

Once again we thank one and all who have helped us directly and indirectly in the successful completion of the project work.

AKHI M B

GEETHU P P

PRASEETHA P M

PREETHA M P

 

 

 

 

TABLE OF CONTENTS

1 INTRODUCTION                                                                                                  1

1.1       Project Overview                                                                                1

1.2       Team Profile                                                                                        3

2 SYSTEM ANALYSIS AND DESIGN                                                                   4

2.1       SYSTEM ANALYSIS                                                                                    4

2.1.1    The Existing System                                                               4

2.1.2    Requirements of New System                                                            5

2.1.3    Proposed System                                                                    6

2.1.4    Technical/Economical/Operational Feasibility                        6

2.1.5    System Requirement Specification                                         7

2.2       SYSTEM DESIGN AND DEVELOPMENT                                  8

2.2.1    Source Code Modification Module                                        8

2.2.2    Graphical User Interface Module                                           9

2.2.3    Merging and Execution Module                                          10

2.2.4    Installation/Updating Module                                                          23

2.2.5    Data Flow Diagrams                                                             32

2.2.6        Unified Modeling Language                                                37

2.3       SYSTEM IMPLEMENTATION AND TESTING                          41

2.3.1    Hardware Used for Implementation                                     41

2.3.2    System Testing                                                                      41

3          TEST RESULTS AND CONCLUSIONS                                                    43

3.1 Tests                                                                                              43

3.2 Results                                                                                          45

3.3 Conclusion                                                                                    46

3.4 Scope for Future Enhancement                                                    47

ANNEXURE                                                                                                                         48

I   Sample Screen Shots                                                                      48

REFERENCES                                                                                                        53

 


 

 

 

 

 

 

 

 

            LIST OF TABLES

Sl No                                                                                                        Page No

1          Characteristics of Different Operating Systems                                 4

2          System Specification Table                                                                 7

3          Comparison of Different Window Managers                                          9

4          Monolithic Kernel V/s Microkernel                                                  11

 

 

 

 

 

 

 

LIST OF FIGURES

 

Sl No                                                                                                        Page No

1          The Installation Architecture

1.1       Open the installer                                                                    28

1.2       Browse to the install files                                                       28

1.3       Boot Codes                                                                             29

1.4       Vaamana Installation Options                                                 29

1.5       Vaamana Installation Options – Extensions                           30

1.6       Vaamana Install                                                                       30

1.7       Vaamana Testing                                                                     31

2          Data Flow Diagram

2.1       LEVEL 0 – Context Diagram                                                 32

2.2       LEVEL 1                                                                                33

2.3       LEVEL 2.1 – Log in Process                                                   33

2.4       LEVEL 2.2 – Text Editor                                                        34

2.5       LEVEL 2.3 – PDF Reader                                                      35

2.6       LEVEL 2.4 – Paint Tool                                                          35

2.7       LEVEL 2.5 – Sound/Video Player                                          36

2.8       LEVEL 2.6 – Package Manager                                              36

3          Unified Modelling Language – Design

3.1       Use Case Diagram                                                                  37

3.2       Model Activity

(a)        Log in Process                                                             38

(b)        Text Editor                                                                  38

(c)        PDF Reader                                                                39

(d)       Paint Tool                                                                    39

(e)        Sound/Video Player                                                    40

(f)        Package Manager                                                        40

4          Sample Screen Shots

4.1       Vaamana Desktop Views                                                        48

4.2       Terminal Window                                                                    49

4.3       Settings Panel                                                                         49

4.4       Leaf pad – Text Editor                                                            50

4.5       Xpdf – PDF Reader                                                                50

4.6       Mt paint – Paint Tool                                                               51

4.7       Package Manager                                                                    51

4.8       Opera 9 – Browser                                                                  52

4.9       Shut off/ Exit Window                                                           52

 

LIST OF ABBREVIATIONS AND ACRONYMS

  1. Distro                                                  A Merged Collection of Components
  2. O/s                                                       Operating System
  3. DFD                                                    Data Flow Diagram
  4. UML                                                   Unified Modelling Language
  5. BSD                                                    Berkley Software Distribution
  6. TCZ                                                     Tiny Core Zip
  7. TCE                                                     Tiny Core Extensions
  8. SCM                                                    Self-Contained Applications
  9. GUI                                                     Graphical User Interface
  10. WI-FI                                                  Wireless Fidelity
  11. LAN                                                    Local Area Network
  12. USB                                                    Universal Serial Bus

Government Engineering College, Thrissur

Department of Computer Science and Technology

 

2012

 

CERTIFICATE

 

Certified that this is a bonafide record of the Mini Project titled

VAAMANA – A TINY LINUX DISTRO

Done by

Akhi M B, Geethu P P, Praseetha P M, Preetha M P

of Fourth Semester, MCA

In partial fulfilment of the requirement for the award of the Degree of Master of

Computer Applications of the University of Calicut

During the year 2012

 

 

Guide                                                  Head of the Dept                     Examiner

 

 

 

 

Mrs.Soumia Chandran M                  Prof. Jancy Paul                    

 

 

Date 27/11/2012

 

 

VAAMANA- A TINY LINUX DISTRO

MASTER OF COMPUTER APPLICATIONS

MINI-PROJECT REPORT

2012

Submitted in the partial fulfilment of the requirements for the award

 of the Degree of Master of Computer Applications

of the University of Calicut

Done by

 

 

AKHI.M.B (ETAKMCA002)

GEETHU.P.P (ETAKMCA008)

PREETHA.M.P (ETAKMCA022)

PRASEETHA.P.M (ETAKMCA020)

 

 

 

Department Of Computer Science and Engineering

Government Engineering College,

Thrissur-680009

GEN-X APP SQUAD PRESENTS

” VAAMANA “

bring experience..

A tiny Linux distro – as an academic mini project

FIRST EVALUATION REPORT

submitting on 03-09-2012

 

 

GEN-X APP SQUAD

  • AKHI M  B
  • GEETHU P P
  • PRASEETHA P M
  • PREETHA M P

 

INTRODUCTION

                   In recent years a powerful and innovative Unix work-alike has emerged its popularity is beginning to rival that of its Unix predecessors.

The Linux operating system includes features from both Berkley Software Distribution(BSD) and Unix System V but departs from Unix in several significant ways. The core of the operating system, like kernel is implemented completely independently of both BSD and System V.

The continuing development of Linux is taking place through the combined efforts of many capable individuals throughout the world  and Linux puts the power of Unix within easy reach of business and personal computer users.

There is a rich selection of applications available for Linux-both free and commercial . There is also a wide variety of tools: graphical, word processing, networking, web server, web page creation and many others.

“Vaamana”  is  proposed to be an Unix-like (Almost like Linux) distro or we can mention it as a tiny Linux operating system which will be in very small in size , can be able to run  in minimum requirement systems and can be portable through a flash drive ,or via a CD or via a Memory Card.
It will be a complete bootable distro which  runs in the computer’s memory, rather than loading from the hard disk drive ( can be also possible to install on Hard Disk). It can run on a computer lacking secondary storage ,such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing users to rescue data.

The base install is competent enough for a variety of tasks. That may include, a cluster of useful tools included as a part of the minimal installation, including a paint tool (a simple raster/bitmap graphics editor ) , a PDF reader, multimedia players and a couple of  text editors.

For lightweight and embedded projects, it rather unbelievably includes a fully functional web server  with PGP/CGI support.  If you feel the need to expand out of the minimal applications, our system  will  contain  an install/upgrade/update option for including other applications (from the already existing application packages).

We  are giving “Vaamana” as code name for the project because of its tiny structure in  small size and is only requiring  a few  space first and has the ability of the distro to  grew to an immense size by adding more and more applications further. Also it is an open source project which  will be distributed in free in the future, and hoping that it will make an end to the supremacy of  costly operating systems in the market ( Like Vaamana suppressed the supremacy of  Maha-Bali in Hindu Myth  ).

Our proposed system will contain mainly five modules

a)     Source Code Creation /Modification Module.

b)     Graphical User Interface Module.

c)     Creation of a text editor.

d)     Merging and Compilation Module.

e)     Updating/Installation of Software’s and Packages.

EXISTING SYSTEM

The existing systems are also, current operating systems available in  the present market that have advantages as well as disadvantages. And by studying about these systems , we understood that there ate no ideal operating system having features like portability, scalability, small in size ,easily bootable, ease of installation, deployment and use.

PROPOSED SYSTEM

The proposed system has been designed to eliminate the major disadvantages of the existing systems. The additional features and facilities provided in the proposed system such as portability, scalability, small in size ,easily bootable, ease of installation, deployment, use and metro GUI makes the new system into more flexible and efficient.

Proposed system is feasible under the current scenario in the case of economical and technical feasibility but  considering operational and time feasibility ,it’s so much difficult to built an ideal system within a couple of months.

SYSTEM REQUIREMENTS

  • Minimum 192 MB RAM.
  • Less than 300 MB hard disk space.
  • Monolithic Type Linux  Kernel.
  • Unix Like operating system family.
  • Runs from CD, Flash drive or Embedded as a guest OS.
  •  Kernel Build in C.

 

DATA FLOW DIAGRAM Read the rest of this entry »

Vaamanalinux is proposed to be an Unix-like (Almost like Linux) disro or we can mention it as a tiny Linux operating system which will be in very small in size , can be able to run in minimum requirement systems and can be portable through a flash drive ,or via a CD or via a Memory Card It will be a complete boot-able distro which runs in the computer’s memory, rather than loading from the hard disk drive ( can be also possible to install on Hard Disk). It can run on a computer lacking secondary storage ,such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing users to rescue data.

The base install is competent enough for a variety of tasks. That may include, a cluster of useful tools included as a part of the minimal install, including a paint tool (like gimp, a simple raster/bitmap graphics editor ) , a PDF reader, multimedia players and a couple of text editors. For lightweight and embedded projects, it rather unbelievably includes a fully functional web server with PGP/CGI support. If you feel the need to expand out of the minimal applications, our system will contain an install/upgrade/update option for including other applications (from the already existing application packages).

We are giving “Vaamanaa” as code name for the project because of its tiny structure in small size and is only requesting a few space first and has the ability of the distro to grew to an immense size by adding more and more applications further. Also it is an open source project which will be distributed in free in the future, and hoping that it will make an end to the supremacy of costly operating systems in the market (( Like Vaamana suppressed the supremacy of  Maha-Bali in Hindu Myth ).

System Requirements :

 Minimum 192 MB RAM
 Minimum 300 MB hard disk space
 Kernal type is Monolithic(Linux Kernal)
 UNIX like Operating system family
 Runs from CD, Flash-drive or embedded as a guest OS
 Kernal is structured in C programming language.