NAME

 Installing Linux (finally, Gentoo 2005.0) on an ASUS M6B00Ne Laptop

Installing Gentoo Linux 2005.0 on an ASUS M6B00Ne Laptop


DESCRIPTION

 This document is to describe all the steps (and related difficulties and solutions found)
 to install GENTOO LINUX 2005.0 on my ASUS M6B00Ne Laptop.


OBJECTIVES AND DISCLAIMER

Objectives of this document

 Writing this document, my objective is to share the solutions I found to successfully
 install Gentoo Linux 2005.0 on my laptop. After having tried a lot of distributions,
 and having taken benenit from a lot of publications from a lot of people on the 
 Internet (through linux-laptops, tuxmobil, forums, ...), I wanted to come with my
 own small piece of contribution. Really a pleasure.

Disclaimer

 Writing these lines, I want to clearly state here WHAT THEY DON'T INTEND TO :
 - I DO NOT try to replace the Gentoo Linux documentation, which is exhaustive,
   clear and well done. I just want to come with a feedback from my experience
   and provide some 'shortcuts' which could help at boosting the installation
   process SPECIFICALLY ON AN ASUS M6B00Ne computer
 - I DO NOT try to provide any detailed or exhaustive process. All informations
   contained in this document require the reader to have a basic knowledge of
   Linux (Unix can be enough), and to have a good knowledge of the Gentoo
   documentation (especially, the Gentoo x86 Handbook). Gentoo has well-documented
   specifics, I do not want to redo (in worst) what has already been well done.
 - I DO NOT guarantee IN ANY WAY that the configuration solutions I found for my
   own case will be reproducible by any way on another laptop, even if the latter 
   is 'similar' or 'identical' to mine. Gentoo moves every day, so does technology
   and especially hardware and BIOS in laptops. CONSIDER ALL THE RECOMMENDATIONS IN
   THE LINES HEREAFTER AS A SOURCE OF IDEAS, NOT AS A SOURCE OF RELIABLE
   SOLUTIONS.
 - Thanks for your understanding - HMag


UPDATES

 2005/06/20 - Added chapters to install Apache and Mysql (to be finalized), and
              chapter to setup PCMCIA to have a removable modem on my laptop.


HISTORY

 I first installed Linux in 1991, putting a slackware on an 486 DX II computer.
 Not an easy stuff, but it did work with a kind of X environment I don't remember
 and which does no longer exist now... It was nice, I was ROOT on my computer !
 This while, in these ancient times, it was not really possible to enjoy any
 real 'desktop' applications and/or tools....
 Then I went to the early versions of Mandrake, which were a real improvement concening
 package management, installation, and completeness of the "ready-to-use" environment.
 Nevertheless, managing versions and compliance between packages made the system and
 applications upgrade process really annoying. It was really difficult to follow-up
 the fast improvements of Linux.
 Then, Mandrake went on with quality but also with "proprietary" philosophy, requiring
 to be member of the (charged) "Mandrake club" if your expect to have access to a minimum 
 of support and other shared ressources as new package sets and forums. I really did 
 not expect to become stuck there.
 Then, I discovered Gentoo Linux in October 2004, by reading a magazine. This is the
 very first Linux I tried to install on my "just bought" ASUS M6Ne computer. Because 
 of my background in using other (and multiple) distributions (but NOT on a laptop), I 
 though I could manage to perform a STAGE 1 install. This became a nighmare :
 - I had the feeling to get back to the times of the fastidious Slackaware install
 - In spite of the large amount of documentation, nearly nothing worked : power off,
   sound, WiFi, modem, X-windows, etc... I had to set all parameters by myself and read 
   the related documentation for all system components !
 - I did not feel very comfortable with the "proprietary-like" aspect : 'portage' is 
   specific to Gentoo, all packages are named 'ebuild' and use specific tools to manage 
   their embedment and their dependencies, runlevels are managed in a new way, /etc is 
   completely re-organized and has to be re-discovered, a new set of commands for system 
   management, ... 
   In a few words, I had to learn again, nearly 'from scratch' (in spite of my past 
   experience), how a Linux system should be parameterized and managed... BEURK :-((
 - I finally went to the gentoo-laptop mailing list; I had some VERY unfair answers from
   some of these "pseudo-gurus" who feel as superior-class humans because they speak 
   "technical" and they succeeded one Gentoo install in their life... I got angry with 
   that and finally decided to give up and go to other "ready-to-use" distributions... 
   "NA"!!!   }-O
 
 Below are my trials next to that (year 2005)
 
 AUROX
 - Versions 9.4, 10.0, 10.2 (got through the AUROX magazine) : NONE OF THE BOOT CDs
   DID EVER SUCESSFULLY BOOT MY LAPTOP. In addition, I tried to make copies of the 
   install CDs/DVDs on my desktop computer; I regularly faced some "bad sector" 
   error messages.
 SLACKWARE
 - Slackware 10.0 : 'back to the roots', but tried for the last time : old-fashioned 
   install, old-fashioned kernel, old-fashioned modules, not really complete, ...
 SUSE
 - Suse Linux 9.1 - PERFECT ! With a minimum of extra "manual" system operations, you
   get a fully operational system with a lot of tools (I focus on the ASUS laptop).
   This while, some little bugs at the kernel level, a rather poor performance, ... 
   I decided to see 'what's new' with the SUSE 9.2..
 - Suse Linux 9.2 - PERFECT ! With the same minimum of extra "manual" operations, you
   get a fully operational system with a lot of tools (again, focusing on the ASUS...).
   I really recommend this distribution to owners of an ASUS M6 and who expect being
   'up and running' with a minimum of effort & time spent in system manipulations...
 - BUT... I still estimated the performance as not quite satisfactory, and in addition, 
   I really faced some package version & management difficulties when I tried to install
   some DVD and video manipulation software... In addition, the 'best way' was to stick
   to package versions bundled by SUSE (now Novell); I had to download a HUGE amount of
   data and to manually manage the package dependencies requirements. A LOT of lost time!
 I finally found a magazine providing a 2x DVD install of Gentoo Linux. I could not
 resist to the temptation : it came with the 3 install options : stage1,
 stage2 and stage3... GO !


INSTALLATION

 I did not expect to start 'from scratch' with the risk of huge disappointment
 because of a negative final result. So, I decided to run a Stage3 installation,
 knowing that I could 'recompile all' later once the configuration would be OK.
 The elements below sum up (as precisely as possible) all the operations I performed
 up to getting Gentoo fully up and running on my laptop.

STARTING WITH A STAGE3

General comments on the installations performed here

 In all the commands I give in what follows, I generally install packages
 with the "emerge" command, using the "-k" switch (e.g. "emerge -k grub").
 
 This is to install pre-compiled packages, which saves a lot of time when expecting
 to have a system up and running as fast as possible, instead of having to spend
 long hours waiting for compilations end. 
 
 Note that it is always possible to perform all the operations without the "-k"
 switch. Simply, the installation process will take more time. That's all.
 
 Finally, some "purists" will say that useing pre-compiled packages will provide
 a less efficient Linux. This is right for the packages that you did not compile
 by yourself. But if you have your own-compiled kernel and with related modules,
 the impact of using pre-compiled versions of most other system utilities is 
 relatively low.
 Finally, note that you can compile all the system utilities and libraries later
 if you really expect optimal performances.

Disk Partitioning

 My partitions were already Linux-compliant, because of the previous SUSE install.
 So, I decided to keep the partitions 'as they are' :
 - /dev/hda1 : FAT32 (vfat, 1.8 Go) - This is the 'hidden' partition coming with the laptop
   and intended to recover the pre-installed system if any problem
 - /dev/hda2 : NTFS (30 Go) - This is the 'basic' partition of the pre-installed operating
   system
 - /dev/hda3 : Linux Swap (1 Go)
 - /dev/hda4 : W95 Extended - To host the two other partitions below
 - /dev/hda5 : Ext3 (1 Go) - For the 'boot' partition
 - /dev/hda6 : Ext3 (20 Go) - For the '/' (root) partition
 
 NOTE
 I have a specific partition for boot, and no dedicated partition for 'home' (users
 personal directories). This is not the basic recommendation which comes with the
 Gentoo documentation, but as you will see in the next sections, this makes no
 difference when considering the final result or the ability to install Gentoo.

Typographic conventions

 - Lines starting with a '#' are COMMENTS, just like in a BASH script, aimed at
   providing indications on the meaning of the subsequent commands
 - Lines starting with a '>' are COMMANDS, generally preceded by a COMMENT, and
   showing one way to achieve what is briefly described in the related COMMENT
 - Lines starting with a '*' are FILE CONTENTS, generally related to comments
   provided by a preceding COMMENT.
   
 - EXAMPLES
   # Mounting the PROC filesystem (used to access to processes through filesystem)
   > mount -t proc none /mnt/gentoo/proc
   # This is the content of my own 'helloworld' file :
   *#!/bin/bash
   *#
   *# Echo the text
   *echo "Hello World!"

Stage 3 Install

Initial state (prerequisites)

 I start with the 2nd DVD provided in the magazine, useable as a boot disk and 
 containing all the Stage3 files, including package sources
 ('/usr/portage/distfiles' directory contents), as well as pre-compiled packages
 ('/usr/portage/packages' directory contents).
 Since you maybe will not have the same DVD(s) to perform your install, I redirect
 you to the Gentoo Linux x86 guide (available on http://www.gentoo.org) to reach
 by yourself an initial state defined as follows :
 - you have created a SWAP partition, a BOOT (for '/boot') partition, and a ROOT
   (for '/') partition.
 - you did boot with a Gentoo boot CD
 - you mounted your 'root' HDD partition under /mnt/gentoo. On my laptop :
   > mount -t ext3 /dev/hda6 /mnt/gentoo
 - you have all Stage3 files and directories under '/mnt/gentoo'. On my laptop :
   > cd /mnt/gentoo
   > tar xvjpf /mnt/cdrom/Stages/stage3-L+.tar.bz2
 - you have installed your portage tree under '/mnt/gentoo/usr'. On my laptop :
   > cd /mnt/gentoo/usr
   > tar xvjpf /mnt/cdrom/Portage/portage-L+.tar.bz2
 - the '/mnt/gentoo/usr/portage/packages' directory contains all the pre-
   -compiled packages related to a Stage3 intall. On my laptop :
   > cd /mnt/gentoo/usr/portage
   > cp -a /mnt/cdrom/distfiles/packages .
 - the '/mnt/gentoo/usr/portage/distfiles' should contain the minimal files for
   installation of binary packages
   > cd /mnt/gentoo/usr/portage
   > cp -a /mnt/cdrom/distfiles/distfiles .
 - in addition (this is optional), I also copied the distfiles (sources of packages)
   from the first DVD-Rom to be able to eventually compile some of the packages by
   myself. On my laptop :
   # Note : the current DVD in the CD/DVD reader must contain the distrib files...
   > cd /mnt/gentoo/usr/portage/distfiles
   > cp -a /mnt/cdrom/distfiles/* .

First installation steps

 # Indicate your system where to swap on (to improve performance)
 > swapon /dev/hda3
 # Mount your BOOT partition.
 # NOTE1 : on my system, I opted for EXT3, but you should indicate the 
 # actual filesystem type you chose when creating the related filesystem).
 # NOTE2 : Skip this step (and all future '/boot' mount operations)
 # if you want your boot files to be in the same disk partition as for your
 # ROOT (this is really not a key issue...!)
 # NOTE3 : create '/mnt/gentoo/boot' directory if it does not exist
 # (by: > mkdir /mnt/gentoo/boot)
 > mount -t ext3 /dev/hda5 /mnt/gentoo/boot
 # Mount the PROC filesystem
 > mount -t proc none /mnt/gentoo/proc
 
 # In the Gentoo handbook, a separate partition is used for users' home
 # directories. If you strictly followed these instructions, you SHOULD
 # mount the related partition here. I give this as comment here because
 # I did not choose that option and thus it is not an operation I actually
 # performed on my own computer/
 # > mount -t <your-home-fs-type> <your-home-partition-device> /mnt/gentoo/home
 # Create a new shell process (kind of 'jail'), where the root ('/' directory)
 # is based on '/mnt/gentoo' - This means that this new 'bash' process CANNOT
 # access any disk files located above '/mnt/gentoo' in your root disk
 # file tree -
 > chroot /mnt/gentoo /bin/bash
 # Setup all the environment variables and definitions which are required
 # for you as an user, to sucessfully execute the commands to come in the
 # installation process...
 > source /etc/profile
 > env-update
 
 # ADAPT your /etc/make.conf gile. THIS IS VERY IMPORTANT ================
 # This may be done with the command hereafter (see 'nano' documentation) :
 > nano -w /etc/make/conf
 # As an recommendation, I just provide below the contents of the file I
 # have setup for my laptop :
 *# These settings were set by the catalyst build script that automatically built this stage
 *# Please consult /etc/make.conf.example for a more detailed example
 *CHOST="i686-pc-linux-gnu"
 *CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer -s"
 *CXXFLAGS="-march=i686 -O2 -pipe"
 *LINGUAS="fr en"
 *USE="unicode -apm acpi alsa"
 # Setup your local time information (where <continent> is the name of your
 # geographical region, <city> is the name of the closest timezone-definition
 # city to your actual location) :
 > ln -s /usr/share/zoneinfo/<continent>/<city> /etc/localtime
 # Configure your filesystems table (below is my own, matching my disk 
 # partition choices) :
 *# /etc/fstab: static file system information.
 *# $Header: /home/cvsroot/gentoo-src/rc-scripts/etc/fstab,v 1.14 2003/10/13 20:03:38 azarah Exp $
 *#
 *# noatime turns off atimes for increased performance (atimes normally aren't
 *# needed; notail increases performance of ReiserFS (at the expense of storage
 *# efficiency).  It's safe to drop the noatime options if you want and to 
 *# switch between notail and tail freely.
 *# <fs>                <mountpoint>    <type>          <opts>                  <dump/pass>
 *# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
 */dev/hda5             /boot           ext3            noauto,noatime          1 1
 */dev/hda6             /               ext3            noatime                 0 0
 */dev/hda3             none            swap            sw                      0 0
 */dev/cdroms/cdrom0    /mnt/cdrom      iso9660         noauto,ro               0 0
 *# NOTE: The next line is critical for boot!
 *none                  /proc           proc            defaults                0 0
 *# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
 *# POSIX shared memory (shm_open, shm_unlink). 
 *# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
 *#  use almost no memory if not populated with files)
 *# Adding the following line to /etc/fstab should take care of this:
 *none                  /dev/shm        tmpfs           defaults                0 0
 # Install the GENKERNEL package
 > emerge -k genkernel
 # Install kernel sources
 > emerge -k gentoo-sources

Compile and install the kernel

 # SETUP THE KERNEL - THIS IS VERY IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 #
 # Go to the kernel sources directory
 > cd /usr/src/linux-2.6.11-gentoo-r9
 > make menuconfig
 Perform the setup operations below using the confing menu.
 - Under "Processor type and features" 
   . SET "Processor family" TO 586/K5/etc...
   . UNCHECK "Local APIC support on uniprocessors"
   . UNCHECK "Toashiba laptop support", "Dell laptop support"
 - Under "Power management options (ACPI, APM)"
   . CHECK [*] "Power management support"
   . Under "CPU Frequency scaling", section "CPUFreq processor drivers",
     CHECK [*] "ACPI Processor P-States driver" and UNCHECK all "AMD" options
     as well as "Cyrix MediaGX etc..."
   . Under "APM (Advanced Power Management)", UNCHECK "APM (Advanced Power Management)
     BIOS support".
   . Under "ACPI (Advanced Configuration and Power Interface) Support", CHECK [*]
     "ACPI Support", "AC Adapter", "Battery", "Button", "Video", "Fan", "Processor",
     and "Thermal Zone". UNCHECK all "xxx Laptop Extras" (even that for ASUS).
     Make sure that "Disable ACPI for systems before Jan 1st this year" is set to (0).
 - Under "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
   . CHECK [*] "PCI support", SET "PCI access mode" to "Any", CHECK [*] "Legacy 
     /proc/pci interface", "PCI device name database", "ISA support".
   . Under "PCCARD (PCMCIA/CardBus) support" , CHECK <M> "PCCARD (PCMCIA/CardBus)
     support", <M> "16-bit PCMCIA support", [*] "32-bit CardBus support",
     <M> "CardBus yenta-compatible bridge support".
 - Under "Device Drivers" / "Plug and Play support", CHECK [*] "Plug anf Play ACPI
   support (EXPERIMENTAL)"
 - Under "Device Drivers" / "Block Devices"
   . CHECK <*> "Loopback device support", <*> "Cryptoloop support", <*> "RAM disk 
     support", [*] "Initial RAM disk (initrd) support", [*] "Support for Large Block
     Devices".
 - Under "Device Drivers", UNCHECK all under "Multi-device support (RAID and LVM)"
 - Under "Device Drivers", "Networking support", make sure that "Networking support"
   is checked, that "Ethernet (10 or 100Mbit)" is enabled, as well as <M> "PPP
   (point-to-point protocol) support".
 - Under "Device Drivers" / "Input device support", make sure that [*] "Mice" is
   enabled.
 - Under "Device Drivers" / "Character devices", make sure that <M> "/dev/agpart
   (AGP Support) is checked. On my computer, <> "ATI chpset support" is NOT
   checked, and <M> "Intel 440LX/BX/GX, I8xx and E7x05 chipset support" is checked.
   UNCHECK <> "Direct Rendering Manager (XFree86 etc...)".
 - Under "Device Drivers" / "Graphics support", CHECK [*] "Support for frame buffer
   devices" and <*> "VESA VGA graphics support". SET "Vesa driver type" TO 
   (vesafb-tng). SET "VESA default mode" TO (800x600@60). UNCKECK Hercules,
   nVidia, Matrox, Intel, as well as support for Old ATI Radeon display.
   CHECK <M> "ATI Radeon display support" and [*] "DDC/I2C for ATI Radeon support".
   UNCHECK support for all other graphics stuff which is not part of the laptop.
 - Under "Device Drivers" / "Sound", CHECK <*> "Sound card support", UNCHECK
   all under "Open Sound System" and under "Advanced Linux Sound Architecture"
   (we shall install and setup ALSA as an external module to the kernel).
 - Under "Device Drivers" / "USB support", CHECK <M> "Support for Host-side USB",
   [*] USB device filesystem, <M> "EHCI HDC (USB 2.0) support", <M> "OHCI HDC
   support", <M> "UHCI HCD (most Intel and VIA) suport", <M> USV Mass Storage support".
 - Under "File Systems", make sure that you enabled support for the filesystems
   your created your partitions for (e.g. ext3, Reiserfs, ...)
 - Under "Cryptographic options", CHECK <M> "Michael MIC keyed digest algorithm"
   and "AES cipher algorithms (i586)".
 # Build your kernel and install it under /boot
 > make
 > make modules_install
 > make install
 # Build the initrd for the kernel (I use genkernel)
 genkernel --no-clean --udev --install initrd
 # Install the boot loader (GRUB) on your system
 > emerge -k grub
 
 # Prepare the /boot/grub.conf file. On my laptop, and in accordance with
 # my disk partitioning, it is as follows. Note the "acpi=on" kernel option which
 # will be very useful if you expect the sound to work on your laptop.
 *#
 *default 0
 *timeout 8
 *title Gentoo Linux 2.6.11-r9
 *root (hd0,5)
 *kernel (hd0,4)/vmlinuz-2.6.11-gentoo-r9 root=/dev/ram0 init=/boot/linuxrc ramdisk=8192 real_root=/dev/hda6 acpi=on udev
 *initrd (hd0,4)/initrd-2.6.11-gentoo-r9
 *title Windows XP
 *   root (hd0,1)
 *   chainloader +1
 # Install grub on the boot sector - NOTE: on my laptop, I tried multiple Linux
 # distributions which install grub automatically. Especially, Suse did the job
 # fairly well, so I did not install grub manually. I HOPE that the command set
 # below will perform correctly.
 # 1- Below is the recommendation from the magazine (again, remember that I did
 #    not have to experiment it myself) :
 > grub
 > root (hd0,5)
 > setup (hd0)
 > quit
 # 2- Below is a more detailed command set, derived from what I successfully did
 #    on another computer :
 > cd /boot/grub
 > grub
 > root (hd0,5)
 > install --stage2=/boot/grub/stage2 /boot/grub/stage1 d (hd0) /boot/grub/stage2 (hd0,4)/grub/menu.lst
 # 
 # NOTE : - (hd0,4) is because /dev/hda5 is the partition, my boot files rely on
 #        - (hd0,5) is the 6th partition on the first hard disk, /dev/hda6
 #        - 'menu.lst' and 'grub.conf' files are linked by a soft link
 #          if 'menu.lst' does not exist :  > ln -s grub.conf menu.lst
 #          if 'grub.conf' does not exist : > ln -s menu.lst grub.conf
 # Install and start some basic services for the system
 > emerge -k syslog-ng
 > rc-update add syslog-ng default
 > emerge -k vixie-cron
 > rc-update add vixie-cron default
 > emerge coldplug
 > rc-update add coldplug boot
 # Define the password for ROOT on your system
 > passwd
 # Add another user than ROOT, and define his/her password
 > useradd -m -G users,wheel,audio,tty,games,dialup -s /bin/bash a_user_name
 > passwd a_user_name
 
 # Automatically update all environment variables and files
 > source /etc/profile
 > etc-update
 > env-update

Where you should be now

 You should now have completed the installation of your system. If you sucessfully
 performed all the operations described above, you should be ready for the FIRST
 AUTONOMOUS STARTUP OF YOUR GENTOO LINUX ON ASUS !
 To do so, exit clean from the "hand-made" installation environment.
 > exit
 > cd /
 > umount /mnt/gentoo/boot
 > umount /mnt/gentoo/proc
 > umount /mnt/gentoo
 > reboot

Having troubles at this stage ?

 Next to the "reboot" command above, your laptop should have restarted, and
 have presented you a menu in which you have 8 seconds to choose between
 starting a proprietary vendor's specific system, and someting named
 "Gentoo Linux 2.6.11-r9" (if you have the same kernel version and grub.conf
 as I do).
 
 Then, it should have come with a "login:" prompt in which you can type "root"
 and then the password you defined for this super-user.
 
 Below are some problems you could face. Good news, if you find yours in this list,
 this means you have the solution !

Laptop does not reboot properly when I choose ``Linux'' in the menu.

 Especially, you get a lot of "errors" and finally you do not get the "login:"
 prompt...
 This means that you probably misconfigured grub (especially the "grub.conf" file),
 or that your kernel (or initrd) are not OK. You must redo these steps, but
 fortunately, all of the job you already did is not lost !
 I provide below a set of steps to go back to your system in a "chroot" environment
 similar to what allowed you to configure, compile and setup either your system,
 your kernel and your boot loader. This way, you may review (or redo) any of
 the configuration and/or compilation operations, to look for where your mistake
 was. In addition, I strongly recommend you to read in depth the Gentoo Handbook
 to understand the actual meaning of what you do and to more and more master all
 this process. Installing Gentoo is a lot of manual steps, you must cope with
 that or choose another "straightforward" distribution...
 # HALT your laptop. This can be performed by holding down the power button
 # for more than 5 seconds. NOTE : before this, insert the Gentoo bootable CD
 # or DVD so that your computer will boot from it.
 
 # Restart your computer (booting from the CD/DVD). Select the proper keymap.
 
 # Remount the previous environment (NOTE : adapt the filesystem types to
 # match the actual types you created initially)
 > cd /
 > mount -t ext3 /dev/hda6 /mnt/gentoo
 # NOTE : create '/mnt/gentoo/boot' directory if it does not exist
 # (by: > mkdir /mnt/gentoo/boot)
 > mount -t ext3 /dev/hda5 /mnt/gentoo/boot
 > mount -t proc none /mnt/gentoo/proc
 > swapon /dev/hda3
 Next to that, you can redo any configuration and/or compilation operations,
 in order to retry multiple reboots.

Laptop boots, but does NOT authorize the login for ``root''

 GOOD ! This means you system boots !
 Your problem may be due to two reasons.
 1) You forgot the "root" password. Reboot the laptop from the CD/DVD as 
    explained above, remount the environment, redefine the password for root, 
    unmount the environment and reboot.
 2) Your keymap is misconfigured. You may either :
    - try to type the "root" password using you keyword as if it was for
      an "us" keymap (QWERTY)
    - reboot from the CD/DVD, remount the environment, and setup the good
      keymap in "/etc/rc.conf". On my own laptop, /etc/rc.conf contains :
      KEYMAP="fr"
    - unmount the environment and reboot

