Installing Linux Virtually

How to install Linux using virtualization software like VMware.

Brought to you by Zain-Ul-Abideen Shah and Zain-Ul-Abideen Kayani

Introduction:

The usage of computers forms an integral part of the professional and private lives of an individual in today’s world. The main component of any computer’s software is its Operating System (OS). Two of the most common operating systems are Linux and Windows.

Linux is a free open-source alternative to Windows and Macintosh. Based off of (but not derived from) UNIX, a man named Linus Torvalds laid the framework for the kernel many years ago (1991) and then made the source code open to all. He still works on the kernel today, but he's not alone; millions of programmers around the world work to improve Linux with their free time. They've worked hard to bring Linux to maturity, and as of the last couple of years, it has reached a mature stage where the average computer user is more than capable of using it.

Windows Operating Systems are a proprietary of Microsoft. The first operating environment by this company was introduced in 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interface. Microsoft Windows came to dominate the world's personal computer market, overtaking Mac OS, which had been introduced previously. At the 2004 IDC Directions conference, it was stated that Windows had approximately 90% of the client operating system market.

Objectives:

Majority of the computer users have sufficient knowledge of the OS which they are using on their computers, but have little or no awareness of other operating systems. For example, I personally had no idea what Linux was, how it was installed, or what virtualization is. We intend to address these issues in our project objectives.

The primary objective of this project is really simple: to familiarize a person with the installation procedure of Linux using virtualization software by the use of simple and easy to understand steps. The secondary objective is to give relevant information about the important parts which make up this project (like Vmware, ISO files etc).

Importance of the Objectives:

In this rapidly changing world, computers, as mentioned in the start of this page, play a very vital role in our lives. Electrical engineering is a vast field, in which electrical engineers face a variety of problems which need solutions. Computers are the most frequently and widely used tool which enables the electrical engineers to work on such problems. There is a constant need of development in the field of electrical engineering, and the electrical engineers can only keep up in this never ending race, by effectively using computers. This involves mastery of operating systems. It might seem strange, but to effectively use computers, it is essential that an electrical engineer is fully aware of the different operating systems like Linux and Windows. Each has its own pros and cons and an electrical engineer should be fully experienced with both, in order to be an effective and productive member of the electrical engineering community. For example, certain engineering programs and applications will run on Linux, which an engineer needs to use in order to complete a certain tasks. Now, although Windows has equivalent programs for almost every Linux program (like Microsoft Office as compared to Open Office of Linux), yet it cannot cater for every need of an electrical engineer that Linux does because obviously, Windows cannot exactly copy any Linux program (or vice versa). Taking Microsoft Office as an example, we observe that it has several functions which Open Office does not. The same principle applies to Linux programs too, which means that their equivalent programs in Windows will not satisfy the professional needs of an electrical engineer. Both operating systems obviously have certain differences in their programs and applications. Therefore, if an engineer needs to use Linux for some engineering application, he will not get the desired results if he uses Microsoft Windows, and vice versa. If he has Windows installed on his computer, he will need to find another computer with Linux installed. Conversely, if he needs to use Windows but his computer has Linux as its operating system, he will face inconvenience if he has to go look for a Windows machine.
This was a very basic and simple example. More complex scenarios may include a task in which the electrical engineer needs to use both operating systems simultaneously. And this is where our project will help him out.

Main Section:

We will try to achieve our project objectives using a step by step approach. Every significant step will be described in an easy to understand way and relevant information and descriptions will be given. First we will give descriptions of every process, software or file that we will use to achieve virtual installation of Linux on windows. And finally, we will explain exactly how to connect all the previously mentioned factors to accomplish our goal. This will serve to avoid and reduce any confusion that a reader might face.

First of all, we need to understand virtualization.

What is virtualization?

Virtualization is basically a method by which "guest" operating systems are run under another "host" operating system, with little or no modification of the guest OS. Virtualization is a proven software technology that is rapidly transforming the IT landscape. Today’s powerful computer hardware was designed to run a single operating system and a single application. This leaves most machines vastly underutilized. Virtualization lets you run multiple virtual machines on a single physical machine, sharing the resources of that single computer across multiple environments. Different virtual machines can run different operating systems and multiple applications on the same physical computer.

How does virtualization Work?

Virtualization is used to transform or “virtualize” the hardware resources of a computer- including components like the CPU, RAM, hard disk and network controller- to create a fully functional virtual machine that can run its own operating system and applications just like a “real” computer. Each virtual machine contains a complete system, eliminating potential conflicts. Virtualization works by inserting a thin layer of software directly on the computer hardware or on a host operating system. This contains a virtual machine monitor or “hypervisor” that allocates hardware resources dynamically and transparently. Multiple operating systems run at the same time on a single physical computer and share hardware resources with each other. By encapsulating an entire machine, including CPU, memory, operating system, and network devices, a virtual machine is completely compatible with all standard operating systems, applications, and device drivers. You can safely run several operating systems and applications at the same time on a single computer, with each having access to the resources it needs when it needs them.

