SuSE Linux 7.0 and MS Windows 2000 on Dell Inspiron 8000 Laptop

 

At this page you can found detailed instructions for installing SuSE Linux 7.0 and MS Windows 2000 on Dell Inspiron 8000 notebook.
When creating this page I used my notes made during installation as well as many hints found on Dell's talk site and discussion groups. However I'm mainly Windows developer and this is my first experience with Linux so if you know of better ways to do things described here, please do let me know.
I hope this will be useful to anybody trying to install Linux on Inspiron 8000.

Contents:
News
Hardware
Parititioning
MS Windows 2000
SuSE 7.0 Base Installation
Dual Booting
Kernel
X-Windows
Sound Card
PCMCIA
Modem
CD Writer
DVD Playback
USB Mouse
DRI
APM
TODO List
Links

Email:

News

20/5/2001 Booting installation CD update.

16/4/2001 Created this page.

 

Hardware

Hardware configuration of my notebook:
CPU Intel Pentium III 850MHz with SpeedStep technology (700MHz when powered from battery)
256MB RAM (SO DIMM RAM 100MHz chips)
32GB Hard disk
15" TFT LCD display, 1600x1200 max resolution (absolutely brilliant!)
ATI Rage 128 LT, 32MB video RAM
Toshiba DVD ROM in Fixed Bay
Maestro 3i Allegro Sound Card
Sony CDRW in Media Bay interchangeable with a floppy drive or a second battery
Aztech MiniPCI internal modem 56K (Winmodem with Lucent chip)
Intel PRO based internal network card
TV output, IEEE 1394 FireWire port, IRDA port

- a wonderful machine!

 

Partitioning

It took me several attempts to figure out the best way to partition my hard disk because I had problems with Suspend-To-Disk partition (see APM section below).
Finally I used these steps to partition my hard disk:

  1. Create primary partition, 250MB, and make it active, format as MSDOS or VFAT. (/dev/hda1 in Linux)

  2. Create Suspend-To-Disk partition cca 560MB using Dell's MKS2D.EXE tool. The size of the partition should be at least size of RAM + size of video RAM + some bytes extra. However keep in mind that if you ever expand your laptop's RAM, your Suspend-To-Disk partition will not work so it might be a good idea to use maximum capacity for RAM 512MB.

  3. Using Partition Magic 6.0 create extended partition using the remaining capacity of the hard disk.

  4. In extended partiotion create a logical partition 10GB and format it as FAT32. It will be used for Win2K installation. (/dev/hda5 in Linux)

  5. Create another 10GB logical partition and format as FAT32 again. It will be used for Win2K data files. (/dev/hda6 in Linux)

  6. Create 10MB logical partition and format as Ext2FS. It will be /boot partition for Linux (/dev/hda7)

  7. Create 512MB logical partition and format as Linux swap. It will be /swap partition for Linux (/dev/hda8)

  8. Create another logical partition using remaining disk space. It will Linux root partition (/dev/hda9)

 

Now the system is ready for Windows 2000 installation. You can test if your Suspend-To-Disk is working by booting to MS DOS from a floppy disk and pressing Fn+A. You should see a grey text screen with message 'Saving memory to disk' and after cca 30 sec the laptop should power off. When you press power button, after the usual POST screen you'll see the grey screen again this with message 'Resuming memory from disk' and MS DOS should be resumed.

It seems there are several ways how to setup your S2D partition, other users reported successfully creating partions using PHDISK.EXE tool. However the steps described above worked for me so if you need more information try searching Yahoo discussion group for "S2D".

 

MS Windows 2000

Installation of MS Windows 2000 is very easy and straightforward. Only remember to install Intel chipset drivers first before installing drivers for video card, modem etc.

You can use Disk Manager to hide Suspend-To-Disk partition: go to Control Panel/Administrative Tools/Computer Management, select Disk Management and right-click the second partition then select Change Drive Letter and Path and remove drive letter.

There is a nice tool to access Linux partitions from Windows - Explore2fs.

 

SuSE 7.0 Base Installation

 

  1. If you want to use installation CDROM or DVDROM disk for SuSE setup, you must enter at boot prompt linux PCMCIA="no", otherwise installation program will hang when detecting PCMCIA cards. However this option works only for Professional edition of SuSE distribution. If you are installing from Personal edition you have to boot from floppy disk to prevent setup program from scanning for PCMCIA devices on your laptop and then later on you have to deselect PCMCIA package in package selection screen otherwise your freshly installed system will hang at the first reboot (or maybe at this time PCMCIA="no" argument passed to kernel at boot time may work).

  2. Select Expert mode partitioning and you will see the list of partitions on your disk. For /dev/hda7 select mount point "/boot", for /dev/hda8 select mount point "swap", for /dev/hda9 select mount point "/".
    You will be told that there are some problems with LILO (Linux Loader) because your boot partition is beyond 1024 cylinder limit, but ignore those messages for the moment.

  3. Deselect PCMCIA package otherwise your kernel will hang when you reboot after installation.

  4. Skip X-Windows configuration, you can go through it later.

  5. You can configure internal network card because it is recognized correctly by setup program.

  6. Let installation program to install your selected packages.

  7. When asked to remove installation media before rebooting after installation is finished, leave the floppy or CDROM disk in the drive and boot again from installation media. Then in setup program menus select 'Boot installed system' and enter /dev/hda9 as your root partition. After rebooting installation should resume.

 

 

Dual Booting