INSTALLING THE GRAPHICAL ENVIRONMENT

Installation of the X server

 OK, all is nice now, you can start, reboot and (probably) stop your computer,
 and in addition you have a splendid text-mode environment which reponds to
 your Linux commands while respecting (basically) the layout of your keyboard.
 I cannot figure out that you purchased a laptop in order to use it only this way.
 Let us now go to some more graphical stuff in order to compete with some
 famous proprietary environments.
 Because in the past, I always used KDE, I describe here how to install this
 very rich, powerful and performant environment. Of course, feel free to try
 Gnome or any other ! But doing so, you will have to discover more by yourself
 since these lines will not provide you with any specific help for such
 environments.
 
 First of all, you must install (and maybe compile) the X-Window graphics server.
 Since graphics is resource-consuming, and my have performance impact on your
 computer, I recommend (although this may take a while) to compile (i.e., for
 this time, not to use the "-k" switch for "emerge").
 
 > emerge xorg-x11
 
 Go for a coffee, a shower, a couple of beers, or the TV news.
 
 It took me a long time to find a good first "working" configuration in
 /etc/xorg.conf. I provide mine (current version), and then starting from this point
 you can add any further improvements from your own.
 
 *Section "ServerLayout"
 *      Identifier     "X.org Configured"
 *      Screen         "Screen0" 
 *      InputDevice    "Mouse0" "CorePointer"
 *      InputDevice    "Keyboard0" "CoreKeyboard"
 *EndSection
 *Section "Files"
 *      RgbPath      "/usr/lib/X11/rgb"
 *      ModulePath   "/usr/lib/modules"
 *      FontPath     "/usr/share/fonts/misc/"
 *      FontPath     "/usr/share/fonts/TTF/"
 *      FontPath     "/usr/share/fonts/Type1/"
 *      FontPath     "/usr/share/fonts/CID/"
 *      FontPath     "/usr/share/fonts/75dpi/"
 *      FontPath     "/usr/share/fonts/100dpi/"
 *EndSection
 *Section "Module"
 *      Load  "extmod"
 *      Load  "dri"
 *      Load  "dbe"
 *      Load  "record"
 *      Load  "xtrap"
 *      Load  "glx"
 *      Load  "type1"
 *      Load  "freetype"
 *EndSection
 *Section "InputDevice"
 *      Identifier  "Keyboard0"
 *      Driver      "kbd"
 *      Option      "XkbLayout" "fr"
 *      Option      "XkbModel"  "pc102"
 *      Option      "XkbRules"  "xfree86"
 *EndSection
 *Section "InputDevice"
 *      Identifier  "Mouse0"
 *      Driver      "mouse"
 *      Option      "Protocol" "auto"
 *      Option      "Device" "/dev/input/mice"
 *      Option      "Buttons" "5"
 *      Option      "ZAxisMapping" "4 5"
 *EndSection
 *Section "Monitor"
 *      Identifier   "Monitor0"
 *      VendorName   "Monitor Vendor"
 *      ModelName    "Monitor Model"
 *      HorizSync    31.5 - 91.1
 *      VertRefresh  50 - 100
 *#     Option       "DPMS"
 *      Option       "DRI"
 *EndSection
 *Section "Device"
 *      Identifier  "Card0"
 *      Driver      "ati"
 *      VendorName  "ATI Technologies Inc"
 *      BoardName   "RV350 [Mobility Radeon 9600 M10]"
 *      BusID       "PCI:1:0:0"
 *EndSection
 *Section "Screen"
 *      Identifier "Screen0"
 *      Device     "Card0"
 *      Monitor    "Monitor0"
 *      DefaultDepth 24
 *      SubSection "Display"
 *              Depth 24
 *              Modes "1280x800"
 *              Viewport   0 0
 *      EndSubSection
 *EndSection

