I'm sick of hearing Linux is hard. Well, actually, I'm not. It makes me feel supremely geeky and superior. Anyways, onto my enthralling story. Over this summer I forced myself to acquire Linux knowledge so I could get a reasonably easy and decent paying summer job I was offered. I decided I needed to have it as my OS at home. So I grabbed an 80gb hard drive at Best Buy(~$40 after rebate I think), popped it in and started *nixing. I installed everything under the sun, with the exclusion of Gentoo. Fedora pissed me off. Mandrake was annoying and chirpy. Debian was nice, but burdened me with needlessly complex configuration scripts, not to mention sarge's troublesome hardware detection. Suse managed to piss me off somehow, but I don't quite remember how. Anyways, I arrived at Slack as it was the only distro that seemed as if it wouldn't piss me off. Here is the process I went through for my current install, in the hope it will help others. I'm assuming you have some knowledge of just what it is you are doing, as in, you know your way around a linux system enough so that you're halfway useful.
First off, here's my System:
ABIT KV7 Via KT600 Mainboard
512mb Corsair Valueselect Ram
WD 80gb and Maxtor 80gb
8x Memorex DVD+-RW
Powercolor ATI Radeon 9700 Pro
Thermaltake TWV-480 Power Supply
ATI Radeon Cards are well known to be a royal pain in the ass under linux, and my chipset/mainboard isn't supported the greatest, so I knew I'd run into a few problems.
Hopefully reasonably self explanatory. The hard drive I wanted to use for this installation was second on the channel, so at the installation CD command prompt I typed 'cfdisk /dev/hdb'. I created a 15gb partition for /, a 1gb partition for swap, and allocated the rest for /home. I could have just gone with a 1gb swap and the rest for /, but I didn't want to lose all of my files in the not altogether unlikely event of formatting my root partition at some point.
I just selected everything because I have plenty of space, and I wanted to avoid hunting down packages down the road.
3) Boot Loader
I tried using the lilo config script that was part of the Slackware install, but it didn't seem to like the idea of putting my bootloader on the MBR of the second hard drive, so I just skipped it to do manually later. More on this later.
4) Rest of the Install
I set up networking to use DHCP(from my router, in this case), by just telling it to use DHCP to get everything. This works fine for me as I don't run any servers from my computer, so I don't care what the IP is. I don't exactly remember what else is in the install, but just use common sense, and if in doubt, just hit enter
5) First boot
Since I skipped bootloader installation before, I had to boot from the CD. It tells you how to do this in the CD welcome message, but here's the command I used anyways: 'bare.i root=/dev/hdb noinitrd ro' Upon boot, my system got to hotplug hardware detection and promptly froze. I rebooted again, and added 'nohotplug' to the string of boot options, and this time I was able to get fully booted.
The first thing I needed to do was get a bootloader installed. I logged in as root, first of all. I took the configuration file generated by the slackware install(/etc/lilo.conf), fired up pico, and changed the boot option to 'boot=/dev/hdb1'. Afterwards, I ran lilo with no switches. Then, remembering I wanted it installed on the MBR of hdb, I used the command 'lilo -M /dev/hdb'. All set.
6) Second boot
Since I installed the bootloader on the MBR of the second disk, I had to change the boot priority in my bios. I rebooted and lilo came up succesfully. Remembering the hangup on hotplug, I added the nohotplug option at the lilo prompt. Since hotplug was disabled, my USB mouse obviously wasn't working, so I didn't even bother starting up X. I browsed a bit with links and found that I needed to set USB mouse and Keyboard support to 'BIOS' instead of 'OS' in my bios. I rebooted, did this, and was now able to boot up. Excellent. I went about doing a few basic things that I don't feel the need to mention, such as adding users.
7) Kernel Compile
I wanted to run a 2.6 kernel, since I know for a fact my hardware is supported much better under it. I grabbed the latest stable kernel(220.127.116.11). I copied the config file from the old 2.4 tree to the new 2.6.8 directory. I ran 'make oldconfig' to copy over as many settings as possible. I started up the xserver after this, as I like to use xconfig(make xconfig in /usr/src/linux). I set the processor type to Duron/K7, as this is my chip type. Within the ALSA section, I selected everything in the main section as a module. I use the onboard sound on my motherboard, and I knew it used the snd_via82xx module under alsa, so I made sure I selected this module to be compiled. Getting the framebuffer working took me a few compiles, and thanks to another LQ user I recently fixed this problem. Check out the thread here
. Basically, I just made sure all the drivers and filesystems I need were going to be included. I then compiled the kernel with 'make', the modules with 'make modules', installed them with 'make modules_install', and compiled the bzImage with 'make bzImage'.
I added my kernel as a boot option, so I could go back to 2.4 in the likely event of a problem. To do this, I copied the bzImage I created from /usr/src/linux/arch/i386/boot/ to /boot/ . I renamed mine to bzImage-2.6.8 or something like that, so I knew what it was. I also copied the System.map from /usr/src/linux/ to /boot, and name it something like 'System.map-2.6.8'. I created a symlink called System.map that pointed to this file. To add the entry to lilo.conf, I basically copied the entry for the existing 2.4 kernel, except made it point to my new 2.6.8 kernel. I then ran lilo the same way I did before, and rebooted. Of course, all this did NOT go perfectly in one compile. I probably recompiled the kernel 10 times before I got to my current working configuration. Don't expect everything to work the first time, and be absolutley sure to keep the 2.4 kerenel as an option, just so it's there if you need it.
After I had my brand spankin new kernel working, I had to do a few things I skipped before. I ran alsaconf, and it ran through fine. However, whenever I played a sound file, whatever app I did it with crashed, and alsa spit out a bunch of garbage to the terminal. Not good. I researched it a bit, and found that ACPI had to be disabled. I added append="noapic acpi=off" to my lilo configuration, rebooted, and everything was fine. I'm looking into a way to use the onboard sound and have ACPI enabled.
9) ATI Drivers
DUM DUM DUM!!!! I grabbed the XFree86 4.3 rpm from ATI's site. I did rpm2tgz with the package, and installed it. First relief, everything went where it was supposed to. Now, I had to build the kernel module. As superuser, I navigated to /lib/modules/fglrx/build_mod. I executed the make script with 'sh make.sh'. Fingers crossed, and it compiled. I went to the parent dir and typed sh make_install.sh. No errors! I modprobed fglrx, and it loaded with no errors still. I ran fglrxconfig, and renamed the file to xorg.conf. I closed my eyes and fired up X. fglrxinfo told me, and still tells me I have a 9500 pro, and not a 9700 pro. 3D acceleration works reasonably well now. Oh yeah, and I added 'modprobe fglrx' to my /etc/rc.d/rc.modules file, so I didn't have to load it manually every time I booted.
Well, there you have it, from start to finish my setup of a Slackware 10.0 System with a 2.6.8 kernel on my box. It wasn't without it's problems, but I now have the goodness of an up to date slack system on my box. I've played CS, Far Cry, JKA and a few others via wine or cedega and all have run decent enough. Well, this was my experience, it turned out pretty well in the end. I'd be glad to elaborate on anything I've mentioned here, just let me know.