Because you installed Linux at the end of your hard disk, you can't boot Linux directly. Boot partition is beyond 1024 cylinder limit and the version of LILO program from SuSE installation cannot handle this. Also you have MS Windows 2000 installed so you need a way to choose a system at boot time. My solution was to use Windows boot manager and add an entry for SuSE Linux in boot menu:

  1. Before installing Linux get the latest version of LILO and put it in a folder on C drive.

  2. After Linux installation is complete and after your first login as root, mount C drive: "mount /dev/hda1 /windows/C" (You may have to create /windows/C directory if setup program didn't create it for you.)

  3. Install new LILO e.g.: rpm -Uhv /windows/C/linux/lilo.rpm

  4. Edit file /etc/lilo.conf:
    boot=/dev/hda7
    vga=normal
    read-only
    prompt
    timeout=50

    image = /boot/vmlinuz
    root = /dev/hda9
    label = linux

  5. Run LILO: lilo -L (-L switch turns on support for LBA)

  6. Edit Windows boot configuration file: vi /windows/C/boot.ini
    [boot loader]
    timeout=30
    default=multi(0)disk(0)rdisk(0)partition(3)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(3)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
    c:\linux\linux.bin="SuSE Linux"
    C:\="Microsoft Windows"


    File linux.bin is 512 bytes from your Linux boot partition which will actually load the kernel.

  7. Create linux.bin file: dd if=/dev/hda7 bs=512 count=1 of=/windows/C/linux/linux.bin
    Remember to repeat this step every time you add a new kernel or change your LILO configuration in any other way!

  8. Reboot and test if dual booting configuration is working properly.

 

 

Kernel

I strongly recommend to upgrade from kernel version 2.2.16 provided on installation medium to the latest version which is at the moment 2.4.2 (or 2.4.3 but there are only minor differences between 2.4.2 and 2.4.3).

  1. Download the latest kernel sources version 2.4.x.

  2. Unpack archive into /usr/src/linux-2.4.2 directory.

  3. Make a link to the new sources: ln -s /usr/src/linux-2.4.2 /usr/src/linux

  4. Go to /usr/src/linux directory and run make mrproper and then run make xconfig to confugre kernel or you can use my configuration file.

  5. Run make dep, then make bzImage; then make modules, then make modules_install.

  6. Copy new kernel image to boot partition: cp arch/i386/boot/bzImage /boot/vmlinuz.2.4.2

  7. Update /etc/lilo.conf and run lilo -L

  1. Update linux boot file: dd if=/dev/hda7 bs=512 count=1 of=/windows/C/linux/linux.bin

  2. Reboot

 

X-Windows

 

  1. Download and install the latest XFree86 package.

  2. Make a link to X-Server program if it doesn't already exist: ln -s /var/X11R6/bin/X /usr/X11R6/bin/XFree86

  3. Run sax2 at command prompt to have your X-Windows switch to XFree86 version 4 (you can quit the program after a few initial questions). There is probably better way to do this...

  4. Copy my X-Windows configuration file to /etc/X11/XFree86

  5. Run startx and X-Windows should be started.

 

Sound Card

There is a driver in 2.4.2 kernel but it is experimental so I downloaded driver from ALSA (0.5.10b):

  1. Unpack the archive into a directory (for example /usr/local/src)

  2. Run ./configure, then make and then make install.

  3. Configure soundcard in /etc/modules.conf file:
    options snd-card-maestro3 snd_index=0 snd_id="ESSMaestro3"

    alias char-major-14 soundcore
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss

  4. Reboot and set mixer channels because they are muted by default.

  5. Enjoy music in XMMS

 

PCMCIA

I don't have any PCMCIA cards because my laptop is 'all-in-one' solution but I did setup PCMCIA services anyway:

  1. Download the latest PCMCIA package from sourceforge.net

  2. Unpack the archive and run ./Configure, accept all default options.

  3. Run make and make install.

  4. Edit file /etc/pcmcia/config.opts and replace line:
    include port 0x100-0x4ff, port 0x800-0x8ff, port 0xc00-0xcff
    with line
    include port 0x100-0x4ff, port 0xc00-0xcff
    Without this the PCMCIA card manager will hang kernel next time you reboot!

  5. Reboot and you should see PCMCI card manager in boot messages.

 

Modem

Luckilly in my laptop I have Aztech MiniPCI combo with Lucent chip based modem and IntelPRO chipset based NIC. The internal modem in Inspiron is a WinModem which means there is no real DSP but most of the job is done by the main CPU using a Windows driver. However for this type of modem there is a Linux driver as well.

  1. Download and install Lucent modem driver

  2. Download new version of pppd and upgrade to version 2.4.

  3. The update version of pppd complains about some missing symbol in passwordfd.so library and so far the only solution I could find is to hide the library: mv /usr/lib/passwordfd.so /usr/lib/passwordfd.so.bak
    However I'm sure there's better way to do this.

  4. Edit vi /etc/ppp/peers/wvdial and remove line replacedefaultroute

  5. Setup wvdial and enjoy surfing

 

CD Writer

Linux cdrecord application for burning CDs works with SCSI devices only:

  1. Enable SCSI emulation in kernel - see my kernel configuration file, recompile and install new kernel.

  2. Let kernel know that CD writer in Media Bay is actually a SCSI device by adding a line to /etc/lilo.conf:
    append = "hdc=ide-scsi"

  3. Run lilo -L and dd if=/...

  4. Add a line to /sbin/init.d/boot.local file to load ide-scsi module:
    /sbin/modprobe ide-scsi

  5. Reboot and next time your run cdrecord -scan you should Sony  CDRW drive in the list

  6. Get the latest xcdroast application and start burning CDs (you may need to setup some permissions to burn CDs as non-root user).

 

DVD Playback

Download oms and omi packages from LiVid, unpack and compile and enjoy DVD in Linux. The DVD player is currently in version 0.1 and it doesn't provide such comfort as Windows DVD applications but it's a step forward anyway.
You may need to upgrade some libraries before compiling DVD package but I first installed Enlightenment desktop, new versions of Eterm, gkrellm etc and DVD compiled straight away.

Other option is VideoLAN but compared to LiVid it seems to be a bit slower but it could be just a configuration problem.

 

USB Mouse

Although the built-in touch pad is easy to use, it's much faster to move mouse pointer using normal external mouse. So I bought USB Microsoft IntelliMouse Optical. It works almost on every surface, especially on the bedsheet in your bed when you don't want to get up in the morning.:-)