Why is virtualization done?

Virtualization has countless uses. The first has already been discussed i.e. the consolidation of the workloads of several under-utilized servers to fewer machines, or even a single machine (server consolidation). Related benefits are savings on hardware, environmental costs, management, and administration of the server infrastructure.

Virtualization can be used to create virtual machines which provide secure, isolated sandboxes for running untrusted applications. You could even create such an execution environment dynamically as you download something from the Internet and run it. You can think of creative schemas- virtualization is an important concept in building innovative computing platforms.

Virtual machines can provide the illusion of hardware, or hardware configuration that you do not have (such as multiple processors). Virtualization can also be used to simulate networks of independent computers.

Virtual machines allow for powerful debugging and performance monitoring. You can put such tools in the virtual machine monitor, for example. Operating systems can be debugged without losing productivity, or setting up more complicated debugging scenarios.

Virtual machines are great tools for research and academic experiments. Since they provide isolation, they are safer to work with. They encapsulate the entire state of a running system: you can save the state, examine it, modify it, reload it, and so on.

However, most importantly for us, virtual machines can be used to run multiple operating systems simultaneously: different versions, or even entirely different systems, which can be on hot standby. Some such systems may be hard or impossible to run on newer real hardware. This property of virtualization will be used when we will install Linux virtually on a computer with Windows operating system.

After having a thorough understanding of what virtualization really is, we now move on to the next step, which is choice of virtualization software. As with any other software, the choice is usually arbitrary, unless there is a very significant reason for choosing a specific virtualization software. A large number of virtualization softwares are available like Virtual Box, OpenVZ, Xen, Linux V-Server, Bochs and Vmware Workstation. We decided to use Vmware Station for this project. A description of this software is given below.

Vmware Workstation:

VMware Workstation has a hosted architecture: it needs a host operating system (such as Windows or Linux). In order to optimize the complex mix of performance, portability, ease of implementation, etc, the product acts as both a VMM i.e. a virtual machine monitor (talking directly to the hardware), and as an application that runs on top of the host operating system. The latter frees the VMM from having to deal with the large number of devices available on the PCs (otherwise the VMM would have to include device drivers for supported devices).

VMware Workstation's hosted architecture includes the following components: a user-level application (VMApp), a device driver (VMDriver) for the host system, and a virtual machine monitor (VMM) that is created by VMDriver as it loads. After that, an execution context can be either native (that is, the host's), or virtual (that is, belonging to a virtual machine). The VMDriver is responsible for switching this context. I/O initiated by a guest system is trapped by the VMM and forwarded to the VMApp, which executes in the host's context and performs the I/O using "regular" system calls. VMware uses numerous optimizations that reduce various virtualization overheads.

Now that we have defined virtualization and also given details of the functioning of VMware Workstation, it is imperative to explain ISO files, and their functionality.

ISO Files:

ISO files of optical discs are basically archive files, having a format which is set by the International Organization for Standardization (ISO). They are also known as disk images. Many software vendors support this format. These files generally have an extension of .ISO.

Just like most archive files, ISO images include the full data of files contained on the archived CD or DVD, stored in an uncompressed format. Apart from data of the files alone, they also contain all the file system metadata i.e. data about data, including boot code, structures and attributes. However ISO images do not support multi-track, and therefore they cannot be used for audio CDs, VCD, and hybrid audio CDs.

The above mentioned properties make ISO files an attractive alternative to physical media for the distribution of software as they are simple to transfer over the Internet or via a LAN connection.

ISO image is an unattached file format (like RAR and ZIP): it merges a series of files into one single file according to a definite format. ISO image burners like ISO Maker can be used to burn ISO images to a CD, VCD or DVD which increases the range of areas where ISO files can be used.

Now that the nature of ISO files has been explained in detail, some uses of ISO files will further add to the knowledge and understanding of the user.

Uses of ISO files:

ISO files are widely used for the distribution of software. They are also used to backup data, such as PSP backups. Another major use of ISO files is to use softwares that are written in such a way that they require a physical disk to be present in the CD/DVD ROM in order to run. Examples of this category generally include games.
A further use of ISO files is of special interest to us since it directly relates to our project. ISO files are also used to mount “virtual drives” which emulate physical CDs or DVDs, such as virtual computers. Better performance is achieved by running an ISO image, since I/O is many times faster with a hard drive than a CD/DVD drive.

The Last Step: Installing Linux using VMware:

We will now come to the crux of the whole matter- the actual virtual installation of Linux. The whole process is surprisingly simple, and we will endeavor to try our best to make sure that our opinion is shared by the user too, once he reads this page.
First of all, the user needs to fulfill certain conditions for VMware Workstation to work. The system specifications of the user should be more than or at least equal to the following:

  • 400 MHz CPU (500 MHz recommended).
  • 128 MB RAM (256 MB recommended).
  • 16 bit or 32 bit display adapter recommended.
  • 80 MB of free space needed for installation of Linux.
  • 1 GB free disk space recommended for each guest OS and the application software used with it.

[System Requirements]

