I will spare you the frustrating first install experience and instead discuss my *slightly* smoother second install experience. After stumbling around with it the first time and installing random things trying to get a desktop manager installed, I decided to just start over so I deleted the partition and reinstalled Arch Linux from scratch.
First thing is first, in the install experience:
I downloaded the iso from the Arch Linux website on Windows, then promptly tried to figure out how to burn it onto a flash drive. I didn’t have dd which surprisingly I miss on Windows quite often, so I tried unetbootin. This sort of booted my computer, but would eventually crash with the error “Waiting for /dev/disk/by-label/… to load” or some other such error. It would inevitably time out and none of the possible solutions I could find on the internet would work. Suffice to say, I learned that unetbootin doesn’t work for this iso for some reason. Instead I used the ever-useful Win32 Disk Imager. It wants to burn .img files, but for the purposes of this iso (don’t ask me why), you can just type in the name or use the gui to change the filter from *.img to *.* and select your iso file. This worked for me and allowed me to install Arch Linux (twice).
I have a Windows 7 install already on the hard drive taking up the entire space of the drive. I learned mid installation that the Arch Linux disk utility (I believe it is cfdisk, can’t believe I already forgot the name) doesn’t shrink partitions like gparted does (the disk utility included in Ubuntu based installers). So I had to quit and go to Windows to shrink the partition a measly 8GB. Small, but enough for my purposes.
Next you select your packages. Arch Linux is all about minimalism so if you know what you’re doing, you can select whatever you want and only get the things on your system that you know you need. This is unlike many other distro’s that try to “hit the broad side of a barn” by installing everything you could possibly need (in my understanding). If you don’t know what to install, I highly recommend ‘iw’, and all the base-devel packages (near the bottom, you’ll see them; there’s 12 I believe). I say to install iw because the Arch Linux Beginner’s guide references iwconfig, but if you don’t install iw then you won’t have it on your system and you’ll be left confused like I was.
Next, you will have the option to modify a few conf files. My first time around I had no idea what any of them were so I left them blank. This is a good approach, because it will force you to read wikis and guides and figure out what you need when you inevitably run in to problems later. I’m going to save you some headache and tell you to modify the mirrorlist file. Find your country and delete the ‘#’ in front of a couple nearby-looking servers in the list. This will allow you to use pacman to install things. Otherwise you’ll just get a series of ‘… not found’ errors when you go to try and install things that will leave you pissed off.
Also, and this is important, SET YOUR ROOT PASSWORD. Also, DON’T FORGET YOUR ROOT PASSWORD. There’s not too much else I can say about the rest of the install. It went smoothly.
Once you finish the install process (which is incredibly short and sort of lacks the “install” portion of the process that Windows and other distros have (ie where you watch a progress bar for 15 minutes) but hey it works and its fast!), you get a command line. Just type ‘reboot’, and your system will reboot into another command line that will ask you to login.
Login as ‘root’, and use the root password you set during the install process (you did listen to my advice, you know, the words in all caps above, didn’t you?).
Now, if all you want to do is make text files and play with bash tools on your computer, then you’re done! Bash away to your heart’s content!
If you want to do more with your system, you’re probably going to need to install some things. To do that, you need an internet connection. Generally, you can just follow the Beginner’s Guide on the Arch Linux Wiki. If you have a setup like mine, I’ll tell you what worked for me. I’ve got a wireless router with a WPA2 Personal password set. We’re going to use a program called ‘wpa_supplicant’ to connect to this. I’ve never heard of it before, but that’s never stopped me from breaking things in the past.
First, backup the existing /etc/wpa_supplicant.conf file by typing “mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.bak”
Next, create a new file by typing “wpa_supplicant YOUR_SSID “YOUR_PASSWORD” > /etc/wpa_supplicant.conf”
Next, we will type this command: “wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf”
I’m not sure what it does exactly, but its required. I can tell you that -Dwext is an argument specifying some sort of driver (probably generic?), -i wlan0 obviously is specifying the interface, which is wlan0 for me, but if you have half a dozen wifi cards on your exotic laptop, then you may want to type “ip addr” and figure out which one you’re going to use and change that argument accordingly. -c /etc/wpa_supplicant.conf specifies the wpa_supplicant file we created just a moment ago.
Finally, assuming you are running DHCP like I am, you type “dhcpcd wlan0” and you get a series of outputs that should culminate in a recognizable IP address (192.168.1.xxx for me) and some other cryptic things). Test out your new connection by pinging something “ping google.com”. You should get responses back. If you all you get is dropped packets, you probably don’t have an internet connection.
Great, we have a connection, lets start install all the free linux stuff now! Not so fast, for some reason, everything is broken and shitty. The Beginner’s Guide wants you to update pacman, and this is a good idea, except it doesn’t work. Both times on brand new, haven’t-touched-anything, installs, I got conflicting files errors from a few files that belonged to tzdata. How do I know they belonged to tzdata? While searching to try and remedy this error, I discoverd that you can figure out what package a file belongs to by typing “pacman -Qo FILE_PATH”. All three of the conflicting files belonged to tzdata. The first thing I tried was updating tzdata. It told me updating it was a bad idea because pacman needed to be updated, which made me turn green and kill a few innocent bystanders; after all, I couldn’t update pacman because tzdata needed updating, now I can’t update tzdata because pacman needs updated? Ridiculous. Poppycock.
At least it gave me the option to ignore this warning and continue anyway, which I did, and flowers and candy promptly materialized and the day was generally happy for another few seconds until I tried doing more things with Arch Linux, when it all turned to shit again. At least after updating tzdata, I was able to update pacman. Also, don’t forget that to do the “pacman-key –init” stuff (which you must do, otherwise half your installs will fail for cryptic reasons), you must update pacman first. I repeatedly tried to do pacman-key –init before updating pacman (and tzdata) and it just told me it didn’t know what the hell pacman-key was, and that I should go **** myself. After more innocent bystanders were injured in my ragefest, I decided to update pacman, and then afterwards tried the pacman-key –init command, finding to my delight that it now magically worked. I should note that I’m not trying to replicate the Beginner’s guide here, after pacman-key –init is done (and it takes a LONG, LONG time (protip, type an ‘&’ at the end to make it run in its own terminal and let you play at the command line while it works)), you have to to pacman-key –populate archlinux to finish that process. I may not mention things like this that don’t give me grief.
Next, update the package list like the wiki says: “pacman -Syy”, then update the entire system “pacman -Syu”.
Add your user “adduser” since its bad to always play as ‘root’.
Now, you get to finally install whatever you want. At least you get to attempt to do so. My troubles the first time around were in trying to install an GUI of some sort. Specifically, I was thinking (stupidly and naively of course) that I could replicate this: http://www.necopost.com/2011/11/gnome-terminal-as-lightweight-desktop.html. That failed miserably and was the source of my problems. With that learning experience behind me, I’m going to attempt to install a more conventional GUI and hope it goes more smoothly. I will try to update this with my experience, but seeing as how I never post to this blog, you shouldn’t hold your breath. I won’t be responsible for the brain damage that will ultimately ensue, although I firmly believe that Arch Linux would be jointly responsible for that brain damage.