Basic Testing of the X server

 Easy to test : use the command below...
 > X -config /etc/xorg.conf
 
 Sometimes, not easy to understand that the test is OK : you just get
 a VERY BASIC "gray-pattern" screen, with an "X" which represents the
 mouse cursor. If you see this, OK : THE TEST IS OK.
 =======================================================================
 It may take a long time to discover how to get out from this "graphical"
 environment without window, menu nor button. CTRL + ALT + BACKSPACE.
 =======================================================================

Installing and configuring the Graphical Desktop

 I have been using KDE for a long time, so I decide to go on with this nice
 environment. Once again, I expect top preformance so I decide to compile.
 You may choose a more immediate way to install (using the '-k' switch) and
 compile later when you are sure that KDE is what you want.
 > emerge kde
 Go for lunch, dinner, or small purchases in your preferred corner shop.
 
 Then, setup xdm to launch the graphical environment at boot time :
 > rc-update add xdm default
 Go to the /etc/rc.conf file and indicate that KDM should manage the login
 to your system :
 > nano -w /etc/rc.conf
 *DISPLAYMANAGER="kdm"
 To make sure that KDE will use your preferred language, you must indicate
 this in several files. Note that I am French, I use a French keyboard
 layout.
 My /etc/env.d/00basic file contains the lines :
 *LANG="fr_FR@euro"
 *LC_ALL="fr_FR@euro"
 My /etc/make.conf file contains the line :
 *LINGUAS="fr"
 In my /etc/X11/xorg.conf, the related section indicates the keyboard layout :
 *Section "InputDevice"
 *      Identifier  "Keyboard0"
 *      Driver      "kbd"
 *      Option      "XkbLayout" "fr"
 *      Option      "XkbModel"  "pc102"
 *      Option      "XkbRules"  "xfree86"
 *EndSection
 Finally, my '/etc/rc.conf' file contains the line :
 *KEYMAP="fr"

