|
Linux on Laptops |
|
| Home | New | Models | Components | Discussion | Submit |
Here I document the installation of the Gentoo Linux/AMD64 distribution on my Acer Ferrari 3200 notebook. The main
purpose is to document how to get a 64bit Linux distribution working on this notebook for those who want to really
make use of the AMD64 CPU. This means that I have as yet not put much effort into getting all the hardware working. I
did put effort into getting various bits of software working (such as fortran compilers, Java, and IDL) and I've
included some remarks on that below.
Anthony Brown
Last Update Aug 11 2004
Hardware table
Basic installation
Post install issues
|
Hardware Components |
Status Under Linux |
Notes |
|---|---|---|
|
Mobile AthlonTM 64 Processor 2800+ (1.8 GHz) |
Works |
No special procedure required during installation. |
|
CPU frequency scaling |
Works |
Use the 'cpudyn' ebuild from Gentoo. NOTE that one has to compile the Powernow! option for AMD CPUs into the kernel in order for this to work (CONFIG_X86_POWERNOW_K8=y). Do take the effort of installing this in order to avoid a constantly whining fan! |
|
15.0 SXGA+ TFT LCD with 1400x1050 pixels |
Works |
Display works at various resolution settings. Did not try switching to external monitor/projector yet. |
|
128MB ATI® Mobility Radeon® 9700 |
Works |
No ATI drivers for x86_64 yet and there is no DRI-project support for this card (yet) so one cannot make use of 3D features. |
|
512MB (2x256) DDR333 SDRAM |
Works |
No special procedure required during installation |
|
80 GB ATA-100 (4200 RPM) hard disk |
Works |
modprobe ide-disk required when first booting Gentoo 2004.2 LiveCD |
|
Slot-load DVD-Super Multi drive [Matshita DVD-RAM UJ-825S (D100)] |
Works |
No special procedure required during installation |
|
Integrated Network Card: Broadcom BCM5788 NetXtreme (Gigabit) |
Works |
modprobe tg3 when booting from LiveCD, compile tg3 driver as kernel-module |
|
Internal 56k Modem |
Doesn't Work |
I will not even try this! |
|
Internal wireless card (wi-Fi certified), Broadcom BCM4306, 802.11b/g |
Doesn't Work yet |
Should work with ndiswrapper and XP driver? |
|
8-cell Lithium-Ion Battery pack |
Works |
No special procedure required during installation; tested and seems to have about 2.5 hours of life |
|
Soundcard: Realtek AC97 Codec ALC202A |
Works |
Compile support for the sound-card as a kernel module (snd_via82xx) and follow the instructions in the Gentoo Linux ALSA Guide |
|
4-in-1 card reader supporting Secure Digital, SmartMedia, MultiMediaCard, and Memory Stick formats |
Doesn't work yet |
Haven't tried this yet |
|
Bluetooth |
Doesn't work yet |
Haven't tried this yet |
|
Infrared |
Doesn't work yet |
Should work with standard Linux IRDA tools? |
|
Firewire (IEEE1394) |
Doesn't work yet |
Haven't tried this yet |
|
PCMCIA |
Doesn't work yet |
Haven't tried this yet |
|
Power Management |
Works (partly) |
If one compiles the relevant acpi options into the kernel, the 'acpi' ebuild from Gentoo works fine for monitoring the battery charge state. However I have not tried any advanced power management options yet. |
|
Synaptics touchpad with 4-way scroll key |
Works |
See below |
|
Keyboard |
Works |
Euro symbol and character composing works (see below). The embedded numerical keypad (activate with "numlock") works. Did not try function key to switch to external monitor. The LCD-brightness function keys work. |
This laptop is operating under Kernel version 2.6.7-gentoo-r13
Basic Installation of Gentoo Linux/AMD64 distribution:
After some browsing on the web I decided to have a go at the Gentoo distribution which seemed a good option because of its high level of configurability for the specific machine one is working with and because it seemed to offer good (and continuously ongoing) AMD64 support. Before trying Gentoo I also managed to install Fedora Core 3 Test-1, which is a 32bit distribution. Contact me for more information.
The Gentoo distribution can be obtained from www.gentoo.org
I downloaded version 2004.2 of the
LiveCD and PackageCD and installed the distribution according to the instructions in the Gentoo Handbook. Do not
forget to print a copy of this handbook before installation. If you're new to Gentoo you will be lost without it! Also
read the technotes on the AMD64 version of Gentoo. I chose to go for the (easiest) 'stage 3' installation.
Note that the Ferrari 3200 comes with WindowsXP Home Edition pre-installed. The hard disk is partitioned into three
primary partitions: C: (ACER, FAT32), D: (ACERDATA, FAT32) and a hidden(!) partition *: (ACER_SERVIC, FAT16). Before
installing Linux you have to (obviously) resize/change these partitions. I decided to put the Linux (ext3) partition
on an extended partition at the end of the disk. The space was taken from C: and D: and I only moved the hidden *:
partition, leaving it untouched otherwise. I used PartitionMagic 8.0 to do all this. (Keep windows to make use of that
big graphics card if you like gaming!)
On the web I discovered there are/were some issues with setting up a dual boot WindowsXP/Linux environment due to
differences between the Linux 2.6 kernel series and the WindowsXP kernel's interpretation of the layout of a hard
disk. For details see: Making Fedora Core 2 and Windows play
well together. Basically, to be on the safe side I booted the Linux kernel from the installation CD with the
option hda=9729,255,63 (the Ferrari 3200 HDD has 9729 cylinders, 255 heads and 63 sectors per track). This is what is
advised in the above-mentioned article and indeed I had no problems later on with the dual boot setup.
After booting a modprobe ide-disk was necessary to get the kernel to see the hard disk (ide support is by default
compiled as a module) and modprobe tg3 was necessary to get the Ethernet card going. The latter worked straight away
and I could simply set up the network connection using DHCP.
After that I managed to install everything by simply following the instructions in the Gentoo handbook. The
installation involves compiling the kernel and I have re-compiled the kernel after installation as well in order to
further tune it. Contact me if you would like to see my config file for the gentoo-2.6.7-r13 sources
I have the following flags in the /etc/make.conf file:
CFLAGS="-O2"
CHOST="x86_64-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
USE="cups fftw dvd dvdr cdr alsa"
Post-Install
modifications/tweaks
After installation of Gentoo one is left with a very basic Linux system (no X, no desktop etc) and one has to add
whatever packages one wants to use. I added some of the packages needed to get a desktop going from the Gentoo
PackageCD, which means they are installed directly as binary packages.
I also re-compiled the kernel in order to further tune it to the hardware on the notebook (see config file).
Framebuffer support
This can be compiled into the kernel as follows: In the kernel configuration menu under "Processor type and features"
one should enable "MTRR (Memory Type Range Register) support" (as built-in) and under "Device drivers ---> Graphics
support" one should enable the "Support for frame buffer devices" and "VESA graphics support" as built-ins. "ATI
Radeon display support" can be selected as a module and one can optionally select "DDC/I2C for ATI Radeon support"
(Which also requires "I2C support" and "I2C bit-banging support", see the kernel config help for instructions).
With the kernel options listed above one can also use the framebuffer to get high-resolution screens in
virtual-console mode by adding the options "video=vesafb:ywrap,mtrr vga=0x31B" to the kernel-line of the boot-loader
(grub in my case). Here's the relevant section from grub.conf:
title=Gentoo Linux 2.6.7-r13 (+framebuffer)
root (hd0,4)
kernel /kernel-2.6.7-gentoo-r13 root=/dev/hda6 video=vesafb:ywrap,mtrr vga=0x31B
This gives a 1280x1024 screen with 24 bits per pixel. One can also embed the consoles in a boot-splash image. For
detailed instructions on how to do that see: http://gentoo-wiki.com/HOWTO_Framebuffer:Bootsplash:Grubsplash
Note that the framebuffer works fine without the "ATI Radeon display support".
Getting the X-server to work
There are currently no ATI drivers for the Mobility Radeon 9700 card for the x86_64 ISA and one has to make use of the
"radeon" driver that comes with the X11 distribution. This will only enable the 2D features of the card. The 3D
features require either drivers from ATI (still to be developed for 64bit architectures) or the software from the DRI project. The latter does not support the Mobility Radeon 9700
card yet.
The configuration of X11 makes use of the classical configure scripts that require you to provide the graphics card
type and the monitor frequencies. I used "HorizSync 31.5 - 64.3" and "VertRefresh 60-160". However I'm not sure this
is the best setting.
Keyboard and Locale issues
Having a keyboard with a Euro symbol one would like to use this. The use of modern character encodings is also
desirable. There are very useful pointers in the Gentoo docs (http://www.gentoo.org/doc/en/guide-localization.xml).
Basically I want to use the "ALT GR" key to access the Euro symbol (a
so-called third-level character) and I want have a compose key for accents
etc.
The "ALT GR" and "compose" keys can be set up in the xorg.conf file by using
the following for the keyboard:
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbOptions" "lv3:ralt_switch,compose:menu"
However this will only work for applications that are governed by the X-server
for the keyboard input. This includes xterm and Emacs. Note that the Model,
Layout and Options settings can be copied from the
/usr/X11R6/lib/X11/xkb/rules/xorg.lst file.
For gnome-terminals use the Gnome "keyboard preferences" application (under
the "Desktop preferences" menu item). To get things to work choose:
Generic 105-key (Intl) PC keyboard model
U.S. English layout
Menu is compose layout option
Press Right Alt to choose 3rd level layout option
The character encodings in the gnome-terminals can be set to UTF-8 (for
example) using the Terminal-->character encoding menu item. But one can also
set it permanently by doing:
localedef -c -i en_GB -f UTF-8 en_GB.UTF-8
export LANG=en_GB.UTF-8
This gives a GB english with UTF encoding. Any character can then be called up
by pressing crtl-shift followed by its code (e.g. crtl-shift-20ac gives the
euro symbol). This works in gnome-terminals but not necessarily in other apps!
(It does work in vim)
For the console mode I have in rc.conf
KEYMAP="us"
CONSOLEFONT="lat9w-16"
CONSOLETRANSLATION="8859-15_to_uni"
The changes to /usr/X11R6/lib/X11/fonts/misc/fonts.alias according to the
explantion in the Gentoo localization guide and also used their suggestion for
getting the Euro symbol to work in Emacs are not necessary as far as I can tell.
Useful files/directories:
/usr/share/consolefonts
/usr/share/consoletrans
/usr/X11R6/lib/X11/fonts/misc/fonts.alias
/usr/X11R6/lib/X11/xkb/rules/xorg.lst
/usr/share/i18n/charmaps/
/usr/share/i18n/locale/
32bit applications, g77, Java
For my work I make use a lot of the IDL data analysis software and in order to get that running you need to install
the 32bit emulation environment (packages app-emulation/emul-linux-x86-*). The GUI install for IDL version 6.0 does
not work but an install without GUI works without problems. So far IDL seems to run just fine with the 32bit emulation
environment.
In order to have a working g77 compiler one has to re-emerge the gcc compiler and set the extra USE flag "f77". If one
wants to keep compiling programmes for the x86 (32bit) architecture then also set the "multilib" USE flag. The
compilation of 32bit executables with g77 then works using: g77 -m32
-L/emul/linux/x86/usr/lib/gcc-lib/i386-pc-linux-gnu/3.2.3/
It should work with just -m32 but I found that then the compiler complains about not being able to find the
libfrtbegin library. Hence the extra -L flag.
The Java SDK from sun (version 1.5beta2) is available for the AMD64 architecture and works just fine. Also ant
(version 1.6.2) builds just fine.
I have not been able to get the latest (8.0.34) "free" Intel Fortran compiler working. However, programmes compiled
with ifc on a 32bit machine work fine on the AMD64 and are still a lot faster (factor of 4 gain compared to my old
Pentium III notebook).
Setting up additional features for Gentoo Linux/AMD64
Getting
the touchpad to operate as more than a PS/2 mouse
Download the synaptics touchpad driver from http://w1.894.telia.com/~u89404340/touchpad/ and follow the instructions for the options needed in
the kernel compilation. Alter the makefile to activate the x86_64 architecture option and then just do 'make, make
install' and the driver should be in place and work. The software comes with instructions for the X11 config file. I
have the touchpad working alongside the USB mouse that comes with the Ferrari and the relevant part of the xorg.conf
file is:
Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Corepointer"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
Option "Buttons" "7"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# If the normal CorePointer mouse is not a USB mouse then
# this input device can be used in AlwaysCore mode to let you
# also use USB mice at the same time.
Identifier "DevInputMice"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Screen0"
InputDevice "DevInputMice" "CorePointer"
InputDevice "Synaptics Mouse" "AlwaysCore" "true"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
The driver works fine and even the vertical and horizontal scrolling with the 4-way button works!
See hardware table above.
Here's my full xorg.conf file (without
all the comments).
Section "Module"
Load "synaptics"
Load "dbe" # Double buffer extension
SubSection "extmod"
Option "omit xfree86-dga" # don't initialise the DGA extension
EndSubSection
Load "type1"
Load "speedo"
Load "freetype"
Load "glx"
EndSection
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/share/fonts/misc/"
FontPath "/usr/share/fonts/TTF/"
FontPath "/usr/share/fonts/Speedo/"
FontPath "/usr/share/fonts/Type1/"
FontPath "/usr/share/fonts/CID/"
FontPath "/usr/share/fonts/75dpi/"
FontPath "/usr/share/fonts/100dpi/"
FontPath "/usr/share/fonts/local/"
EndSection
Section "ServerFlags"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbOptions" "lv3:ralt_switch,compose:menu"
EndSection
Section "InputDevice"
Identifier "Synaptics Mouse"
Driver "synaptics"
Option "Corepointer"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
Option "Buttons" "7"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "DevInputMice"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection
Section "Monitor"
Identifier "LCD"
HorizSync 31.5 - 64.3
VertRefresh 60-160
EndSection
Section "Device"
Identifier "Standard VGA"
VendorName "Unknown"
BoardName "Unknown"
Driver "vga"
EndSection
Section "Device"
Identifier "ATI Mobility Radeon 9700"
Driver "radeon"
EndSection
Section "Screen"
Identifier "Screen0"
Device "ATI Mobility Radeon 9700"
Monitor "LCD"
DefaultDepth 24
Subsection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1400x1050" "1280x1024" "1024x768"
ViewPort 0 0
EndSubsection
EndSection
Section "ServerLayout"
Screen "Screen0"
InputDevice "DevInputMice" "CorePointer"
InputDevice "Synaptics Mouse" "AlwaysCore" "true"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Here's the /sbin/lspci output
0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8385 [K8T800 AGP] Host Bridge (rev 01)
0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI bridge [K8T800 South]
0000:00:07.0 CardBus bridge: Texas Instruments PCI4510 PC card Cardbus Controller (rev 02)
0000:00:07.1 FireWire (IEEE 1394): Texas Instruments PCI4510 IEEE-1394 Controller
0000:00:09.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
0000:00:0b.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet (rev 03)
0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 80)
0000:00:10.3 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 82)
0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8235 ISA Bridge
0000:00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06)
0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 50)
0000:00:11.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Modem] (rev 80)
0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 NorthBridge
0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
E-mail: agabrown%xs4all.nl
| Cheap Laptop | Rugged Laptop Case | Gaming Laptop | Lenovo Linux Laptop |
|
Linux on Laptops is copyright © linux-on-laptops.com
Privacy Statement Contact us at linuxonlaptops (at) gmail.com | Advertise on linux-on-laptops.com |
No Warranties: This information is provided "as is" without any warranty, condition, or representation of any kind, either express or implied, including but not limited to, any warranty respecting non-infringement, and the implied warranties of conditions of merchantability and fitness for a particular purpose. All logos or trademarks on this site are the property of their respective owner. In no event shall linux-laptop.net, linux-on-laptops.com, or any directors, trustees, associates, or employees thereof be liable for any direct, indirect, special, incidental, consequential or other damages howsoever caused whether arising in contract, tort, or otherwise, arising out of or in connection with the use or performance of the information contained on this web site.