![]() |
|
My laptop now features the following:
| Processor | Intel Celeron M 410; 1.46GHz, 1MB L2 cache, 533MHz FSB |
| RAM memory | 512 MB |
| Hard disk | Sata 40 GB |
| Optical drive | DVD-ROM/CD-RW combo |
| Display | 15.4" WXGA 1280x800 |
| Wireless controller | Broadcom 4311 802.11b/g Wireless LAN, IRQ 18 |
| Linux distribution | Gentoo 2006.1 with Portage dated Oct 23 / 06 |
| Windows | XP Home |
I recently bought my laptop, and wanted a product by HP because the company itself has a good relation with the Open Source community. At first I installed Slackware Linux 11.0, because i am very used to its features. However, I didn't manage to make the wireless system work. I compiled the Linux kernel 2.6.18 and tried ndiswrapper with no positive result. It seems that the main reason for this is that the Vanilla kernel I used does not scan for IRQs greater than 15.
As I had a good experience with Linux From Scratch on desktops, I decided to give my laptop a try of it. But I dropped this choice immediately in favor of Gentoo Linux. The extra feature I got was that the IRQs greater than 16 where successfully detected by the patched version of the Linux Kernel (gentoo-sources), so the Wireless chip worked at last. I got a greatly optimised Linux distribution for my laptop and now I have more processing power for my scientific work.
I designed the following partition table for the hard disk:
| Name | Partition type | Filesystem type | Size (MB) |
| sda1 | Primary | Linux Swap | 1003 |
| sda5 | Logical | Linux ReiserFS | 7000 |
| sda6 | Logical | Linux ReiserFS | 14000 |
| sda2 | Primary | NTFS | 9340 |
| sda3 | Primary | W95 FAT32 (LBA) | 8620 |
The fstab file shows the following:
| # fs | mountpoint | type | options | dump | pass |
| /dev/sda5 | / | reiserfs | noatime | 0 | 1 |
| /dev/sda6 | /home | reiserfs | noatime | 0 | 2 |
| /home/var | /var | none | bind,noatime | 0 | 0 |
| /dev/sda1 | none | swap | sw | 0 | 0 |
| /dev/hda | /media/cdrom | iso9660 | noauto,users,umask=000,nosuid,noexec,nodev,ro | 0 | 0 |
| proc | /proc | proc | defaults | 0 | 0 |
| shm | /dev/shm | tmpfs | nodev,nosuid,noexec | 0 | 0 |
| /dev/sda2 | /mnt/win | ntfs | noauto,users,ro,umask=000,noexec,nosuid,nodev | 0 | 0 |
| /dev/sda3 | /mnt/rescue | vfat | noauto,users,ro,umask=000,noexec,nosuid,nodev | 0 | 0 |
| /dev/sdb | /media/usb | vfat | noauto,users,rw,umask=000,noexec,nosuid,nodev | 0 | 0 |
| /dev/sdb1 | /media/usb1 | vfat | noauto,users,rw,umask=000,noexec,nosuid,nodev | 0 | 0 |
| /dev/sdb2 | /media/usb2 | vfat | noauto,users,rw,umask=000,noexec,nosuid,nodev | 0 | 0 |
Certainly, you will find a fstab which will fit your taste. I used this file format for two reasons: The home partition was already there and using the bind feature of mount allows me to reause space - it is, when /usr gets idle, I can use it to store docs and music.
I followed closely the Gentoo Handbook, so there is not too much to say in this page. Here are some hacks and tweaks I had to use specifically for my Presario laptop. I am sure they will become unnecessary soon.
You can make the X session of the LiveCD work, by changing the device driver in /etc/X11/xorg.conf from i810 to vesa. However, it is not very necessary to have the X session working at this point, because the xorg.conf of your installed system will be different than that of the LiveCD.
The Genkernel system, as indicated in the Handbook, is a tool which tries to autodetect the appropriate kernel configuration before compiling; I didn't make use of this tool. Instead, I compiled the kernel gentoo-sources with a manually provided configuration, which you can download here. Please email me if you get a working configuration with Genkernel. (Do not forget about the wireless system!). The kernel command line is as follows:
kernel /boot/vmlinuz root=/dev/sda5 video=intelfb:mtrr:4,ywrap,1024x768-24@60 quiet
When booting, the kernel will show the following messages:
PCI: Cannot allocate resource region 7 of bridge 0000:00:1c.0
PCI: Cannot allocate resource region 8 of bridge 0000:00:1c.0
PCI: Cannot allocate resource region 7 of bridge 0000:00:1c.1
PCI: Cannot allocate resource region 8 of bridge 0000:00:1c.1
PCI: Cannot allocate resource region 7 of bridge 0000:00:1c.2
PCI: Cannot allocate resource region 8 of bridge 0000:00:1c.2
PCI: Cannot allocate resource region 0 of device 0000:06:00.0
This is because the PCI system does not handle the PCI Express bridges of your laptop, along with your wireless chip (0000:06:00.0). These are later detected properly by the PCIE system.
I used the following make.conf. I only post the relevant lines as a reference; perhaps you will want to use a close configuration:
# 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
CFLAGS="-O3 -march=pentium4m -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
DISTDIR="/home/sys/distfiles"
MAKEOPTS="-j2"
USE="-3dfx -3dnow X Xaw3d a52 aac -aalib -accessibility -acl acpi -adabas -afs -aim alsa -altivec -apache -apache2 -apm arts audiofile bash-completion -bcmath -berkdb -bidi bindist -birdstep -blas -bluetooth -bonobo bzip2 -calendar -canna caps -cdb cdinstall cdparanoia cdr -chasen -cjk -clamav -cracklib crypt cups curl curlwrappers dbus dga dio -doc dri -dvb dvd -dvdr dvdread emacs -empress encode -esd -ev6 -evo -examples exif expat fam fbcon -fdftk ffmpeg fftw -filepro -firebird firefox flac flash foomaticdb fortran -freetds -freewnn -frontbase ftp -gb -gcj gd gdbm -geoip -ggi gif ginac glut gmp -gnome -gnustep gnutls -gphoto2 gpm -graphviz gstreamer gtk gtk2 gtkhtml guile hal -hyperwave-api -ibm -icc -iconv -icq idn -ieee1394 imagemagick -imap imlib -informix -ingres -inifile -innodb -interbase -iodbc -ipv6 -jabber jack java javascript jbig jikes -joystick jpeg jpeg2k -junit kde kdeenablefinal -lapack lash lcms -ldap -leim lesstif -libedit -libg++ -libgda libwww -lirc -lm_sensors mad -mailwrapper -matroska -matrox -mcal -mcve mhash -migemo mikmod -milter mime ming mmap mmx mng -mnogosearch -mono motif -mozilla mp3 mpeg mpi -msql -mssql mule -multilib mysql mysqli nas ncurses -netboot -nis nls nptl nsplugin -ocaml -oci8 odbc -ofx ogg openal opengl -oracle7 -oracle osc -oscar -oss -ovrimos pcmcia pcntl pcre pda pdf php plotutils png portaudio posix -postgres ppds -prelude python -qdbm qt3 quicktime -radius readline -samba -sasl -scanner sdl -seamonkey slang -smartcard sndfile sockets socks5 sox speex spell -sqlite -sqlite3 sse sse2 ssl startup-notification svg szip tetex theora threads tidy tiff truetype usb vcd videos vin-syntax -voodoo3 vorbis wddx wifi win32codecs xine xinerama xml -xmms xosd xpm xprint xscreensaver xsl xv xvid yahoo zlib"
INPUT_DEVICES="keyboard mouse synaptics"
VIDEO_CARDS="i810 vesa"
#For KDE-i18n
LINGUAS="en_GB de es"
After rebooting I emerged the following packages in order:
This section documents some packages I emerged and am currently using, but with some caveats. Please email me and tell if you find new workarounds or fixes:
915resolution is a very important package for your Presario laptop. For some reason, X cannot detect the optimal screen resolution of your LCD, and falls back to 1024x768. Steve Tomljenovic brings this hack to you, which modifies the RAM copy of the video bios table to reflect such a resolution, so X starts with a nice 1280x800 screen mode. The package is still in testing, but it worked to me. If you decide to try it, you will have to type
ACCEPT_KEYWORDS="~x86" emerge 915resolution
and put replace=( "5c 1280 800 32" ) in the file /etc/conf.d/915resolution.
kaffeine, the popular KDE media player, crashes when you play a VCD and move the mouse cursor over the movie.
beryl, the OpenGL window manager, runs a bit slowly on my laptop. If you plan to use it, you will have to deactivate several functions. By following the gentoo-wiki recommendations, the result is fairly good. The problems I felt were insufficient memory and keyboard hangs when starting from KDM. For example, I cannot run both beryl and amarok.
ndiswrapper-1.33. As there are not Linux drivers for the Broadcom wireless chip 4311, you have to resort to this package which lets you use the original Windows drivers with Linux. I (and you) ran with much luck, because the RF kill switch has no problem to work under Linux. Of course, I used the broadcom drivers from the Windows partition.
kwifi, a part of kdenetwork, is a tool to monitor and set up your wireless card. Given that the current version has no support for disconnection scripts, you will find it difficult to set up your wireless connections to different kinds of networks. I use my laptop as client in some networks, and as dhcp and ssh server in other networks, so it is better to use the system scripts. By the way, I do not use WPAPSK encryption, so I no have answers your your doubts in this area.
alsasound. Sometimes you will find that the KDE sound system noes not start because some "Invalid Argument". What is really happeining is that the very alsasound system failed to start. You have two options to fix the problem: either type as root
/etc/init.d/alsasound restart
and use the KDE Control Center to restart the sound system, or restart the computer.
Last but not least important, it is important that you keep your system often up-to date, for three reasons: You will benefit from different, interesting patches the Gentoo team releases every day, your system will stay secure, and you will save a heart arrest when you have very old versions of your packages and decide to update. You can browse forums.gentoo.org for different cases of unhappy people with failed update processes. This can happen to you!
The most efficient way to keep your system up-to-date is to type the following as root every week:
emerge --update world
In the partition table I presented here, the next-to-last partition contains now Windows-XP, while the last partition is the Compaq Rescue partition.
The Windows partition showed in the Partition Table has the minimum permitted size. With this, Windows is installed from the Rescue partition. It is better to allow the Windows installation from the Rescue partition instead of a new installation, because it will install all the device drivers and programs.
When you install Windows from the rescue partition, you might find a crashing Windows OS with the message hal.dll not found. It does not mean that the file is missing or corrupted, but that it failed to load. Windows' hal (Hardware Abstraction Layer) has the task of detecting the hard disk partitions, among others. So you can give to explanations to this crash:
partition(n), but you changed the partition table, so n changed, In my particular installation, the first explanation applies. Let us have a look at the original boot.ini:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect
To make Windows boot, I changed the 1s for 2s. I advice you to try with 3 or 4 if your partition table is different.
All the names and brands here mentioned are trademarks or registered trademarks of their respective owners. No copyright violation is intended at all.
Use this information under your own risk. I am not liable for what you do with it.
![]() |
|
|