Once the above essential requirements are fulfilled by the user, we move to the basic thing- the ISO files. Their number varies from case to case. We used 3 ISO files for our project (disk1.iso, disk2.iso and disk 3.iso). The usual file size ranges from 400 MB to 600 MB. We will need these ISO files once we start installing Linux.
The next steps involve VMware. First of all, it needs to be installed if the user does not already have it. The installation method is simple- you install it just like you install any other software. Once it is installed, run the program and follow the steps given below:

  • On the main screen, click on “New Virtual Machine”
flickr:3295098618
  • Then choose the “Typical” option when the next screen appears, since the user is unlikely to be an advanced user who would feel the need to choose the “Custom” option.
flickr:3294452859
  • Then use the “Browse” option and look for the disk1.iso (or whatever is the title of the first ISO file of the user).
flickr:3294452863
  • The next screen will prompt the user to choose the guest OS, which will be “Linux” in this case. The same screen will let the user choose the Linux distribution too, which is “Red Hat Linux” in this case.
flickr:3294452869
flickr:3294452871
  • Now choose the destination folder where the virtual machine will be installed.
flickr:3294452873
  • Before the installation starts, the user will be prompted to choose whether he or she wants to install Linux in graphical mode or text mode. Press "Enter” to choose graphical mode.
flickr:3294452875
  • Enter the mouse configuration, keyboard configuration and language selection.
  • Select “Personal Desktop” in Installation Type.
flickr:3295315232
  • Then choose “Automatically Partition”. The user will receive a message saying that all data will be lost due to the new partition. This is not to be regarded too seriously. The reason is that since the partition is virtual, therefore the hard disk will not be affected and no data will be lost.
flickr:3295315234
flickr:3295315238
  • On the screen titled “Personal Desktop Defaults” you have the option to either customize the packages that are going to be installed, or you can accept the “Current Package List”. The user can choose according to his own needs and requirements.
flickr:3295315242
  • Some time after the installation has started, the user will be prompted to “Enter disc 2”. Since ISO files were being used, the computer is basically asking the user to select the second ISO file. The method is simple. Right click on the name of the virtual machine being used. Enter into “Settings”. Then go to the CD/DVD IDE option. Check the “Connected” option. Then browse to find the second ISO file and select it. After that, click “Ok” to continue. The setup will automatically resume the installation process.
flickr:3295118764
flickr:3294301647
  • Apply the above step when prompted for the third ISO file.
  • Once the setup is completed, the user will be prompted to enter the date and time settings, and to choose the type of monitor, video card etc for the finalization of the installation process.

*Once the user successfully completes the above mentioned steps, he will see the Red Hat Linux desktop shortly, and will then be able to use Linux on a computer with Windows OS (or even any other OS).

flickr:3294285185

Applications:

Our project basically deals with the virtual installation of Linux on a computer with Windows based OS (XP, Vista etc). This not only lets an electrical engineer (a computer user) to get familiar with the two famous operating systems, but also lets him or her use either of them for any specific job or task which is operating system specific.
Electrical engineering is a rapidly growing field. Electrical engineers are faced with many tasks and problems during the course of their work such as document processing (equations, complex graphs and diagrams), symbolic mathematics, mathematical modeling and numerical methods, scientific visualization, data acquisition and process control, and production and maintenance of scientific databases. For any of these jobs, an electrical engineer needs to make the right decision in choosing the correct operating system which meets his requirements. Windows and Linux have their individual advantages and disadvantages. For example, Linux is known for its low cost, stability, and security, whereas Windows is known for its user friendliness, software availability etc. With both of the operating systems installed, the electrical engineer can choose either of the two operating systems depending on what task lies ahead of him. Or he can even use both of the operating systems simultaneously if that is his requirement.

Conclusion:

Concluding this page, the following is a summary of what we have presented until now:

1. We introduced our project, giving brief introductions of the two operating systems with which we worked i.e. Microsoft Windows and Linux.

2. We gave a detailed account of our chosen software i.e. Vmware Workstation, as well as a description on its working, so that it is easier for any first time user to understand the functioning of the afore mentioned virtualization software.

3. We clearly expressed our objectives and their importance.

4. In the main section, we described the procedure for virtually installing Linux, along with the descriptions of relevant terms like virtualization, ISO files etc for the better understanding of our peers.

5. Furthermore, we gave the applications of our project for electrical engineers.

While completing this page, we feel we have gained sufficient knowledge about the project topic, and have successfully accomplished our goals. We presented the steps to install Linux in layman’s terms, and gave relevant details where they were required. We feel confident that we can now install not only Red Hat Linux but even any other distribution like Ubuntu etc. We also learnt about virtualization, its uses and its benefits. Furthermore we learnt the principles of the workings of VMware workstation and its uses, and we also gained some knowledge about ISO files and their applications and uses.
We believe that the users will also find this page useful and will hopefully benefit from our work and research.

For more help, you can access our presentation and the technical report on this project.

Here are the links:

Technical Report

Presentation

Reference:

Wikipedia

Webopedia.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License