I spend about 8 hours a day staring down on a Windows 7 screen, and sometimes I get really tired of looking at it. On top of that, I really do enjoy using a Linux operating system when I get the chance. The problem came when Ubuntu just stopped working for me.
The Problem
Recently, I installed Ubuntu on my machine and the performance have started to degrade on over time. I have noticed that once I have installed the latest video drivers for my computer, Ubuntu would hang with no chance of recovering from it. At this point in time, I thought that enough was enough and I decided to move on to other Linux distributions.
Research
Considering that I use VirtualBox to create and use virtual machines, I wanted to take a look at what VirtualBox have listed in their operating list under the “Linux” category. After doing some research, I found one distribution that had the most appeal to me: Arch Linux. I sat down and watched a YouTube video review, looked at Arch Linux’s site, and I was impressed with what they have to offer.
Here are a few things that I liked about it:
- Lightweight
- Completely customizable
- Rolling-release (explained later)
- Clear and direct documentation on the installation process
The drawbacks:
- No “one-shot” installer
- Configuration and installation are completely command-line
- Not for beginners
“Rolling Release”?
One of the things that have gotten my attention was the “rolling-release” model of Arch Linux. What “rolling-release” means is that all of the software updates will be available immediately. That is, as soon as the software vendor (e.g. Mozilla for FireFox) releases an update, the update can be applied immediately.
What makes the rolling-release model interesting is that when installing Arch Linux through the live CD, all of the packages that is being downloaded and installed are up-to-date right away.
The Trial Run
One of the advantages about using virtual machines is the ability to test an operating system without having to install it on a real machine. I have spent quite a bit of time just trying to install and test Arch Linux in a virtual machine. If I had not practiced with in the virtual machine, I would have been stuck with a computer that may have not be very useful.
With in the virtual machine, I was able to try out various different desktop environments including GNOME3, KDE, and LXDE. My first initial desktop environment that I went with was LXDE.
Installation
Now, it was time to do the real installation. I have deleted my virtual machine, created the Arch Linux Live CD, and started working on the actual installation.
Disk Partitioning
For me, disk paritioning was already done by using Parted Magic. I have used the following partitioning layout on my primary hard drive:
- Windows 7 Boot Loader (set up by the Windows 7 installer)
- Windows 7 Professional
- Extended Partition:
- Linux Boot Loader (mounted to /boot)
- Linux (mounted to /)
- Swap
I highly recommend downloading and setting up the partitions through Parted Magic. Parted Magic has the ability to re-size, move, create, or delete partitions easily.
The Installation Process
In order to even begin the installation process, an Internet connection must be set up. I do have a wireless connection set up, and the quickest and easiest way of connecting to the Internet was to create the WPA pass-phrase and have the wireless connection established using WPA Supplicant. Thankfully, the Arch Linux documentation was clear on how to set it up:
wpa_passphrase MyEssid "MyWirelessKey">/etc/wpa_supplicant.conf wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant.conf
Once that was set up, I just needed to make sure that I have an IP address:
ifconfig wlan0
And pinged Google:
ping -c 4 www.google.com
Once I saw that there was a response from Google, then I was ready to begin the installation process.
Since I have already created the partitions, I can go ahead and reformat the Linux partitions and then mount them. First, I made sure that “/dev/sda” was numbered properly. I have two other hard drives on my desktop (one IDE used for Windows swap, and an external USB hard drive). Once I saw that “/dev/sda” was number properly, I formatted the partitions and mounted them (again, thanks to the documentation):
mkfs.ext2 /dev/sda5 mkfs.ext4 /dev/sda6 mkswap /dev/sda7 && swapon /dev/sda7 mount -t ext4 /dev/sda6 /mnt mkdir -p /mnt/boot mount -t ext2 /dev/sda5 /mnt/boot
Once the newly created file systems were mounted, I was ready to begin the installation:
pacstrap /mnt base base-devel grub-bios
This command will install the core packages as well as GRUB.
From there, Arch Linux began the software installation process with the initial configuration. Once everything is done, I needed to get the file system configuration ready. In this case, I wanted to make sure that I use the UUID of each partition:
genfstab -p -U /mnt>/mnt/etc/fstab
With this command, Arch Linux generated the file system configuration automatically.
Considering that there were some configurating that needed to be done that was not too different from the Arch Linux’s Beginners Guide; I am not going to go on with the rest of the details of how I set up the host name, time zone, localization, wireless networking, and the root password.
One thing that I had to do differently was to make sure that Windows 7 was listed on the GRUB boot loader menu (based off of their documentation):
mkdir -p /mnt/WinBoot mount -t ntfs /dev/sda1 /mnt/WinBoot grub-probe --target=fs_uuid /mnt/WinBoot>>/mnt/boot/grub/winuuid.txt vi /mnt/boot/grub/custom.cfg
Then I just created this part first:
menuentry "Windows 7 Professional" {
insmod part_msdos
insmod ntfs
insmod search_fs_uuid
insmod ntldr
I had to leave “vi” and then run this command to get the Windows 7 Boot partition UUID:
cat /mnt/boot/grub/winuuid.txt>>/mnt/boot/grub/custom.cfg
And then go back to editing the custom GRUB configuration in “vi” to finish out the configuration:
vi /mnt/boot/grub/custom.cfg
With this block:
search --fs-uuid --no-floppy --set=root [Windows Boot UUID, from the CAT] ntldr /bootmgr }
Then everything was ready to go in getting the base Arch Linux installation ready:
grub-install --target=i386-pc --recheck /dev/sda arch-chroot /mnt passwd exit reboot
Typically, it is recommend that the CD is taken out of the optical drive. I left it in there, just in case something went wrong with my installation and configuration. I told the boot loader from the CD to boot into an existing OS. Then, I booted into Windows 7 to make sure that I can at least have a semi-operating system ready and that the Windows 7 partition did not get corrupted.
Final Thoughts
All in all, this had been a lot of fun (for me at least) to install Arch Linux, and did a lot of problem-solving on my way through the installation. I ran into a few issues here and there, but I was to get past them with a help from the documentation.
As a side note: just like the reviewer from the previously mentioned YouTube video, I had to have five or six different tabs opened in FireFox when I was testing Arhc Linux in the virtual machine. Even through-out the actual installation process, I had to use my phone to view the documentation and then moved on to having it opened in “elinks” in a different console terminal.
In my next post about Arch Linux, I will go through the process of setting up an XWindows system, and the final result of which desktop enivornment that I went with instead of LXDE.