Saturday, August 28, 2010

Installing minimal Ubuntu 10.04 (Lucid Lynx) in VirtualBox

I have been using Ubuntu for a while and I pretty much like it most of the time. It has the latest and the greatest and it looks nice too, at least that's the way I perceived it. In fact, back in Ubuntu Intreprid I played around installing a minimal Ubuntu. This time around, I would like to install a pretty much stripped down version of Ubuntu Lucid Lynx, it is kind of a minimal install that still looks like Ubuntu.

Install method has not changed much since Intreprid actually. Without further ado, let us get our hands dirty. Okay, download the latest minimal iso from Ubuntu. You can always download it from the mirrors, I find USC mirror to be quite fast.

While download is busy, let us configure our guest Ubuntu machine in VirtualBox. Here is what I have:
General Name: ubu1004mini OS Type: Ubuntu System Base Memory: 512 MB Processor(s): 1 Boot Order: CD/DVD-ROM, Hard Disk VT-x/AMD-V: Enabled Nested Paging: Enabled Display Video Memory: 12 MB 3D Acceleration: Disabled 2D Video Acceleration: Disabled Remote Display Server: Disabled Storage IDE Controller IDE Primary Master: ubu1004mini.vdi (Normal, 80.00 GB) IDE Secondary Master (CD/DVD): Empty Audio Host Driver: Windows DirectSound Controller: ICH AC97 Network Adapter 1: Intel PRO/1000 MT Server (Bridged adapter, Microsoft Loopback Adapter) Serial Ports Disabled USB Device Filters: 0 (0 active) Shared Folders None

Once download is done, then we are ready to rock'n roll. Power-up guest machine, my case it is ubu1004mini then mount mini.iso. Figure below shows that I have selected mini.iso.
You probably need to do a reset of the guest for the machine to boot using mini.iso. Once in the boot prompt, type:
cli <ENTER>

See below for a screen capture of how it looks like.

Since I am in an English speaking country, I selected English in the figure below. Of course you can select whatever language that best fit your needs.
Select your country here, not that this can be important when selecting the correct timezone.
Since I know my keyboard layout, I select No here.
Select USA for the origin of the keyboard here. Again, select the correct information that applies you.
Select keyboard layout, commonly used layout is USA. You may leave the default value if that is your case.
Supply hostname of this machine. Linux hostnames can be as long as 64 bytes. It would be safe to use [a-zA-Z0-9] and dash for name. If you are planning to make this machine a web server, then take note that IE8 (probably IE7/IE6) have a security issue with a work-around from MS to delete the cookies instead.
In this screen, we have to select a mirror. As stated in the console text, your country may not be the best choice. For now, use your gut feel which one we would like to use. There are tools out there but if your machine is not yet up and running, you have but limited option.
Now select the mirror for the selected country. Mirror "" is pretty decent.
In most residential internet connection, you don't need an HTTP proxy so you can leave this blank. But this might not be the case if you are working for a corporation. You may need to consult with your network administrator for the HTTP proxy, if you are lucky you can probably get this information in your Windows Internet Connection configuration.
This part can take a while, so stay back and relax. Did I mention that you need to have a fast internet connection to make the experience worthwhile :).
Now it is time to set the proper time, Debain/Ubuntu guessed my timezone correctly :).
Since this is a virtual machine, I selected to use the entire disk.
Again, this is a virtual machine, so no worries. Hit ENTER to continue here.
Finally, commit partition changes to disk.
This part can take awhile... so go surf the next :)... I didn't expect that a while in this case can be as long as ~ 6hrs. Maybe my connection speed is not enough (8mbps as per the provider). But maybe I selected a slow mirror. By the way, I tried mirrors from the US and Netherlands. And oh, I got faster updates from Netherlands mirror :(.

Once base installation is done, now it is time to provide your name.
Then username...
Then password...
Re-enter password here to confirm...
Since I am not very particular with the data I store on this virtual machine, I selected not to encrypt the data in home directory.
For total system control, I selected "No automatic updates"
Again, virtual machine... so no problem install GRUB in MBR.
Since I am using VirtualBox 3.2.0 with the new "Hardware clock in UTC time" option, say "Yes" here.
Installation is done!!!

Initially thought that base install to be quick and fast but things happen. Anyway, reboot the machine then do initial login. I would recommend to shutdown the machine after this and make a snaphot.

Then do an update of base install, thus say:
[timus@localhost ~]$ sudo su [root@localhost /home]$ aptitude update [root@localhost /home]$ aptitude safe-upgrade
Observe that if the packages that need update includes the linux kernel, thus say linux-image-*, then a reboot is required.

Now, the moment of truth, install GNOME base with pretty icons just like a stock version of Ubuntu:
[root@localhost /home]$ aptitude install xorg gnome-core gdm gdm-themes gtk2-engines gtk2-engines-pixbuf ubuntu-artwork ubuntustudio-icon-theme indicator-applet-session
This command will install 495 packages. Yap, you got it right, 495. Isn't it amazing? It checks for all the dependencies and install it for you? That's the beauty of Debian/Ubuntu. Anyway, again set back and relax, this can take a while.

By the way, the last package is required otherwise you will have an issue with OAFIID:GNOME_fastuserswitchapplet in GNOME session. Is it a bug? Mabye.

Once install is done, reboot guest machine. You should now see a GUI (gdm) for you to login. This is a good opportunity to take snapshot using VirtualBox.

To make our life a little easier, let us install synaptic.
[timus@localhost /home]$ sudo aptitude install synaptic
Actually, the above command is not necessary for this exercise but would be good to have it available in the future when installing new apps.

Since we will be compiling some stuff, let us install support packages
[timus@localhost /home]$ sudo aptitude install build-essential

From VirtualBox menu, do Devices | Install Guest Additions...
Then in GNOME menu, select Places | VBOXADDITIONS_*.

Go back to gnome-terminal and do:
[timus@localhost /home]$ cd /media/VBOXADDITIONS_3.2.0_61806 [timus@localhost /home]$ sudo ./ [timus@localhost /home]$ sudo reboot



No comments: