My woes of remote Arch Linux installation…
Before I begin, I am going to assume that you know what a lot of common *nix commands and programs are. I’ll try to explain some things, but if you don’t know about Linux, SSH, port forwarding, or ISOs, then steer clear of this article until you know about them.
I have a great friend named Ava who loves computers almost as much as I do, but she doesn’t live anywhere near me. She’s installed Ubuntu Linux (before it was a bloated mess) using the Wubi installation method (installs it inside of Windows on a virtual partition), but now she doesn’t have it because she had to reformat Windows a few times. She had spring break this week, so I decided I’d help her install a GNU/Linux OS. My favorite, and the one I’m using right now, is Arch Linux, a “rolling release” distribution that doesn’t need to be re-installed every 6 months or so like the more popular distributions. Setting up any other distribution at this time of year would be a waste of time because new versions of each are expected next month, so she would have to re-install twice. If she installed Arch, she wouldn’t have to upgrade so often and, in the long run, support would be much smoother, so we decided to install Arch. The problem though is that Arch is rather complicated to set-up.
Because Ava isn’t familiar with command line/terminal interfaces nearly as much as I am, I decided to SSH into her desktop from my house and do the installation myself. Her desktop was behind a firewall, so I decided to use a reverse SSH tunnel to connect. If you’re unfamiliar with that, think of it sort of like throwing a grappling hook onto a ledge so whoever is on the other side can climb across. Unfortunately, on the day we decided to install Arch, I couldn’t figure out the port forwarding settings on my router so she could connect to my desktop in the first place, so she gave up because she had other things to do. As soon as she gave up, though, I figured out the problem and made sure that it worked. That was yesterday though, so let’s fast-forward to today:
Today, I had her connect and I set up Arch Linux for her almost perfectly. I had her reboot and the GRUB bootloader showed for her just fine, but it said that it couldn’t find the kernel to load. I had her load up the install disc again, connect again, and let me edit the file. That failed because she forgot the passwd command so I could login with SSH. I had her reboot a third time, and then it gave an error that she couldn’t listen to any ports on my desktop for reverse tunneling. I rebooted and then it worked, but she also had to reboot for a fourth time because her “Ctrl” keys on her keyboard were dead and she couldn’t cancel her failed SSH tunnel or switch to another tty. Finally, it worked and I corrected the error in her grub config file; it pointed to the wrong boot partition, which was easily fixed.
Unfortunately, we were worse off than before; nothing booted. After GRUB loaded up, it gave “Error 18” when she tried to launch any OS, even her old Windows partition. This, obviously, was incredibly bad. Basically her BIOS sucked and refused to read the boot partition because of where it was on the hard drive, which was completely unforeseeable. I had her launch the install disc up yet again and gave her a command to remove her Master Boot Record, which I thought would fix the problem. It made her worse off though because it didn’t even detect Windows! Needless to say she was freaked out and we were in a pretty deep hole.
I gave her the ISO to BG-Rescue Linux, an incredibly small busybox-using rescue disc with the ms-sys utility, which can be used to install Windows MBRs to a hard drive. After I helped her boot it, I told her the command to install her bootloader and it worked! She rebooted and Windows loaded fine. Unfortunately, if she ever wants Arch Linux installed we’d need to move her Windows partition over by about a GB or so, which would take a lot of time, so we might not ever do that.
Oh yeah, and it didn’t help that through all that my cousin was here and wanted to play video games. What a day, what a day…