A few folks may have noticed that development on Spin, SpecOS and BASin have somewhat stalled of late. There are several good reasons for this (the state of the Speccy community being one) but the main one is that I’ve pretty much abandoned Windows.
A while ago, I installed Win7 on my aging Samsung R60+ laptop. It runs like a dream, it really does. But it would appear that Microsoft and myself are drifting apart. Windows no longer makes things easy – in fact, at the moment I’ve got uTorrent running, downloading some software for my little project, and there’s no way in Windows to check what the download speed is. Normally, I’d just hover my little ol’ mouse pointer over the uTorrent system tray icon, and get the info. Now I need to find that icon before I can hover. I could easily tell Windows not to hide that icon, but the more icons get unhidden, the more space is taken up on that already-bloated taskbar.
And that’s just one example of how Windows is getting more unfriendly. More stable, yes – Win7 doesn’t crash for me, but that’s no longer enough. I’ve heard that other OS’s don’t crash either.
Another reason is that I have a Pandora on order. This is an open device, about the size of a Nintendo DS which runs linux (custom-built Amstrong distro), on an ARM cortex A8 processor. Not just the noddy “might be linux” that the GP2X and Wiz both run, but the real thing – XFCE desktop environment and all. It has a keyboard as well as the gaming controls (twin analogue nubs! Wheee!) and so I’ve decided that in order to get the best usage out of this thing, I’m gonna have to learn linux.
So here’s what I did, and how I did it.
First, I must say that I’m completely linux-unaware. Well, I know what it is, but I’ve never used it. I’m not afraid of a command-line; I was a very active Amiga hacker back in the day and I’ve heard that AmigaOS is very much like linux these days. I do still pratt around in WinUAE, but that’s not the same as it used to be. I know pretty much all there is to know about how Windows works – at least, I code for the Win32 API and have done for a long while. The filesystem is easy to understand, and I know what the Windows system files do and where they go. If Windows does go tits-up, I can fix it. Never had an instance where I couldn’t.
Linux, eh? I asked a mate – “What do I need to get linux on this thing?”
Wish I’d never asked. There isn’t a “linux”. There’s “Distros” (or “Distributions”) and each one is a flavour of linux subtly different from the others. So a quick google later, and I chose my Distro. I wanted one that would teach me Linux, not just the basics, but the whole shebang. The Windows UI attempts to hide a lot of the functionality for you – a noble purpose, given that 80 year-old grannies use it – but that’s not what I want. I want something that when I say “I want to change the way I do such-and-such”, it says “Ok, have at it!”. There are distros that try to be Windows – Ubuntu seems to be one of them – and because of its graphical nature, I decided against it. I wanted to install, and then work my way up from the command line.
The one distro that stood out above the rest was Slackware. Why? Because I’d seen in the google searches that Slackware is hard. Not only that, but the overriding comment about Slackware was that “Slackware will teach you linux”. It’s phenomenally stable, the people who maintain it are fanatical about stability and reliability. Well, I’ll have me some of that, thanks very much! I don’t mind a learning curve, as this is purely about educating myself.
So, off I toddled to the Slackware site. It’s a reassuringly plain affair – no fancy graphics, just text and links. You can tell that these folks are serious about their image. I set about downloading the three CDRom ISOs for the 32bit x86 version. This will run on just about any PC you can imagine. My net connection is slow, so I just forgot about it for a few days.
About halfway through the second disk, I had an idea – what about 64bit? Am I running a 64bit CPU? Possibly, but I had no idea. Windows identifies my CPU as a “T2330″, and a quick google on that identifier brings up a wikipedia page – YES! It’s a dual core 64bit CPU. I aborted the CD downloads, and snagged the 64bit Slackware DVD ISO instead.
At this point, I’m getting quite excited about the idea of a new OS. And at the same time… What if things go wrong? A friend on IRC suggested I dual-boot. I’ve never done this before, but have heard about it.
Now, my PC setup is a 160GB HDD, with two partitions, both 65/70GB in size. I also have a 1TB external USB HDD, so I cleared out my D: drive (the second partition), backing up to that. There’s nothing on there but data, so no functionality was lost to the Windows system. Now what?
Googling “dual boot linux and windows” didn’t show much about Slackware, and the pages I did find were pretty confusing – using fdisk to set up a swap partition and create a linux partition is pretty much greek to me at this stage, so I conceded that I needed help.
I joined the LinuxQuestions forum. After searching around, I couldn’t really find the info I needed, so I posted – fully expecting the torrent of “use the search function, moron” responses I was inevitably going to get. In fact, I only got one relatively moronic reply – everyone else was helpful (and dare I say, enthusiastic?) in helping me. The one reply that was less than helpful contained the words “I answered this question two days ago” – but given that I didn’t know what to search for, his ever-so-helpful answer didn’t appear for me, and the pages he linked to were frankly bollocks to a guy who knows Windows but nothing else, and has never partitioned a hard drive before. I suspect some linux experts forget that everyone has to start somewhere – maybe they’re a little possessive of their hobby, and don’t like the idea of windows “n00bs” muscling in. I dunno.
I was advised to use the Windows disk management tool (search for it on the start menu, folks) to delete the D: partition, and then boot a linux live-DVD to do the partitioning. What, more downloading? You’re kidding, right? I only get 20KB/Sec! Or I could use fdisk. Or cfdisk, which is a “slightly more graphical version of fdisk“. Hmm.
I got a bit foolish then, and decided to do it without a live-DVD. What could possibly go wrong, right? Ha!
So, having deleted the D: partition (and changed my underwear afterwards) I popped my newly downloaded Slackware 13 64Bit DVD in the drive and rebooted.
Now, a lot of people who use Windows have a failing, and that failing is that they don’t read the screen. I’m no exception, and I had to concentrate hard to read what that DVD was telling me. It was, in fact, telling me to keep pressing RETURN at each prompt. Which got me to a command-line prompt. Oh dear. In the words of pretty much every text adventure I’ve ever played… “What now?”.
Well, I knew two commands (three, actually – fdisk, cfdisk and setup).
I typed “cfdisk” and looked in horror at the screen. It’s all text. If that’s a “more graphical version of fdisk”, I don’t want to see fdisk. But by carefully reading the screen, I created two new partitions – one, 5GB, set as a linux swap partition. The other, 70GB, as Linux. I looked around to make sure I had a supply of fresh underwear (yes, this is that scary) and wrote the partition info out to the boot block (or MBR).
Then I panicked, popped the DVD out of the drive and rebooted back into Windows 7.
Windows still boots fine, so I restarted again, with the DVD in the drive. I breezed through the prompts, and got back to the command line. This time, I was more confident. I almost nonchalantly typed the magic word, “Setup” and sat back.
Wow. It’s like the old 286s I used to code on back in the day. All DOS-style interfaces. Kind of cute, really. No-nonsense. No graphics. This installer just oozes confidence and stability. What could possibly go wrong, right?
The installer, when you read each part, is a breeze. Really. It’s almost impossible to fuck up – it finds (and formats) your swap partition, and your linux partition. I chose ext4 – because 4 is bigger than 3, so is obviously better. I noted that reiserfs was available, and I’d heard that one murders your wife, so chose to stay away from that one. Partitions formatted, I chose a keyboard layout, a font, and some other options I can’t quite remember (Oh yes, I chose KDE4 as my windowing desktop thing). Then I came to the end of the options, and (being the utter N00B that I am) told Slackware to just install everything.
Back to the start, I tried again – it must be a problem with the DVD or summats. Having crashed while installing “P” (and no, I have no idea wtf that is), I watched it crash while installing “A” the second time round. Oh dear.
Crash? No, the PC just shut itself off. I noticed that the underside of the laptop was very hot. The CPU had overheated. So I sat it on an icepack, and tried again!
About ten minutes later, I was asked how I wanted to boot this thing – it had noticed that I already have a windows install, and would I like to add it to the LILO (no, I have no idea what LILO is) loader? Well, fearing for my backup Win7 install, of course I would!
Here I should mention something very important.
If you let this LILO do its thing (whatever that is) in your MBR (boot block) then Windows might be well hosed. Enough to need a recovery disk. You can install to the linux partition though, to the “superblock” (you guessed it, I’m stumped as to what that is), and leave the MBR alone. If you do that, though, you’ll need to do what I did, and boot back into windows to use EasyBCD (a free download) to manage your Windows boot loader. It’s easy enough to do, and takes about 5 minutes.
So now I’m told to reboot. Which I do, and after a few moments of text flying up the screen (and with a couple of bluey-green tux penguins sitting at the top – more on that later), I’m prompted for a root password, which I give.
“Root” is “admin” in Windows. You’re probably an admin in Windows, ‘cos everyone is. You can’t get anything done without it. But Root isn’t quite like an Admin – there are differences, which I’ll get to in a later post.
So finally, after absolutely no hitches whatsoever (that is, none to do with installing Slackware), I’m sat at the command line, logged in. And absolutely lost. None of the commands (except DIR) that I know are working, and worse still, I’m quite scared that they’ll kill my install if I use them – they are probably different to the DOS that I know.
Fucked if I know. They don’t really provide a manual that I can get to on this machine. I tried “help” but that got me nowhere. It does give me a fortune cookie every time I log in, though.
Okay, so my previously elated mood has been… deflated, I suppose. I’m at sea, I’m up the creek without a paddle, I’m totally fucking lost. And it’s my fault. If I’d only gone with ubuntu, I’d be looking at a GUI right now. But I’m in Slackware, where idiots fear to tread, and I’m gonna have to deal with this.
Right! Reboot, back into Windows 7. Ah, sweet familiarity. No googling this time, I’ll talk to someone. A friend on IRC asks what’s wrong? I answer that I don’t think I’m ready for a command line yet. “No problem, just startx, and you’re done. You’ve installed X, yes?” “yes” “And you’ve got a desktop in? KDE or Gnome or somesuch?” “Yes”
“Just ‘startx’ then”.
And back to Slackware I go.
I dutifully read the fortune cookie, then type in the magic word.
Oh my. The screen goes black, then a blue backround appears. It’s the right screen resolution, too, and even Windows 7 didn’t get that right. Then a taskbar, with what can only be described as a start menu! Joy!
It wasn’t all plain-sailing, of course, but for now I had a base that I recognised. I could tinker with settings and faff with the filesystem. I’m still root, so I need to be careful, but I’m happy. The command line can wait.I’ll deal with you later, my friend.
And KDE4 makes Aero look like shite. Seriously.
To be continued…