I've recently bought an Antec Aria case. I bought it in part because it's got a pretty nifty built-in CF & CD card reader. I'd planned on installing WinXP on it, but after receiving the case I was pleasantly surprised to find that the CF card reader is supported in Linux as well. So about two weeks ago I installed FC2 on this system (Antec Aria & Biostar M7NCG 400) to see if I liked it. I'm _really_ pleased with FC2 so far... now I'd like to add the required support for the CF card reader. I've read the documentation supplied by Antec, but I can't relate it to my system (no doubt 'cause I am Linux Newbie Extreme). I've Google'd for HOW-TO's to help, but have had no success. I did try just mounting the device, but got an error message: # mount /dev/sda1 /mnt/cf mount: /dev/sda1 is not a valid block device I've enclosed the complete instructions provided by Antec in the hopes that someone can "translate" this, and help me round up the required kernel sources, etc. My confusion starts with Step 1: Where do I get FC2 kernel source & where does it get installed? Thanks, Jay Moore ----- Begin Enclosure ------ Installation instructions for using the Card Reader with the Linux OS. Note: The Linux kernel used must be 2.4.0 or above. 1. Getting the source code: You can obtain the source code via anonymous ftp from ftp.kernel.org in /pub/linux/kernel/vx.y a) where x.y is the version (eg 2.4), Note: versions ending with an odd number are development releases and may be unstable. The source code is typically labelled linux-x.y.z.tar.gz, where x.y.z is the version number. Many sites also typically carry ones with a suffix of .bz2, which have been compressed with bzip2 (these files will be smaller and take less time to transfer). It is recommended to use ftp.xx.kernel.org where xx is your country code. Eg. ftp.at.kernel.org for Austria, and ftp.us.kernel.org for the United States. 2. Unpacking the source code: Log in as or âsuâ to `root', and cd to /usr/src. If you installed the kernel source when you first installed Linux (most Linux users do so), there will already be a directory called `linux' there, which contains the entire code source tree. If you have the disk space and you want to play it safe, save that directory. You will need to determine which version your system runs now and rename the directory accordingly. The command `uname -r' outputs the current kernel version. Therefore, if `uname -r' said `1.0.9', you would rename the directory `linux' to `linux-1.0.9' using the âmvâ command. Make certain there is no `linux' directory in /usr/src before unpacking the full source code. Now, in /usr/src, unpack the source with `tar zxpvf linux-x.y.z.tar.gz' (if you have a .tar file with no .gz at the end, `tar xpvf linux-x.y.z.tar' will work.). The contents of the source will scroll by. When finished, there will be a new `linux' directory in /usr/src. cd to linux and look over the README file. There will be a section with the labelled `INSTALLING the kernel'. Carry out the instructions when appropriate -- symbolic links that should be in place, removal of stale .o files, etc. If you have a .bz2 file and the bzip2 program (read about it at http://www.muraroa.demon.co.uk/), do this: bz2cat linux-x.y.z.tar.bz2 | tar xvf - 3. Backup old kernel: The backup files have: /boot/vmlinuz /boot/System.map 4. Make mrproper: It is important to begin a kernel build with the source tree in a known condition. Therefore, it is recommended that you begin with the command make mrproper. This will remove any configuration files along with the remains of any previous builds that may be scattered around the source tree. 5. Configuring the kernel: Note: Some of this is reiteration/clarification of a similar section in Linux' README file. Verify that bash is /bin/bash, /bin/sh, or $BASH. The command `make config' while in /usr/src/linux starts a configure script which asks you many questions. âMake configâ requires bash. However, there are some alternatives to `make config' and you may find them easier and more comfortable to use. `make menuconfig' is probably the most widely-used. Whatever you choose, it's best to get familiar with the interface because you may find yourself back at it sooner than you think. For those ``running X,'' you can try `make xconfig' if you have Tk installed (`click-o-rama' - Nat). make menuconfig' is for those who have (n)curses and would prefer a text-based menu. These interfaces have a rather clear advantage: If make a mistake or make a wrong choice during configuration, it is simple to go back and fix it. The configuration options will appear in hierarchies with `make menuconfig' and `make xconfig'. You are ready to answer the questions, usually with `y' (yes) or `n' (no). Device drivers typically have an `m' option. This means ``module,'' meaning that the system will compile it, but not directly into the kernel, but as a loadable module. Some of the more obvious and non-critical options are not described here see the section ``Other configuration options'' for a short descriptions of a few others. With `make menuconfig', the space bar toggles the selection. The USB reader needs the following items: SCSI emulation support = y SCSI support = y SCSI disk support = y SCSI generic support = y Support for USB = m UHCI Alternate Drive(JE) or OHCI (Compaq,iMacs,OPTi,SiS,ALi,...) support = m USB Mass storage support = m Preliminary USB device filesystem = y Dos FAT fs support = y MSDOS fs support = y UMSDOS: Unix-like file system on top of standard MSDOS fs VFAT (Windows-95) fs support The optional items: USB verbose debug message = y USB Mass storage verbose debug =y 6. Make dep: This starts compiling and building kernel. 7. Make clean: This step is to clean the old kernel and drivers 8. Make bzImage: If compile is successful please do the following steps: (1) cd /usr/src/linux/arch/i386 (2) cp bzImage /boot/vmlinuz-x.x.x (x.x.x is kernel version) (3) cd /boot (4) ln -s -i vmlinuz-x.x.x vmlinuz 9. Make modules and Make modules_install: This step is to compile the modules. Because during the configuration process we chose âmâ we need to make the modules and use modules_install to install them. 10. Refresh the System.map The setp is as follows: (1) cp System.map /boot/System.map-x.x.x (x.x.x is kernel version) (2) cd /boot (3) ln -s -i System.map-x.x.x System.map 11. Edit the lilo.conf or grub.conf: If you selected GRUB as your boot loader, you need to modify the file /boot/grub/grub.conf like as following: # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You do not have a /boot partition. This means that # all kernel and initrd paths are relative to /, eg. # root (hd0,0) # kernel /boot/vmlinuz-version ro root=/dev/hda1 # initrd /boot/initrd-version.img #boot=/dev/hda default=0 timeout=10 splashimage=(hd0,0)/boot/grub/splash.xpm.gz ###############Our additional information############## title Red Hat Linux (x.x.x) root (hd0,0) kernel /boot/vmlinuz-x.x.x ro root=/dev/hda1 initrd /boot/initrd-x.x.x.img splashimage=(hd0,0)/boot/grub/splash.xpm.gz ########## x.x.x is compiler kernel version ######## ##################################################### title Red Hat Linux (2.4.18-3) root (hd0,0) kernel /boot/vmlinuz-2.4.18-3 ro root=/dev/hda1 initrd /boot/initrd-2.4.18-3.img title DOS rootnoverify (hd0,4) chainloader +1 If you selected LILO follow the same instructions as stated for GRUB 12. Mount the usb device: The last thing is to mount the device. (1)first create a folder of /mnt example: mkdir /mnt/cf (2)mount the device example: mount /dev/sda1 /mnt/cf