Where you should be now

 You should now be OK with KDE. Reboot your system, and if you performed
 correctly all the installation and configuration steps described above, your
 next login should be performed in graphics mode, and you should no longer
 see any "basic black screen with big characters".

ACPI, POWER OFF, ETC...

 One of the most annoying problem I had very early, is that my laptop does
 not really power off when I use the 'halt' command or choose to turn the
 computer off from KDE.
 Instead, the computer remains stuck after a 'Power down' message, and I
 must hold the power button down for more than 5 seconds to actually power
 off the laptop.
 
 Having this feature work (as well as power and temperature management, 
 fan speed and processor frequency), ACPI must be installed and sufficiently
 well configured. Having a sufficiently correct configuration of ACPI is
 important to ensure that your computer will operate in good conditions, and
 especially that overheating will not physically destroy your processor and/or
 other internal components.
 
 Maybe you don't have the problem. This may be because you strictly followed
 my indications concerning the setup for kernel compilation. 
 Good configuration (on my laptop) relies on :
 - Under "Processor type and features" 
   . SET "Processor family" TO 586/K5/etc...
   . UNCHECK "Local APIC support on uniprocessors"
   . UNCHECK "Toashiba laptop support", "Dell laptop support"
 - Under "Power management options (ACPI, APM)"
   . CHECK [*] "Power management support"
   . Under "CPU Frequency scaling", section "CPUFreq processor drivers",
     CHECK [*] "ACPI Processor P-States driver" and UNCHECK all "AMD" options
     as well as "Cyrix MediaGX etc..."
   . Under "APM (Advanced Power Management)", UNCHECK "APM (Advanced Power 
     Management) BIOS support".
   . Under "ACPI (Advanced Configuration and Power Interface) Support", CHECK [*]
     "ACPI Support", "AC Adapter", "Battery", "Button", "Video", "Fan", "Processor",
     and "Thermal Zone". UNCHECK all "xxx Laptop Extras" (even that for ASUS).
     Make sure that "Disable ACPI for systems before Jan 1st this year" is set to (0).
 - In the '/boot/grub/grub.conf' file, the 'kernel' line must have the 'acpi=on' option
   (see example below)
   kernel (hd0,4)/vmlinuz-2.6.11-gentoo-r9 root=/dev/ram0 init=/boot/linuxrc ramdisk=8192 real_root=/dev/hda6 acpi=on udev
 In addition, the USE variable in '/etc/make.conf' should have 'acpi'.
 Then, when all ACPI extras for specific laptops are unchecked in the kernel
 configuration, you may :
 > ACCEPT_KEYWORDS="~x86" emerge acpi4asus
 > modprobe asus_acpi
 ...and then add 'asus_acpi' as a single line in the file 
    '/etc/modules.autoload.d/kernel-2.6'

