Difference between revisions of "Toshiba Satellite P500-ST2G02"

From ArchWiki
Jump to: navigation, search
m (...and forgot to categorize)
(Compiling the kernel with PAE included: not specific to hardware)
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
[[Category:Toshiba (English)]]
+
[[Category:Toshiba]]
{{i18n|Toshiba Satellite P500-ST2G02}}
+
 
+
 
This is a tutorial on how to install and configure Arch Linux on a Toshiba Satellite P500 Laptop.
 
This is a tutorial on how to install and configure Arch Linux on a Toshiba Satellite P500 Laptop.
  
Line 55: Line 53:
  
 
Both Arch 32 and Arch 64 install flawlessly on the laptop. For compatibility reasons, I decided to go with Arch 32, given that I had to later recompile the kernel with PAE option turned on, in order to access 4GB of RAM.
 
Both Arch 32 and Arch 64 install flawlessly on the laptop. For compatibility reasons, I decided to go with Arch 32, given that I had to later recompile the kernel with PAE option turned on, in order to access 4GB of RAM.
 
== Install an AUR package manager ==
 
 
First I installed yaourt:
 
 
# vim /etc/pacman.conf
 
 
Add the following repository:
 
{{bc|<nowiki>
 
[archlinuxfr]
 
Server = http://repo.archlinux.fr/$arch
 
</nowiki>}}
 
 
# pacman -Syu
 
# pacman -S yaourt
 
  
 
== Install the Realtek wireless card driver ==
 
== Install the Realtek wireless card driver ==
  
The wireles card does not work out of the box, so I had to install the 8192cu driver from AUR. Note that my card model is 8172, but it does seem to work fine with the 8192cu driver.
+
The wireless card does not work out of the box, so I had to install the {{aur|8192cu}} driver from [[AUR]]. Note that my card model is 8172, but it does seem to work fine with the 8192cu driver.
 
+
$ yaourt -S 8192cu
+
  
 
== Install NVIDIA driver ==
 
== Install NVIDIA driver ==
Line 88: Line 69:
  
 
  # pacman -S xf86-input-synaptic
 
  # pacman -S xf86-input-synaptic
 
== Setup permissions ==
 
 
In order to use everything your user must be added to several groups
 
 
# gpasswd -a $USER wheel
 
# gpasswd -a $USER network
 
# gpasswd -a $USER video
 
# gpasswd -a $USER audio
 
# gpasswd -a $USER optical
 
# gpasswd -a $USER storage
 
# gpasswd -a $USER scanner
 
# gpasswd -a $USER power
 
  
 
== ACPI ==
 
== ACPI ==
Line 184: Line 152:
  
 
You may also want to add pm-suspend under button/lid) to make your laptop suspend when closed. I particularly do not ever close my laptop, because I use it as a desktop computer.
 
You may also want to add pm-suspend under button/lid) to make your laptop suspend when closed. I particularly do not ever close my laptop, because I use it as a desktop computer.
 
== X11 ==
 
 
I use Openbox, so in order to get everything on your computer accessible to you, you need to execute it with ck-launch-session:
 
 
'''~/.xinitrc'''
 
exec ck-launch-session openbox-session
 
 
Same goes for any other GUI.
 
  
 
== Laptop Mode Tools ==
 
== Laptop Mode Tools ==
Line 204: Line 163:
 
== External Microphone ==
 
== External Microphone ==
  
The external microphone will not work with ALSA, but it works well with OSS.
+
The external microphone works well with OSS, but in order to work with ALSA, you have to add this line to /etc/modprobe.d/alsa-base.conf
See [[OSS]] for detailed instructions.
+
  
== Compiling the kernel with PAE included ==
+
options snd-hda-intel model=dell-vostro
 
+
If you chose to install Arch 86_64, you can skip this section. This is only for those who installed Arch 32 and would like to access more than 3GB of RAM.
+
 
+
You have two options:
+
# Install kernel26-pae from AUR
+
# Recompile the current Arch kernel to turn on the PAE option
+
 
+
I chose to recompile the kernel, which also gave me the opportunity to remove some modules I won't use.
+
 
+
=== Install the PAE kernel from AUR ===
+
 
+
If you chose to install the PAE kernel from AUR:
+
 
+
  # yaourt -S kernel26-pae
+
  # yaourt -S nvidia-pae
+
 
+
It will take about an hour for the kernel to compile.
+
 
+
=== Recompile the current kernel ===
+
 
+
I compiled the kernel from ABS. Besides turning on PAE, I also did the following changes to my kernel:
+
 
+
# Removed bluetooth and infrared support (my laptop came w/o any of that)
+
# Removed ATA support
+
# Removed tablet, touch screen and others
+
# Changed the CPU type to Core 2/Newer Xenon
+
 
+
After you log in to the new kernel, you will have to recompile the '''nvidia''' package too
+
 
+
== My /etc/rc.conf ==
+
 
+
Here is what my /etc/rc.conf looks like:
+
 
+
{{bc|1=
+
LOCALE="en_US.UTF-8"
+
HARDWARECLOCK="localtime"
+
TIMEZONE="America/Los_Angeles"
+
KEYMAP="us"
+
CONSOLEFONT=
+
CONSOLEMAP=
+
USECOLOR="yes"
+
 
+
MOD_AUTOLOAD="yes"
+
MODULES=(ac battery button fan thermal !btusb !bluetooth !toshiba_bluetooth !joydev !pcspkr)
+
 
+
USELVM="no"
+
 
+
HOSTNAME="satellite"
+
eth0="dhcp"
+
INTERFACES=(!eth0 !wlan0)
+
NETWORK_PERSIST="no"
+
 
+
DAEMONS=(syslog-ng dbus wicd !hal !network !netfs @openntpd @crond @alsa)
+
}}
+