To enable USB mouse in Linux you must do the following:

  1. Configure kernel for USB support:
    CONFIG_INPUT=y
    CONFIG_MOUSEDEV=m
    CONFIG_USB=y
    CONFIG_USB_HID=m

    (or see my kernel configuration file)

  2. Download and install hotplug package.

  3. Configure X-Windows for USB mouse by adding these lines to /etc/X11/XF86Config
    Section "InputDevice"
    Driver "mouse"
    Identifier "USB Mice"
    Option "Device" "/dev/input/mice"
    Option "Protocol" "IMPS/2"
    Option "ZAxisMapping" "4 5"
    Option "Buttons" "5"
    EndSection

    Section "ServerLayout"
    Identifier "Layout[all]"
    InputDevice "Keyboard[0]" "CoreKeyboard"
    InputDevice "Mouse[1]" "CorePointer"
    InputDevice "USB Mice" "SendCoreEvents"
    Option "Xinerama" "off"
    Screen "Screen[0]"
    EndSection

  4. Start USB support at boot time by adding these lines to /sbin/init.d/boot.local:
    if [ -x /etc/usb/rc.usb ]; then
    echo "Starting USB:"
    /etc/usb/rc.usb start
    fi

  5. Modify drivers for USB mouse in /etc/usb/usb.rc:
    MOUSE_MODULES="hid mousedev"

 

DRI

DRI stands for Direct Rendering Infrastructure and enables fast access to 3D accelerated functions of your video card. You need this if you want to play games like Quake 3 Arena in Linux.

  1. Download and install Extras.tar.gz from DRI home page

  2. Download and install rage128-xxxxx-Linux.tar.gz drive from DRI

  3. Modify /etc/X11/XF86Config:
    Section "Module"
    Load "type1"
    Load "speedo"
    Load "extmod"
    Load "freetype"
    Load "pex5"
    Load "record"
    Load "glx"
    Load "dri"
    EndSection

    Section "DRI"
    Mode 0666
    EndSection

  4. Compile AGP support either directly into kernel or as a module (see my kernel config file). But remember that AGP makes problems when resuming laptop from suspend mode.

  5. Load AGP and video driver modules (modprobe agpgart and modprobe r128) and start X-Windows

  6. Check if DRI is really enabled by running glxinfo.

  7. If you have problems, check link to /usr/lib/libGL.so library, it should point to /usr/X11/lib/libGL.so

  8. Enjoy Quake III Arena in Linux

 

APM

There are two ways to save laptop battery:

You can 'save' your current computer state to RAM and power down all other devices including CPU and hard disk. This Suspend-To-Memory mode is activated by Fn+ESC. At this state the laptop consumes very litle power from batteries and can stay this way for a few days before battery is depleted. However I have Win2K set up the way that after some time Suspend-To-Disk kicks in and laptop is powered down completely. I haven't tried out how exactly it works in Linux.

Other option for power saving is Suspend-To-Disk. In this case you need a special partition on your hard disk where current memory contents, video RAM and CPU registers are saved so that computer can be powered off. When you turn the laptop on, memory contents will be resumed from S2D partition and you can go on working with your operating system and all applications will be in the same state as before. This suspend operation (also called hibernation) is invoked by pressing Fn+A. However note that Windows 2000 handles hibernation differently. It doesn't use BIOS but creates it's own file hiberfil.sys for storing memory content.

Other power saving key combinations are:

Fn+A activate Suspend-To-Disk / Hibernation
Fn+Esc activate Suspend-To-Memory
Fn+D turn off LCD
Fn+H spin down hard disk

TODO List

 

Links

SuSE
Dell Talk
The latest Linux kernels
XFree86
SW Suspend
Lucent Modem Driver
LiViD
VideoLAN
Extra Keys in X-Windows
Yahoo Discussion Group
Linux Laptops
Enlightenment
Enlightenment Themes
SourceForge
TouchPad config utility


Visitors since 16/4/2001:

Counter