NETWORK

To use DHCP...

 Most of you will certainly use by some way a local network infrastructure
 which will auto-configure your network interfaces : IP address, netmask,
 default route, ...
 To do so, you must have 'dhcpcd' installed on your system. Even if you plan
 to use a 'static' host configuration, I suggest you have 'dhcpcd' installed
 on your system : it will certainly be useful later...
 
 > emerge -k dhcpcd

Cable network connexion

 Normally, the basic network (cable) interface is automatically found on the
 system. To check for this, simply type these commands in a console :
 
 > ifconfig eth1 up
 > ifconfig
 
 The second command should display all informations about the network device.
 Refer to the man pages for ifconfig to statically configure the IP address and
 net mask to communicate on your local network. The most common way to do it is
 for example with the command :
 
 > ifconfig eth1 <IP-address> netmask <net-mask>
 > route add default gw <IP-address-of-router>
 
 Automatic configuration to setup interface at startup is in the file
 '/etc/conf.d/net'. See the multiple comments in this file to setup the relevant
 parameters for what you expect.

WI-FI

 Having the Wi-Fi device working on the ASUS-M6BNe requires 'ipw2200' to be
 installed and configured.
 For the installation and setup process to succeed, you must have followed
 my indications concerning the kernel configuration. Especially, it MUST
 be compiled with the flags below :
 - Under "Cryptographic options", CHECK <M> "Michael MIC keyed digest algorithm"
   and "AES cipher algorithms (i586)".
 > emerge -k ipw2200
 > modprobe ipw2200
 > modules-update
 
 In the '/etc/modules.autoload.d/kernel-2.6' file, add a single line with 
 'ipw2200' to make sure that this module is automatically loaded at system
 boot time.
 
 You should now be able to see your wi-fi card with the command :
 
 > iwconfig
 
 You may setup the interface to be always active at startup using the
 '/etc/conf.d/net' file and '> rc-update add net.eth0 default'. 
 Since at home, I want to choose when I connect through cable (faster) or
 wi-fi, I made a little bash script to start and stop wi-fi when I want.
 As an additional "nice" feature, it turns on and off the appropriate blue
 led accordingly. Nice !
 This script is provided below as an example.
 *#!/bin/bash
 *if [ "$1" != "on" ] && [ "$1" != "off" ] ; then
 *  echo "Usage : wlan on|off"
 *  exit
 *fi
 *if [ "$1" == "on" ] ; then
 *  sudo /usr/sbin/iwconfig eth0 mode Managed essid hmag key B5AC2BAE4EB486246FB9982DBB
 *  sudo /sbin/dhcpcd eth0
 *  sudo echo 1 > /proc/acpi/asus/wled
 *  exit
 *fi
 *sudo /sbin/dhcpcd -k eth0
 *sudo /sbin/ifconfig eth0 down
 *sudo echo 0 > /proc/acpi/asus/wled