Revision as of 17:27, 7 November 2012

This is a tutorial on how to install and configure Arch Linux on a Toshiba Satellite P500 Laptop.

Hardware

Custom configuration, purchased on 11/29/2010 from Toshiba Direct:

  • Intel® Core™ i5-460M processor
  • Genuine Windows 7 Home Premium (64-bit)
  • 4GB DDR3 1066MHz memory
  • 500GB HDD (7200rpm)
  • 1GB GDDR3 NVIDIA® GeForce® GT 330M
  • 18.4" screen

lspci reports this:

# lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05)
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 05)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 05)
00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 05)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5)
00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05)
00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05)
01:00.0 VGA compatible controller: nVidia Corporation Device 0a29 (rev a2)
01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1)
07:00.0 FireWire (IEEE 1394): O2 Micro, Inc. Device 10f7 (rev 01)
07:00.1 SD Host controller: O2 Micro, Inc. Device 8120 (rev 01)
07:00.2 Mass storage controller: O2 Micro, Inc. Device 8130 (rev 01)
0a:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8172 (rev 10)
0b:00.0 Ethernet controller: Atheros Communications Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0)
ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05)
ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05)
ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05)
ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05)
ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)

Removing Windows

I was thinking of keeping Windows in its own partition, but I had trouble with repartitioning the hard disk. Since I don't really use Windows, I ended up deleting all Windows and Toshiba Restore partitions. For some reason cfdisk (my tool of choice) didn't work here, so I had to use fdisk to do that.

Arch Installation

Both Arch 32 and Arch 64 install flawlessly on the laptop. For compatibility reasons, I decided to go with Arch 32, given that I had to later recompile the kernel with PAE option turned on, in order to access 4GB of RAM.

Install the Realtek wireless card driver

The wireless card does not work out of the box, so I had to install the 8192cuAUR driver from AUR. Note that my card model is 8172, but it does seem to work fine with the 8192cu driver.

Install NVIDIA driver

# pacman -S nvidia

This also adds the proper xorg configuration. X starts and works fine right out of the box. It works in 1680x945 right away - no issues here.

Install the Synaptic driver

The mouse pad works, but it has issues. You need to install Synaptic:

# pacman -S xf86-input-synaptic

ACPI

You have to tweak acpi a little, otherwise the laptop will randomly freeze. First add the following modules to your rc.conf: ac, battery, button, fan, thermal. Second edit /etc/acpi/handler.sh and under battery create another case for BAT1) which is the same as BAT0).

Here is an example of my /etc/acpi/handler.sh:

#!/bin/sh
# Default acpi script that takes an entry for all actions

# NOTE: This is a 2.6-centric script.  If you use 2.4.x, you'll have to
#       modify it to not use /sys

minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`
maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`
setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"

set $*

case "$1" in
    button/power)
        #echo "PowerButton pressed!">/dev/tty5
        case "$2" in
            PWRF)   logger "PowerButton pressed: $2" ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/sleep)
        case "$2" in
            SLPB)   echo -n mem >/sys/power/state ;;
            *)      logger "ACPI action undefined: $2" ;;
        esac
        ;;
    ac_adapter)
        case "$2" in
            AC)
                case "$4" in
                    00000000)
                        echo -n $minspeed >$setspeed
                        #/etc/laptop-mode/laptop-mode start
                    ;;
                    00000001)
                        echo -n $maxspeed >$setspeed
                        #/etc/laptop-mode/laptop-mode stop
                    ;;
                esac
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    battery)
        case "$2" in
            BAT0)
                case "$4" in
                    00000000)   #echo "offline" >/dev/tty5
                    ;;
                    00000001)   #echo "online"  >/dev/tty5
                    ;;
                esac
                ;;
            BAT1)
                case "$4" in
                    00000000)   #echo "offline" >/dev/tty5
                    ;;
                    00000001)   #echo "online"  >/dev/tty5
                    ;;
                esac
                ;;
            CPU0)	
                ;;
            *)  logger "ACPI action undefined: $2" ;;
        esac
        ;;
    button/lid)
        #echo "LID switched!">/dev/tty5
        ;;
    *)
        logger "ACPI group/action undefined: $1 / $2"
        ;;
esac

You may also want to add pm-suspend under button/lid) to make your laptop suspend when closed. I particularly do not ever close my laptop, because I use it as a desktop computer.

Laptop Mode Tools

I installed laptop-mode-tools, but it didn't seem to improve anything so I disabled it. The battery life of this laptop is less than an hour and there is not much you can do. I use the laptop as a replacement for a desktop computer, so it's always plugged in.

Multimedia Buttons

The volume buttons work out of the box. I am, however, slightly annoyed with them, because they are a little too close to the keyboard and can be accidentally pressed when typing. They can be disabled from the Gnome menu System -> Preferences -> Keyboard Shortcuts

External Microphone

The external microphone works well with OSS, but in order to work with ALSA, you have to add this line to /etc/modprobe.d/alsa-base.conf

options snd-hda-intel model=dell-vostro