TuxMobil
site map · index a-z · search   





Resources

· Wholesale Cell Phone Accessories on DHgate.com




Installing Debian/Linux on a Samsung X10plus Notebook



version 1.0, 12 August 2004

This document summarizes my experiences in order to install Linux on a Samsung Centrino notebook X10plus XTC 1500. The system runs very well and I use it for my daily work. My optimised kernel (2.6.7) supports:

  • ACPI
  • CPU speed-step
  • NVIDIA graphics driver
  • Synaptics Touchpad
  • USB
  • Sound
  • Ethernet Adapter
  • Modem
  • Intel PRO/Wireless 2200 802.11bg WLAN (see below)

In spite of the fact that there are some open issues remaining, I hope this information will be useful for other people. Of course I would be glad to get some feedback (Wolfgang Rohrmoser <wr2004_at_pitagoral.com>) and suggestions to improve the Linux support for this nice notebook.

Creating Hard Disk Partitions

I used a KNOPPIX 3.4 Live CD to repartition the hard-disk for Windows and Linux:

 Disk /dev/hda: 60.0 GB, 60011642880 bytes
 16 heads, 63 sectors/track, 116280 cylinders
 Units = cylinders of 1008 * 512 = 516096 bytes

  Device Boot      Start         End      Blocks   Id  System                  Remark
 /dev/hda1               1          21       10240   12  Compaq diagnostics
 /dev/hda2   *          21       19397     9765625+   7  HPFS/NTFS             Windows XP
 /dev/hda3           19397       21335      976563   82  Linux swap
 /dev/hda4           21335      116280    47852660    5  Extended
 /dev/hda5           21335       23272      976563   83  Linux                 /
 /dev/hda6           23272       62025    19531250+  83  Linux                 /usr
 /dev/hda7           62025      116280    27344752   83  Linux                 /private

because I wanted to test the Samsung system recovery DVD's I reinstalled Windows XP from scratch after repartitioning. You may consider using ntfsresize or any other resize tool to keep your existing Microsoft-Windows installation.

Installing the Distribution

I installed Debian/Linux SARGE (prerelease from Linux Tag 2004) to have my favoured distribution. All went smooth on this part. SARGE offers a new Debian installer which eases the installation of Debian in the PC.

Configuring X11

Get the current Linux NVIDIA installer from ftp://download.nvidia.com. You get help with:

   sh NVIDIA-Linux-x86-1.0-5336-pkg1.run -h

Follow the instructions to install the driver.

To use the Synaptics Touchpad you should install the xfree86-driver-synaptics package On Debian you can type:

   apt-get install xfree86-driver-synaptics

You have to adapt the /etc/X11/XF86Config-4 file to actually use the drivers. I attached my (not cleaned) version of this file.

Basic KDE Configuration

Besides your personal preferences you have to specify the keyboard as

        Generic 102-key (Intl) PC, variant basic, no latin layout

in the KDE control center.

Fix broken DSDT Tables To Use ACPI

The default linux kernel provided with Sarge does not provide out of the box many features supported by this laptop. Unfortunately, before ACPI can be used you have to fix the DSDT tables. For details about this topic you may start reading here. These tables provide settings used by the Linux kernel and the vendor does not adhere to the ACPI specification. From the information derived previously, I proceeded as follows:

  • get the Intel iasl assembler/disassembler iasl-20030918-3.i386.rpm
  • convert the rpm to Debian package format and install it
         alien --to-deb iasl-20030918-3.i386.rpm
         dpkg -i iasl*.deb
       
  • you must have ACPI enabled (regardless of that it will not work yet) to access the broken vendor table
         cat /proc/acpi/dsdt > dsdt.dat
      
  • disassemble the table
         iasl -d dsdt.dat
      
  • now reassemble the table which also performs a check and shows warnings and errors
          iasl -tc dsdt.dsl
       
  • fix the code (I included the file dsdt.dsl-fixed which works for me)

Finally you have to modify the file drivers/acpi/osl.c in the kernel sources (see below) to use your new corrected table

#include "dsdt.hex"  // include your fixed table

// search for function acpi_os_table_override() in osl.c and modify
// the assignment of new_table

        if (strncmp(existing_table->signature, DSDT_SIG,4)) {
          *new_table = NULL;
        } else {
          *new_table = (struct acpi_table_header *) AmlCode;
          printk(KERN_INFO PREFIX "use fixed DSDT\n");
        }

Building an Optimised Linux Kernel

Fetch the Linux kernel sources (2.6.7) i.e. from kernel.org. I adapted the configuration to match the Samsung notebook. My current configuration file is attached here. Do not forget to patch acpi/osl.c to use your corrected DSDT table for ACPI. I recommend you to start with my sample configuration:

  cp config-2.6.7 /usr/src/linux/.config
  make xconfig   # (have a look)

After saving the configuration, build the kernel package:

  make-kpkg --append-to-version "-x10plus" kernel_image

and install the kernel:

  dpkg -i kernel-image-2.6.7-x10plus_10.00.Custom_i386.deb

Installing the Modem Driver

The modem is a SmartLink modem for which Debian provides two packages for it:

   apt-get install sl-modem-source sl-modem-daemon

Follow /usr/share/doc/sl-modem-source/README.Debian which tells you how to build/install it:

   cd /usr/src/modules/sl-modem; debian/rules kdist KVERS=2.6.7-x10plus KSRC=/usr/src/linux-2.6.7
   dpkg -i ../sl-modem-modules-2.6.7-x10plus_2.9.8-1_i386.deb

CPU Speedstep

Speedstep works fine by using the sysfs kernel interface. If the kernel was properly configured, you should see files under

  ls /sys/devices/system/cpu/cpu0/cpufreq/

which are explained in the kernel source tree under

  cd /usr/src/linux/Documentation/cpu-freq/

I like to use the package cpufreqd because it allows you to define profiles and rules to optimise your system. I included my cpufreqd.conf configuration file so you can see what I am talking about.

  apt-get install cpufreqd

WLAN driver

I could not get the current Intel® PRO/Wireless 2200BG Driver for Linux working. Using ndiswrapper, which is a wrapper around the native windows driver worked for me, but I have to prepared to crash my system. Use it with care and let me know if you found a better solution.

    apt-get -s install ndiswrapper  ndiswrapper-source

To build and install the Debian package:

    cd /usr/src/modules/ndiswrapper/; debian/rules binary-modules
    dpkg -i ../ndiswrapper-modules-2.6.7-x10plus_0.8-1_i386.deb

Get the windows driver from sourceforge and unpack it. Wine or unzip worked for me to unpack the self-extracting archive. Then install the driver

    ndiswrapper -i w22n51.INF

You need to adapt the file /etc/network/interfaces. I included my configuration as an example. Then, you can bring up your WLAN network interface by:

 ifup wlan0
 ifdown wlan0

Remaining Open Issues

I hope these will be solved soon:
  • card reader remains untested
  • WLAN not stable yet
  • suspend to disk does not work

This page is a courtesy for TuxMobil by Wolfgang Rohrmoser <wr2004_at_pitagoral.com>








print · i-mode · WAP · PDA
contact · imprint · privacy (P3P) · sponsors · RSS

© Werner Heuser 1997-2013 · http://tuxmobil.org/samsung_x10.html · last change Sun Jul 11 2010