SOUND

 To have sound work correctly, you should, once again, have strictly respected
 my advises concerning the kernel setup flags. Especially :
 - Under "Device Drivers" / "Sound", CHECK <*> "Sound card support", UNCHECK
   all under "Open Sound System" and under "Advanced Linux Sound Architecture"
   (we shall install and setup ALSA as an external module to the kernel).
 In addition, the USE variable in '/etc/make.conf' should have 'alsa' and
 you should have
 *ALSA_CARDS="intel8x0"
 as a single line in this same '/etc/make.conf' file.
 Then, you can :
 # note : use '-k' or not, depending if you have the sources and/or expect
 # you own-compiled modules...
 > emerge -k alsa-lib
 > emerge -k alsa-driver
 > emerge -k alsa-utils
 > rc-update add alsasound boot
 
 In the '/etc/modules.d/alsa' file, add the proper alias :
 *alias snd-card-0 snd-intel8x0
 You may then update modules and actually start the service :
 > modules-update
 > /etc/init.d/alsasound start
 Unmute the sound using the basic commands of the 'amixer' utility :
 > amixer set Master    60% unmute
 > amixer set PCM       60% unmute
 > amixer set Center    60% unmute
 > amixer set Surround  60% unmute
 > amixer set Headphone 60% unmute
 With these basic settings, your computer sound should work ! I advise
 you to reboot, go to the KDE control center, activate some sounds and
 test them...

