Sunday, September 16, 2007

Installing Puppy Linux in VirtualBox

I mentioned in a previous post that VMware Workstation 6 was an essential program; however, I must admit I am quickly becoming enamored by Virtual Box. I used this program several versions ago and it was not quite stable, or I was not as familiar as I am with virtual machines as I am now, but this latest version seems to rock. Networking is still a little tricky, but there seems to be a real focus on command line control, which I am getting into more and more as I work on refining methods of remote computing.

Virtual machines allow you to run/ test different operating systems and configurations, as well as run servers inside of and seperate from your 'host' machine. They are a fun and easy way to make that transition to understanding linux that I know you have been wanting to do. Download VirtualBox and the manual and get started!

First I started with Puppy Linux, an amazing and small distro that will run off a usb drive. I first discovered it in this capacity. It is amazing how much can be done with such a small OS!! I suggest starting with Puppy version 215CE. CE stands for community edition. It is a little more userfriendly and has some nice tools right out of the box. It looks nice too. Download the ISO and lets get started! Go ahead and make a file for all your puppy downloads because there are a few packages you will need as well.

After you have installed Virtual Box (VBox) Launch it. Choose New->Next and name it pup215ce. From the dropdown menu choose Linux 2.6->then the default 256mb RAM. Note this is the amount of ram the vm will use so choose based on how much you have available. Puppy will run on surprisingly little.

Next choose a new HD->Dynamically Expanding->5GB->Finish.

Now you have a new setup choose the Settings from the top menu. Choose Mount CD->iso file and browse to the location of your puppy215ce.iso that you just downloaded. In USB choose the top icon to add new filters. Don't worry about naming them and DO NOT choose any usb devices like keyboards or mouse that you have connected or you will get seriously screwed.

Finally comes networking and this was difficult for me later trying to get the right configuration for running a server. Right now just choose NAT, the default. Later we will be using the Host Interface when you set up an ssh server.

Now start that puppy up! Let it do its thing until you get to the keyboard choice menu. Click inside the machine if you haven't done so already to enable you to send commands to it as if it were a seperate machine. Choose the default, qwerty. Next it asks about what video/window interface to use. XVESA works best. Finally I like to choose my full screen setting (1024x768) with a depth of 16.

Now, before anything else, you have to partition the virtual disk. Go to the menu and choose System->Gparted. Click New and create then create again. Hilite the unpartitioned space and click new. Enter 4300 into the middle field (where 5300 is) and hit enter then drop down the menu that says ext2 under primary partition and choose fat32 and create. Next choose the unpartitioned space and hit enter then drop down the ext2 again and choose linux swap. Finally click on the arrow to the left of hda1 in the top right and choose apply. Gparted will partition the disk according to what you said.

Now select menu and reboot. You will be given a choice to save the file, do this and follow all the defaults. When you are presented with a size choose 1.25 gigs. Now wait for the file to be created and puppy to restart.

Next, click on the connections icon on the desktop and choose setup network connection. There should be an eth1 button. If there is not let me know. Choose this and then AutoDHCP. You should get a message stating connection was successful. Again, let me know if you don't. Now click browse and the default browser will show. You should be gold. At this point you may have some problems with Flash9, but these can be worked out in the next installation of this blog.

What you have now, besides a tool for learning, is the most secure OS available for browsing. I do all my banking and shopping through a puppy vm because there is no concerns of keyloggers, viruses, spyware, etc. Of course I can't do much about the other side of the connection except deal with only reputable folks and check the site address before entering any info.

Next I will explain how to put in some of my favorite packages/ programs and get an ssh server going that you will be able to use in the same way I explained with DDWRT in a previous post, as well as setup a vnc server so that you can do secure remote desktop-ing as well.

If you have any questions please ask, I will provide screenshots if necessary.

1 comment:

M. M. said...

Thanks for the overview. However, are you sure that keyloggers on the host can't control the guest?