PCMCIA

 The kernel must be configured to support PCMCIA (either network and modem).
 On my ASUS, I ensured the following :
 
 Device drivers / Plug and play support 
    => [M] ISA Plug and Play
 Device drivers / Networking support / PCMCIA network device support -->
    => [*] PCMCIA network device support
    => [*] Xircom 16-bit PCMCIA support (New)
 Device drivers / Character devices / Serial drivers -->
    => <*> 8250/16550 and compatible serial support
    => <M> 8250/16550 PCMCIA device support
 In addition, I loaded the kernel module for serial card and Xircom support :
 > modprobe serial_cs
 > modprobe xirc2ps_cs
 These two modules must be loaded at boot and thus must be listed in the
 '/etc/modules.autoload.d/kernel-2.6' file.
 For the PCMCIA cards to be correctly managed when inserted and removed from
 the PC-card slot, PCMCIA card support must be installed and running as a
 service :
 > emerge pcmcia-cs
 > rc-update add pcmcia default
 > /etc/init.d/pcmcia start
 Using my Xircom 10/100Mbits + 56k modem PC-card, I can connect to the internet
 using its modem (it is loaded as /dev/ttyS3 - to get this information, type
 '> dmesg' after having inserted the card in the slot).


MAINTENANCE

 If you succeeded in all the steps above, you should be able to connect
 to a local network (either by cable or wifi), and thus go to the internet.
 This is important if you expect to install more and especially to keep
 your Gentoo environment up to date.
 
 Regularly (not more than once a day), you should go to a place where
 you have a network and an internet connexion, and issue the command :
 > emerge --sync
 This will keep your Portage tree up to date, and thus you can maintain,
 update and/or upgrade your Gentoo Linux system.


ADDITIONAL PACKAGES AND TOOLS

CD/DVD -ROM BURNING

 I successfully installed K3B, the famous CD/DVD burning software. It works
 fine on my laptop. Note that the installation requires long download and
 compilation steps.
 > emerge k3b
 I must warn you on the fact that (on the portage tree I got), there is a
 missing 'executable' dependency which make that you have to manually
 emerge the dvd+rw-tools package, for all to work fine :
 > emerge dvd+rw-tools

MYSQL Server

 I develop and test my personal website (PHP/MySQL) on my laptop, so I need
 this environment to test what I do before going online. This is straightforward.
 > emerge mysql

APACHE2

 This is also something I need to develop and test PHP/MySQL websites.
 > emerge apache

CD/DVD MOVIE PLAYBACK

 I successfully emerged 'xine', the current best-of for DVD movie playing.
 Note that I decided to compile, to get as good performance as possible.
 > emerge xine
 > emerge libdvdcss


NOT INSTALLED, NEXT STEPS, ETC...

 This file will be updated as long as I go further ahead in the installation
 and configuration of my ASUS M6BNe laptop.

NOT INSTALLED : BUILT-IN MODEM

 Even with the other Linux distributions I previously experimented, I could
 never setup or use my internal AC'97 modem. I even found some informations
 on some forums saying that this would never be possible under Linux, because
 this modem uses a proprietary internal codec which is not open to public.
 This is the reason why I gave up. Fortunately, I have a PC-card with modem
 that I use when I want to directly connect to Internet via RNIS.
 Note that with the Yenta-Socket kernel module, such PC-cards are very well
 recongnized and that such a workaround is easy to setup.
 Please let me know if you get anything that helps to use this modem for 
 free under Linux ! => mailto:hmag@free.fr