Notebook HP Pavilion zv6000 com o Slamd64: revisão 3

Este texto é um relato de minhas aventuras e desventuras com a instalação de um port independente do Slackware para processadores de 64 bits, o Slamd64, em um Notebook Pavilion zv6000 da HP. Provavelmente será a última atualização deste texto, visto que estou para comprar um novo notebook.

Sumário


1 Introdução

Utilizo o Unix deste 1991 e foi no final de 1994 que experimentei pela primeira vez o GNU/Linux Slackware, em um 486DX2 66MHz. Desde então, o Slackware tem sido parceiro em minhas máquinas.

Provavelmente foi por isto que acabei escolhendo um port do Slackware em 64Bits, o Slamd64, para por em meu notebook. Antes disto cheguei a testar alguns sabores de GNU/Linux 64Bits como o Suse64, Gentoo64 e o Kubunto64. Uma grande motivação para este texto foi o exelente trabalho Mike Wilson em seu texto: HARDWARE Gentoo Linux 64bit on HP Pavilion zv6000 series notebook[2].


2 O Hardware

A máquina em questão é um notebook HP Pavilion zv6000 com o hardware resumido abaixo:

  • Processador AMD Mobile Athlon 64Bits 3200+ de baixo consumo;
  • LCD Widescreen Bright View de 15,4 polegadas (com resolução máxima de 1280×800);
  • HD SAMSUNG HM120JC-120GB (o original deu defeito);
  • TouchPad com botão on/off;
  • Realtek 10/100 (8139too);
  • Wireless LAN Controller: Broadcom Corporation BCM4306 802.11b/g;
  • Slot PC Card com suporte a 32bits e 16 bits e DVD+/-RW;
  • 1GB DDR-400MHz (embora só funcione a 333MHz);
  • Modem 56K (nunca usei);
  • ATI 200m Xpress com 128MB de memória vídeo dedicada;
  • Slot Digital Media (memory Stick, …);
  • Porta IEEE 1394;
  • Botões de atalho;
  • 4 portas usb;
  • Multimedia audio controller: ATI Technologies;
  • IDE interface: ATI Technologies;
  • FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller;
  • Dispositivo de infra-vermelho;
  • Digital midia


3 O Slamd64

O Slamd64 é um port não oficial do Slackware. Seu nome vem da contração das palavras Slackware e AMD64. Embora tenha o Amd64 em seu nome, o Slamd64 não é restrito ao uso em processadores 64Bits da AMD. Ele vem compilado para a arquitetura Generic-x86-64, que suporta tanto os processadores 64Bits da AMD, como os processadores 64Bits da Intel.

A grande diferença entre a estrutura de pacotes do Slamd64 com a do Slackware, está na adição de duas séries: z e c. A série c contém bibliotecas para compatibilizar aplicativos rodando em 32bits no Slamd64, enquanto que a série z, anteriormente chamada de nonus, contém pacotes como o lame e o libdvdcss, que são considerados ilegais nos Estados Unidos (recentemente a série z foi removida da distribuição). Outras diferenças mais internas são muito bem apresentadas no texto de Moisés Román Parisuaña Ito, em :

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2967


4 A instalação

A instalação do Slamd64 é exatamente igual a instalação de qualquer outro Slackware, em todas as etapas. Por isto não irei fazer nenhuma adição aqui. Caso tenha dúvidas sobre este processo, pegue um dos muitos tutoriais de instalação disponíveis na internet.


5 Pós-Instalação

Nas próximas seções farei uma descrição dos vários procedimentos de pós-instalação, necessárias para por o Slamd64 funcionando satisfatóriamente no Pavilion zv6000.


6 Compilando o kernel

O suporte das placas ATI melhorou muito nos últimos meses, ao ponto de alguns especialistas já apontarem estas placas como boas opções para o seu GNU/Linux e em alguns casos superiores às placas com chipset nVidia. A última versão do kernel pode não ser suportada pelo driver de vídeo, por isto aconselho utilizar a versão distribuída com o Slamd64. A versão distribuída, na ocasião da última revisão deste texto, era a 2.6.22.8 a versão corrente era a 2.6.24.2.


6.1 Preparando o kernel

O kernel fica localizado na pasta /usr/src/linux. Caso queira experimentar o último kernel baixe-o da página página oficial:

http://www.kernel.org

Se for usar o kernel mais novo, baixe-o de um dos repositório oficiais, descomprima-o na pasta /usr/src e altere o link linux, para apontar para o novo kernel-2.6.24.2:

# cd /usr/src
# wget mirro/kernel/linux/2.6/linux-2.6.24.2.tar.bz2
...
# tar jxvf linux-2.6.24.2.tar.bz2
...
# rm linux
# ln -sf linux-2.6.24.2 linux

O texto a seguir é baseado no kernel-2.6.22, mas o mesmo pode ser aplicado ao 2.6.24 ou superior. Algumas opções novas devem aparecer nas versões mais novas do kernel. Proseguindo, entre no diretório /usr/src/linux para iniciar a preparação do kernel:

$ cd linux
$ make mrproper

Para simplificar o processo de configuração, estou disponibilizando o arquivo de configuração utilizado em meu kernel, config-2.6.22.8-ru:

# pwd
/usr/src/linux
# wget http://localhost/linux/kernel/zv6000-config-2.6.22.8-ru -O .config
...
# make oldconfig
...

Após isto abra a configuração do kernel e dê uma olhada nas opções selecionadas.

As seções seguintes é apresentodo algumas observações pertinentes sobre as configurações escolhidas. Algumas otimizações pessoais ainda podem ser feitas a gosto.

# make menuconfig


6.2 Code maturity level options

Embora não seja um hardware novo, ainda é aconselhável habilitar todas as opções aqui.

[*] Prompt for development and/or incomplete code/drivers


6.3 General setup

Em princípio, não é necessário alterar nada aqui. Apenas atualize a versão local para controle pessoal. Neste caso está foi a minha sétima revisão deste kernel (-r07).

 (-r07) Local version - append to kernel release
 [*] Support for paging of anonymous memory (swap)
 [*] System V IPC
 [*] POSIX Message Queues
 [*] Kernel .config support
 [*]   Enable access to .config through /proc/config.gz
 (16) Kernel log buffer size (16 => 64KB, 17 => 128KB)


6.4 Loadable module support

No suporte a módulos, pode ser selecionado todas as opções, embora nem todas sejam essenciais. Geralmente não utilizo Module versioning support.

 [*] Enable loadable module support
 [*]   Module unloading
 [*]     Forced module unloading
 [ ]   Module versioning support (EXPERIMENTAL)
 [*]   Source checksum for all modules
 [*]   Automatic kernel module loading


6.5 Processor type and features

Selecione o seu processador (AMD-Opteron/Athlon64) e algumas opções específicas. Alguns usuários na rede sugerem selecionar o Symmetric multi-processing support, entretanto, cada vez que leio a documentação do kernel, mais me asseguro de que esta opção não deve ser habilitada habilitado1.

 Subarchitecture Type (PC-compatible)  --->
 Processor family (AMD-Opteron/Athlon64)  --->
 <*> /dev/cpu/*/msr - Model-specific register support
 <*> /dev/cpu/*/cpuid - CPU information support
 [*] MTRR (Memory Type Range Register) support
 Preemption Model (Voluntary Kernel Preemption (Desktop))  --->
 Memory model (Flat Memory)  --->
 [*]   AMD MCE features
 [*] kexec system call
 [*] Enable seccomp to safely compute untrusted bytecode
 Timer frequency (300 HZ)  --->

Esta versão do kernel Linux possui algumas otimizações interessantes, como o Preemptible Kernel. Ele lhe permite construir três tipos de kernel: server, Desktop e Low-Latency Descktop. O primeiro (server) é aconselhável para servidores e estações científicas, pois maximiza a capacidade de processamento do sistema. Os dois seguintes, são para aplicações de Desktop, que garantem uma boa divisão da capacidade de processamento do sistema para as diversas tarefas. Isto garante que a interface com o usuário (teclado, mouse, display, …) respondam rapidamente aos comandos do usuário.

O Timer frequency é a freqüência com que o sistema responderá a eventos. Para servidores é aconselhável 100Hz, enquanto que 1000Hz é para sistema com rápida resposta a eventos, como o corre em sistemas multimídia.


6.6 Power management options

Esta seção é fundamental para um notebook. Aqui você irá definir as competências da ACPI (Advanced Configuration and Power Interface) sobre o controle de energia no sistema. As opções Fan e Generic Hotkey podem ser omitidas, aparentemente elas não são suportadas pela APCI do Pavilion zv6000.

--- Power Management support
[*]   Software Suspend
(/dev/hda5)      Default resume partition
      ACPI (Advanced Configuration and Power Interface) Support  --->
        [*] ACPI Support
        [*]   Sleep States (EXPERIMENTAL)
        <M>   AC Adapter
        <M>   Battery
        <M>   Button
        <M>   Processor
        <M>     Thermal Zone
    CPU Frequency scaling  --->
      [*] CPU Frequency scaling
      <*>   CPU frequency translation statistics
      [*]     CPU frequency translation statistics details
      Default CPUFreq governor (performance)  --->
      ---   'performance' governor
      <M>   'powersave' governor
      <M>   'userspace' governor for userspace frequency scaling
      <M>   'ondemand' cpufreq policy governor
      <M>   'conservative' cpufreq governor
      ---   CPUFreq processor drivers
      <*>   AMD Opteron/Athlon64 PowerNow!
      ---   shared options

Os Sleep States costumavam dar problemas, como travar o mouse, wireless, …, mas confesso que não os uso há muito tempo. As opções para escalonamento de freqüência, são outras opções fundamentais em notebooks. Através destas opções o kernel seleciona freqüências e tensões para o processador operar de acordo com configurações pré-definidas. Isto é fundamental para garantir uma boa longevidade da bateria em usos extremos, além de prevenir altas temperaturas de trabalho do processador.

O suporte ao Software Suspend não estava bem implementado na última vez que o usei. Se experimentar, não deixe de reportar os resultados. O Default resume partition deve conter a partição de swap do seu sistema.

As opções Fan e Dock não são suportados por este notebook. Pode desabilitá-las.


6.7 Bus options (PCI etc.)

Algumas opções para o suporte ao barramento PCI e dispositivos PCMCIA e Hotplug.

 --- PCI support
 [*]   Support mmconfig PCI config space access
 [*] Interrupts on hypertransport devices
 PCCARD (PCMCIA/CardBus) support  --->
   <M> PCCard (PCMCIA/CardBus) support
   <M>   16-bit PCMCIA support
   [*]     Load CIS updates from userspace (EXPERIMENTAL)
   ---   32-bit CardBus support
   ---   PC-card bridges
   <M>   CardBus yenta-compatible bridge support
<M> Support for PCI Hotplug (EXPERIMENTAL)  --->
   <M> Support for PCI Hotplug (EXPERIMENTAL)
   <M>   Fake PCI Hotplug driver
   <M>   ACPI PCI Hotplug driver
   [*]   CompactPCI Hotplug driver

Eu não possuo nenhum cartão PCMCIA ou dispositivos Hotplug, por isto, geralmente desabilito PCCard (PCMCIA/CardBus) support e Support for PCI Hotplug (EXPERIMENTAL). Caso possua estes cartões, ou tenha a intenção de comprá-los, habilite-os conforme a seção acima.


6.8 Executable file formats / Emulations

Tipos de executáveis suportados pelo sistema e emulação a 32bits. Esta emulação é fundamental para executar aplicativos em 32Bits, como OpenOffice, Skype, VMWare e outros aplicativos livres que ainda não possuem implementação em 64Bits.

 [*] Kernel support for ELF binaries
 <M> Kernel support for MISC binaries
 [*] IA32 Emulation
 <M>   IA32 a.out support


6.9 Networking

Selecionei apenas algumas opções fundamentais nesta seção. Caso queira implantar um firewall em seu sistema, habilite a opção Network packet filtering e as sub-opções internas a esta. Consulte algum texto sobre iptables e firewall para mais informações.

 [*] Networking support
 Networking options  --->
    <*> Packet socket
    <*> Unix domain sockets
    [*] TCP/IP networking
    [*]   IP: multicasting
    [*]   IP: kernel level autoconfiguration
    [*]     IP: DHCP support
    <*>   IP: IPsec transport mode
    <*>   IP: IPsec tunnel mode
    <*>   INET: socket monitoring interface
    <*>   The IPv6 protocol
    <*>   IPv6: IPsec transport mode
    <*>   IPv6: IPsec tunnel mode
    <*>   IPv6: IPv6-in-IPv4 tunnel (SIT driver)
 Wireless  --->
    <M> Improved wireless configuration API
    --- Wireless extensions
    <M> Generic IEEE 802.11 Networking Stack (mac80211)
    <M> Generic IEEE 802.11 Networking Stack
    ---   IEEE 802.11 WEP encryption (802.1x)
    <M>   IEEE 802.11i CCMP support
    <M>   IEEE 802.11i TKIP encryption
    <M>   Software MAC add-on to the IEEE 802.11 networking stack

A seção Wireless não é necessária, pois vou usar o ndiswrapper com o driver do Windows. Embora o kernel atual já possua suporte a Broadcom BCM4306, ele necessita do firmware do fabricante para funcionar. Já o fiz funcionar uma vez e pessoalmente não gostei do resultado. Prefiro manter o ndiswrapper.


6.10 Device Drivers

Esta seção, finalmente separada do restante da configuração na série 2.6, é onde será selecionado o suporte aos vários hardwares instalados no notebook. Leia as opções com atenção e consulte seu hardware quanto necessário. Comandos como o lspci e o dmesg podem ser muito importantes nesta etapa.


6.10.1 Generic Driver Options

 [*] Select only drivers that don't need compile-time external firmware
 [*] Prevent firmware from being built
 <M> Userspace firmware loading support


6.10.2 Plug and Play support

 --- Plug and Play support
 [ ]   PnP Debug Messages
 ---   Protocols

Provavelmente não deve haver nada para selecionar aqui. --- significa que a opção está selecionada por padrão.


6.10.3 Block devices

 <*> Loopback device support
 < >   Cryptoloop Support
 <*> Network block device support
 <M> RAM disk support
   (16)  Default number of RAM disks (NEW)
   (4096) Default RAM disk size (kbytes) (NEW)

O RAM disk é útil se você desejar usar uma porção de sua memória com um dispositivo de blocos, um disco rígido.


6.10.4 Misc devices

  <M> TI Flash Media interface support (EXPERIMENTAL)
  <M>   TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERI

Você vai necessitar disto para habilitar o leitor de cartões. Atualmente, somente cartões MMC e SD são suportados, cartões MS, MemoryStick e MemoryStick Pro, são suportados na versão beta, com algumas limitações. O grande problema é que os trabalhos estão parados já faz um bom tempo. Para mais detalhes, veja a página oficial do projeto:

http://openfacts.berlios.de/index-en.phtml?title=TI_FlashMedia_xx12/xx21_driver


6.10.5 ATA/ATAPI/MFM/RLL support

 <*> ATA/ATAPI/MFM/RLL support
 <*>   Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
 ---     Please see Documentation/ide.txt for help/info on IDE drives
 <*>     Include IDE/ATA-2 DISK support
 [*]     Use multi-mode by default
 <*>     Include IDE/ATAPI CDROM support
 < >     SCSI emulation support
 [*]     IDE ACPI support
 [*]     legacy /proc/ide/ support
 ---     IDE chipset support/bugfixes
 <*>     generic/default IDE chipset support
 [*]     PCI IDE chipset support
 [*]       Sharing PCI IDE interrupts support
 [*]       Generic PCI bus-master DMA support
 <*>         ATI IXP chipset IDE support

A opção legacy /proc/ide/ support, provavelmente pode ser desabilitada. Somente está nesta lista porque me passou desapercebida. SCSI emulation support pode ser útil caso queira usar o gravador de CD/DVD como um dispositivo scsi. Isto não é mesmo necessário.


6.10.6 SCSI device support

Embora não tenha nenhum dispositivo SCSI no notebook, vários dispositivos, como pendrivers, são acesados através de emulação a um dispositivo SCSI, por isto deve ser habilitado.

 <*> SCSI device support
 ---   SCSI support type (disk, tape, CD-ROM)
 <*>   SCSI disk support
 <M>   SCSI CDROM support
 [*]     Enable vendor-specific extensions (for SCSI CDROM)
 <M>   SCSI generic support


6.10.7 IEEE 1394 (FireWire) support

 <M> IEEE 1394 (FireWire) support
 ---   Subsystem Options
 ---   Controllers
 <M>   OHCI-1394 support
 ---   Protocol Drivers
 < >   OHCI-1394 Video support
 < >   SBP-2 support (Harddisks etc.)
 < >   Ethernet over 1394
 < >   OHCI-DV I/O support
 <M>   Raw IEEE1394 I/O support

Usei a FireWire apenas uma vez, para capturar vídeo de uma câmera. O resultado não foi muito bom, mais por culpa da câmera que não era muito boa. Não gosto muito de habilitar Ethernet over 1394, pois o hotplug costuma mapear uma das eth? para uso da FireWire, o que já me trouxe alguma dor de cabeça. Para suporte a câmeras é necessário habilitar OHCI-1394 Video support, discos rígidos, scanners, habilite SBP-2 support. Para mais detalhes leia o help do kernel.


6.10.8 Network device support

A placa de rede Realtek, presente no zv6000, é suportada pelo módulo RealTek RTL-8129/8130/8139 PCI Fast Ethernet. Não selecionei o suporte a Wireless LAN, como disse anteriomente, vou usar o ndiswrapper para a wireless. Caso queira usar este módulo para a sua Wireless, leia a documentação do kernel e procure mais informações na rede, vai necessitar.

Habilite o suporte PPP para conexão discada e o PPP over Ethernet para dar suporte a conexão via modem ADSL, se for o caso.

 [*] Network device support
 <*>   Universal TUN/TAP device driver support
 Ethernet (10 or 100Mbit)  --->
 [*] Ethernet (10 or 100Mbit)
    <*>   Generic Media Independent Interface device support
    [*] EISA, VLB, PCI and on board controllers
    <M>   RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support
 Wireless LAN --->
 < >   PPP (point-to-point protocol) support


6.10.9 Input device support

As configurações a seguir, são inportantes para o bom funcionamento do mouse, teclado e touchpad.

 --- Generic input layer (needed for keyboard, mouse, ...)
 ---   Userland interfaces
 ---   Mouse interface
 [*]     Provide legacy /dev/psaux device
 (1280)  Horizontal screen resolution
 (800)   Vertical screen resolution
 <*>   Event interface
 ---   Input Device Drivers
 ---   Keyboards  --->
 [*]   Mice  --->
   <*>   PS/2 mouse
 Hardware I/O ports  --->
    --- Serial I/O support
    <*>   PCI PS/2 keyboard and PS/2 mouse controller


6.10.10 Character devices

 Serial drivers  --->
    <*> 8250/16550 and compatible serial support
    [*]   Console on 8250/16550 and compatible serial port
    (4)   Maximum number of 8250/16550 serial ports
    (4)   Number of 8250/16550 serial ports to register at runtime
    --- Non-8250 serial port support
 [*] Legacy (BSD) PTY support
 (256) Maximum number of legacy PTY in use
 <M> Hardware Random Number Generator Core support
 < >   AMD HW Random Number Generator support
 < >   AMD Geode HW Random Number Generator support
 <*> Enhanced Real Time Clock Support
 --- /dev/agpgart (AGP Support)
 < > Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)
 [*] HPET - High Precision Event Timer
 [*]   Allow mmap of HPET

Eu sempre achei que um dos geradores de números ramdômicos, AMD HW Random Number Generator ou AMD Geode HW Random Number Generator, estivessem presentes neste notebook, mas parece que não. Testei também o Intel HW Random Number Generator, que não funcionou.


6.10.11 I2C support e Hardware Monitoring support

Ainda não tive oportunidade para verificar o suporte a tais dispositivos, mas aparentemente não possui estes dispositivos.


6.10.12 Multimedia devices

Verifique a necessidade de seu equipamento e escolha os dispositivos multimídia adequados.


6.10.13 Graphics support

Embora possua suporte para ATI Radeon através de dois módulos, não tive boas experiências com estes módulos e os desabilitei.

 <*> Support for frame buffer devices
 [*]   Enable Video Mode Handling Helpers
 [*]   VESA VGA graphics support
 Console display driver support  --->
    --- VGA text console
    [*]   Enable Scrollback Buffer in System RAM
    (128)   Scrollback Buffer Size (in KB)
    ---   Video mode selection support
    <*> Framebuffer Console support
    [*] Select compiled-in fonts
    [*]   VGA 8x8 font
    [*]   VGA 8x16 font


6.10.14 Sound

 <M> Sound card support
 Advanced Linux Sound Architecture  --->
    <M> Advanced Linux Sound Architecture
    <M>   Sequencer support
    <M>     Sequencer dummy client
    <M>   OSS Mixer API
    [*]     OSS PCM (digital audio) API - Include plugin system
    [*]   OSS Sequencer API
    <M>   RTC Timer support
    [*]     Use RTC as default sequencer timer
    Generic devices  --->
      <M> Dummy (/dev/null) soundcard
      <M> Virtual MIDI soundcard
      <M> Generic MPU-401 UART driver
    PCI devices  --->
      <M> ATI IXP AC97 Controller
      <M> ATI IXP Modem


6.10.15 HID Devices

 HID Devices  --->
  <*> Generic HID support
  <M> USB Human Interface Device (full HID) support
    USB HID Boot Protocol drivers  --->
      <M> USB HIDBP Keyboard (simple Boot) support
      <M> USB HIDBP Mouse (simple Boot) support

HID são Human Interface Device, como mouse, teclado, iBook,… Acho útil ter suporte a teclado e mouse USB.


6.10.16 USB support

 <M> Support for Host-side USB
 ---   Miscellaneous USB options
 [*]   USB device filesystem
 [*]   Dynamic USB minor allocation (EXPERIMENTAL)
 [*]   USB selective suspend/resume and wakeup (EXPERIMENTAL)
 ---   USB Host Controller Drivers
 <M>   EHCI HCD (USB 2.0) support
 [*]     Full speed ISO transactions (EXPERIMENTAL)
 [*]     Root Hub Transaction Translators (EXPERIMENTAL)
 [*]     Improved Transaction Translator scheduling (EXPERIMENTAL)
 <M>   OHCI HCD support
 <M>   UHCI HCD (most Intel and VIA) support
 ---   USB Device Class drivers
 <M>   USB Printer support
 ---   NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be nee
 <M>   USB Mass Storage support
 [*]     Datafab Compact Flash Reader support (EXPERIMENTAL)
 [*]     Freecom USB/ATAPI Bridge support
 [*]     ISD-200 USB/ATA Bridge support
 [*]     Microtech/ZiO! CompactFlash/SmartMedia support
 [*]     USBAT/USBAT02-based storage support (EXPERIMENTAL)
 [*]     SanDisk SDDR-09 (and other SmartMedia) support (EXPERIMENTAL)
 [*]     SanDisk SDDR-55 SmartMedia support (EXPERIMENTAL)
 [*]     Lexar Jumpshot Compact Flash Reader (EXPERIMENTAL)
 [*]     Olympus MAUSB-10/Fuji DPC-R1 support (EXPERIMENTAL)
 [*]     Support for Rio Karma music player


6.10.17 MMC/SD Card support

Se alguém puder testar estes dispositivos, favor comunicar.

<M> MMC/SD card support  --->
 --- MMC support
 <M>   MMC block device driver
 <M>   Secure Digital Host Controller Interface support  (EXPERIME
 <M>   TI Flash Media MMC/SD Interface support  (EXPERIMENTAL)


6.10.18 Real Time Clock

Real Time Clock  --->
 <M> RTC class
 ---   RTC interfaces
 [*]   /sys/class/rtc/rtcN (sysfs)
 [*]   /proc/driver/rtc (procfs for rtc0)
 [*]   /dev/rtcN (character devices)


6.11 File systems

ATENÇÃO: Não uso o ext3, mas se for o seu caso, não deixe de incorporá-lo ao seu kernel ([*] e não [M], como módulo). Atualmente estou usando o JFS, por isto ele está incorporado ao kernel.

 <*> Second extended fs support
 <M> Ext3 journalling file system support
 [*]   Ext3 extended attributes
 <M> Reiserfs support
 [*]   ReiserFS extended attributes
 [*]     ReiserFS POSIX Access Control Lists
 <*> JFS filesystem support
 [*]   JFS POSIX Access Control Lists
 [*] Inotify file change notification support
 [*]   Inotify support for userspace
 <M> Kernel automounter version 4 support (also supports v3)
 CD-ROM/DVD Filesystems  --->
    <*> ISO 9660 CDROM file system support
    [*]   Microsoft Joliet CDROM extensions
    [*]   Transparent decompression extension
    <M> UDF file system support
 DOS/FAT/NT Filesystems  --->
    <M> MSDOS fs support
    <*> VFAT (Windows-95) fs support
     (437) Default codepage for FAT
     (iso8859-1) Default iocharset for FAT
    <M> NTFS file system support
    [*]   NTFS write support
 Pseudo filesystems  --->
    [*] /proc file system support
    [*]   /proc/kcore support
    [*] Virtual memory file system support (former shm fs)
    [*]   Tmpfs POSIX Access Control Lists
    [*] HugeTLB file system support
 Network File Systems  --->
    <M> NFS file system support
    [*]   Provide NFSv3 client support
    <M> NFS server support
    [*]   Provide NFSv3 server support
    [*]   Provide NFS server over TCP support
 Native Language Support  --->
    --- Base native language support
    (iso8859-1) Default NLS Option
    <M>   Codepage 437 (United States, Canada)
    <M>   Codepage 860 (Portuguese)
    <M>   ASCII (United States)
    <M>   NLS ISO 8859-1  (Latin 1; Western European Languages)
    <M>   NLS ISO 8859-15 (Latin 9; Western European Languages with Euro)
    <M>   NLS UTF8


6.12 Finalizando

Os demais menus podem permanecer inalterados. O passo seguinte, é a adição de uma nova entrada no lilo.conf, para o novo kernel. Isto é feito adicionando as linhas abaixo no /etc/lilo.conf

# Linux bootable partition config begins: TEST
image = /boot/vmlinuz
  root = /dev/hda1
  label = Slamd64-test
  read-only
# Linux bootable partition config ends

Se tiver tiver usando o kernel padrão, mude a linha image do boot Linux para /boot/vmlinuz-ide-2.4.6, como no texto abaixo:

# Linux bootable partition config begins
image = /boot/vmlinuz-ide-2.4.6
  root = /dev/hda1
  label = Linux
  read-only
# Linux bootable partition config ends

Desta forma, o seu lilo.conf ficará com duas entradas para o Slamd64: Linux e Slamd64-test.

Para terminar a instalação do novo kernel, basta compilá-lo e instalá-lo com os comandos tradicionais.

$ make
...
$ make modules_install
...
$ make install
...


6.13 Módulos

Edite o arquivo rc.modules para incluir o carregamento dos módulos abaixo:

Módulos USB Rede ACPI Modules CPU Freq Modules
ehci-hcd 8139too ac cpufreq_conservative
ohci-hcd   battery cpufreq_ondemand
uhci-hcd   thermal cpufreq_powersave
      cpufreq_stats
      cpufreq_userspace

Geralmente substituo o rc.modules pelo rc.modules abaixo:

#!/bin/sh
# Alterado por Rudson R. Alves
#

### Update module dependencies ###
RELEASE=`uname -r`
# If /usr is mounted and we have 'find', we can try to take a shortcut:
if [ -x /usr/bin/find -a -e /lib/modules/$RELEASE/modules.dep \
     -a /lib/modules/$RELEASE/modules.dep -nt /etc/modules.conf ]; then
  NEWMODS="`/usr/bin/find /lib/modules/$RELEASE -type f -newer /lib/modules/$RELEASE/modules.dep`"
  # Only rebuild dependencies if new module(s) are found:
  if [ ! "" = "$NEWMODS" ]; then
    echo "Updating module dependencies for Linux $RELEASE:"
    /sbin/depmod -a
  else
    echo "Module dependencies up to date (no new kernel modules found)."
  fi
else # we don't have find, or there is no existing modules.dep, or it is out of date.
  echo "Updating module dependencies for Linux $RELEASE:"
  /sbin/depmod -A
fi

### Filesystem Quota support ###
if grep -q quota /etc/fstab ; then
  #/sbin/modprobe quota_v1
  /sbin/modprobe quota_v2
fi

# file that we should run to load the network module:
if [ -x /etc/rc.d/rc.netdevice ]; then
  . /etc/rc.d/rc.netdevice
fi

# Load modules
grep '^[^#]' /etc/rc.d/rc.modules.list | while read line; do
    modprobe $line
done

Assim coloco uma lista de módulos com as devidas opções em /etc/rc.d/rc.modules.list:

# USB modules
ehci-hcd
ohci-hcd
uhci-hcd

# CPU Frequency
cpufreq_powersave
cpufreq_ondemand
cpufreq_conservative
cpufreq_userspace

# Network
8139too

# ACPI
battery
ac
thermal
#button

# XPress 200M
fglrx

# Wireless ndiswrapper
ndiswrapper

# IEEE80211
#ieee80211
#ieee80211_crypt_tkip

Geralmente o rc.hotplug inicializa os módulos desejados, mas de uma forma ou de outra, adicione os módulos não comentados da listados acima, ao seu rc.modules. Os outros módulos são carregados automaticamente pelo kernel.


6.14 Reiniciando o sistema

Esta é uma daquelas ocasiões em tem que reiniciar o sistema. Faça isto com um CONTROL+ALT+DEL ou com o comando reboot.

Após a inicialização com o novo kernel, é possível que o som não funcione mais. Para corrigir isto, execute os scripts de configuracão do ALSA, que ele irá localizar o driver ATI da placa de som. Em seguida execute o comando alsamixer e configure o mixer da placa. Para gravar as configurações do mixer, execute o comando alsactl com a opção store.

$ alsaconf
...
$ alsamixer
...
$ alsactl store

com isto o som voltará a funcionar.

O KDE possui um programa integrado ao Control Center, que permite configurar várias ações da ACPI do seu notebook.

No Control Center, escola o índice Power Control -> LapTop Battery. Caso alguma propriedade não esteja funcionando, verifique a aba ACPI Config. Pode ser que você necessite a fazê-lo como super-usuário.

Uma opção que acho muito útil é o Default Power Profile. Em Not Powered, você pode selecionar a atitude do sistema quando este estiver funcionando apenas na bateria. Uma boa escolha pode ser: “System performance: powersave” e “CPU throttling: 50%”.

Para evitar aquecimento desnecessário da CPU, selecionei em Powered: “System performance: ondemand” e “CPU throttling: desable”.

As configurações são muito pessoais e dependem em muito do uso do equipamento. Aconselho uma boa leitura nas páginas de documentação do kernel (/usr/src/linux/Documentation/x86_64/ e cpu-freq/) e consultas às listas de discussão sobre o zv6000 e Slamd64.


7 Driver ATI 200m Xpress

As novas versões dos drivers da ATI estão funcionado muito bem, já consegui rodar o Compiz Fusion com excelente desempenho neste notebook. Experimentei alguma instabilidade com o driver ati-driver-installer-8-02-x86.x86_64.run e por isto estou usando a versão anterior, ati-driver-installer-8-01-x86.x86_64.run.

Baixe o driver para Desktop com a ATI 200m Xpress, da página da ATI em

http://ati.amd.com/support/drivers/linux64/previous/linux64-rf-cat81.html

Se quiser testar a última versão, pégue-a em

http://ati.amd.com/support/drivers/linux64/radeonprevious-linux64.html

Como root, execute o instalador:

# chmod +x ati-driver-installer-8-01-x86.x86_64.run
# ./ati-driver-installer-8-01-x86.x86_64.run
...

Siga as instruções até o final da instalação.

Após a instalação, faça uma cópia de segurança do seu xorg.conf, mesmo que não o tenha alterado. Em seguida execute o script de instalação do driver da ATI:

# aticonfig --initial --input=/etc/X11/xorg.conf

Para uma configuração básica do monitor. Se quiser usar dois monitores, pode usar a opção abaixo:

# aticonfig --initial=dual-head --screen-layout=above

Outros valores para o screen-layout são left, right, above e below. Se desejar usar dois monitores no modo clone use o comando abaixo:

# aticonfig --desktop-setup=clone --input=/etc/X11/xorg.conf

Aconselho fazer uma inspeção manual no arquivo de configuração. Verifique as seções:

Section "Device"
    Identifier  "ATI Xpress 200M"
    Driver      "fglrx"
    #VideoRam    4096
    # Insert Clocks lines here if appropriate
EndSection

e

Section "Screen"
    Identifier  "Screen 1"
    Device      "ATI Xpress 200M"
    Monitor     "My Monitor"
    DefaultDepth 24
    Subsection "Display"
        Depth       24
        Modes "1280x800"
    EndSubsection
EndSection

Se tiver usando um mouse externo, USB, 3 botões e scroll, edite a seção InputDevice, como segue:

Section "InputDevice"
    Identifier  "Mouse1"
    Driver      "mouse"
    Option      "Protocol"      "IMPS/2"
    Option      "Device"        "/dev/mouse"
    Option      "Buttons"       "5"
    Option      "ZAxisMapping"  "4 5"
EndSection

Se não houver a seção DRI, é aconselhável colocá-la.

Section "DRI"
     Mode     0666
EndSection

Após isto o seu ambiente gráfico poderá ser iniciado.

Leia a documentação do driver da ATI (aticonfig --help) e faça as alterações que achar relevantes em seu xorg.conf.

Com o aplicativo glxgears, consegui 1842FPS contra os 690FPS da série 7 dos drivers da ATI. Já o fgl_glxgears chegou a 331FPS.


8 Wireless Broadcom 802.11b/g

Para utilizar a Broadcom BCM4306 utilisoo ndiswrapper, que funciona como uma camada entre os drivers do Windows XP e o GNU/Linux, uma espécie de wine para drivers do Windows.

Inicialmente, baixe o ndiswrapper da página oficial em

http://ndiswrapper.sourceforge.net/

Em seguida faça a instalação como de praxe:

# tar zxvf ndiswrapper-1.52.tar.gz
...
$make
...
$ make install
...

Em seguida baixe os drivers da placa Wireless Broadcom 64Bits do endereço abaixo:

$ wget http://www.runithard.com/HOWTO-BCOM64WIRELESS/64-bit_Broadcom_54g_Drivers.zip
...
$ unzip 64-bit_Broadcom_54g_Drivers.zip
...

Após isto, carregue o driver netbc564 com o ndiswrapper.

# ndiswrapper -i netbc564.inf
...
# ndiswrapper -l
Installed ndis drivers:
netbc564                driver present, hardware present

Para o sistema reconhecer a placa Broadcom, é necessário carregar o módulo ndiswrapper com o comando modprobe.

$ modprobe ndiswrapper

O comando iwconfig deverá apresentar a descrição da sua placa como

$ iwconfig wlan0
wlan0     IEEE 802.11g  ESSID:off/any  Nickname:"(none)"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:00:00:00:00:00
          Bit Rate=54 Mb/s   Tx-Power:25 dBm
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:100/100  Signal level:-10 dBm  Noise level:-256 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:798879   Missed beacon:0

e o seu dmesg deve aparecer a mensagem

ndiswrapper version 1.52 loaded (smp=no, preempt=no)
ndiswrapper (link_pe_images:576): fixing KI_USER_SHARED_DATA address in the driver
ndiswrapper: driver netbc564 (,10/01/2002,3.70.17.5) loaded
ACPI: PCI Interrupt 0000:03:02.0[A] -> GSI 21 (level, low) -> IRQ 21
ndiswrapper: using IRQ 21
wlan0: ethernet device 00:90:4b:ac:98:9e using NDIS driver: netbc564, version:
0x3461105, NDIS version: 0x501, vendor: 'NDIS Network Adapter', 14E4:4320.5.conf
wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
usbcore: registered new interface driver ndiswrapper
ADDRCONF(NETDEV_UP): wlan0: link is not ready
ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
wlan0: no IPv6 routers present

O aplicativo kwifimanager pode ser útil na configuração da interface de rede wlan0. No Slackzine 4, existe um texto que explica como configurar uma rede Wi-fi Ad-Hoc e Access Point.


9 Criando um link para a libGL.so.1.2

Alguns aplicativos procuram a libGL.so.1.2 em /usr/lib64/, mas o instalador dos drivers da ATI o coloca em /usr/lib64/xorg/. Faça um link para corrigir este endereçamento:

# ln -s /usr/lib64/xorg/libGL.so.1.2 /usr/lib64/libGL.so.1.2

Toda vez que instalar um drive da ATI terá que refazer este link.


10 OpenOffice 2.0

O OpenOffice pode ser instalado a partir do rpm fornecido na página oficial em http://www.openoffice.org.br, ou mesmo convertendo-o para tgz com o comando rpm2tgz (mais do meu agrado).

Para ter suporte a acentuação, além de configurar o teclado para us-intl (em Control Center -> Regional & Accessibility -> Keyboard Layout: Layout=us; Variant=intl), edite o arquivo /etc/profile.d/lang.sh e altera a variável LANG para pt_BR.ISO8859-1, logo no início do texto:

# export LANG=pt_BR.ISO8859-1

Você ainda terá que instalar o pacote glibc32-i18n-2.7-x86_64_slamd64-1.tgz

# installpkg glibc32-i18n-2.7-x86_64_slamd64-1.tgz


11 Adicionando aplicativos com o simplepkg

Para adicionar novos aplicativos a sua instalação, aconselho o uso do simplepkg.

O “simplepkg é um sistema de gerenciamento de sistemas slackware que roda sobre o pkgtool. Ele é composto por vários scripts que desempenham funções de administração e desenvolvimento de sistemas do tipo Slackware, procurando fechar um circuito de produção, envolvendo a construção, a instalação de pacotes e até mesmo a instalação do sistema de forma automatizada”[3].

No momento da última revisão deste texto, a última versão do simplepkg era a 0.6pre18, baixe-a com o comando abaixo:

# wget http://slack.sarava.org/packages/noarch/simplepkg-0.6pre18-noarch-1rha.tgz

ou

# wget `lynx -dump http://slack.sarava.org/packages/noarch/ | \
sed '/simplepkg.*\.tgz$/ ! d; s/.* \(.*\)/\1/'`

Depois instale

# installpkg simplepkg*.tgz

Em seguida edite o arquivo /etc/simplepkg/simplepkg.conf e altere as linhas o valor de DEFAULT_ARCH e CREATE_ARCH para “x86_64”, como abaixo:

...
DEFAULT_ARCH="x86_64"
...
CREATE_ARCH="x86_64"
...

Para mais informações, consulte a página do projeto em

http://slack.sarava.org/

Após isto execute os comandos abaixo, para sincronizar o repositório de SlackBuilds:

# createpkg --sync

Todos os pacotes do Simplepkg foram construídos por meio de SlackBuilds, scripts utilizados pelo Slackware para criar pacotes tgz. Você pode instalar os pacotes compilados, do repositório do Slack.Sarava com o comando:

# simplaret install nome_do_pacote

Procurar por pacotes com o comando

# simplaret search nome_do_pacote

Se quiser construir o pacote em sua máquina, use o createpkg:

# createpkg -i nome_do_programa

para compilar e instalar um <nome_do_programa>,

# createpkg -s nome_do_programa

para buscar pelo SlackBuild do nome_do_programa.

Uma listagem completa de todos os pacotes pode ser vista com o comando

# createpkg -l


12 Mais alguns ajustes


12.0.1 Instalando plugins com o NSPluginWrapper

O NSPluginWrapper permite usar plugins de plataformas i368 em sistema x86_64.

Você ainda irá necessitar do pacote gcc32, para instalar os plugins. Este pacote está na pasta slackware/c/ da mídia de instalação.

Para instalar os plugins, você pode copiá-los para a pasta /usr/lib64/mozilla/plugins/ e executar o comando abaixo:

# nspluginwrapper -v -a -u

Você também pode usar a opção -i para fazer a instalação do plugin de qualquer diretório, mas passa o caminho completo para o nspluginwrapper, como segue:

# nspluginwrapper -i /root/flash_player_9_linux/libflashplayer.so

A opção -l lista os plugins instalados:

# nspluginwrapper -l
/usr/lib64/mozilla/plugins/npwrapper.libflashplayer.so
  Original plugin: /usr/lib64/mozilla/plugins/libflashplayer.so
  Wrapper version string: 0.9.91.4


12.1 ksysguard

Se pretende utilizar o aplicativo ksysguard, você6e terá que instalar o pacote lm-sensors.


13 Wine 32bits

Se você compilar o wine em 64bits, não poderá rodar aplicativos do Windows 32bits nele.

Por isto aconselho instalar um 32bits mesmo.


14 Funcionando

suspend_to_disk
– funcionando satisfatóriamente;
suspend_to_ram
– funcionando parcialmente. É necessário desabilitar o halt ao se pressionar o botão de power, o que ainda não vi como fazer;
wireless
– funcionando perfeitamente em 64Bits;


15 Ainda não funciona

Como pode observar, existe ainda alguns hardwares para serem suportados pelo GNU/Linux no Pavilion zv6000. Dentre os hardwares testados, não obtive sucesso com:

digital media
– ainda não testei o pouco suporte, aparentemente fornecido pelo kernel (MMC e SD);
Mouse USB
– não funciona após um suspend_to_disk (ou ram);

Bem melhor que na última versão.


16 Agradecimentos

Meus sinceros agradecimentos aos usuários das listas:

http://forums.slamd64.com/

http://zv6000forums.com/viewforum.php?f=3

a toda a internet, pela riqueza de informações e contribuições diversas, e ao autor, que se intitula “me”, do wiki:

http://gentoo-wiki.com/HARDWARE_Gentoo_Linux_64bit_on_HP_Pavillon_zv6000_series_notebook

pela iniciativa em documentar sua experiência com o Gentoo em seu Pavilion zv6000.


17 APENDICE A – libGL.la

OBS: Não sei se isto ainda é necessário. Faz tempo que não compilo nada com aceleração gráfica. Vou deixar esta seção aqui para uma investigação futura.

Os drivers da ATI não disponibiliza esta biblioteca, sem a qual você não compila nada gráfico em seu notebook com suporte GL. Os drivers da nVidia criam esta biblioteca, que na verdade é um script com informações sobre as bibliotecas GL instaladas.

Com algumas modificações no arquivo libGL.la, distribuído pelos drivers da nVidia, este estará pronto para ser incluído no diretório /usr/lib64 do seu Slamd64. Veja o arquivo modificado abaixo:

# libGL.la - a libtool library file
# Generated by PC (for use by libtool)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libGL.so'

# Names of this library.
library_names='libGL.so.1.2 libGL.so.1 libGL.so'

# Libraries that this one depends upon.
dependency_libs=' -L/usr/X11R6/lib -lm -lXext -lX11 -ldl'

# Version information for libGL.
#current=1
#age=0
#revision=7664

# Is this an already installed library?
installed=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/lib64'

Para terminar, inclua este script no diretório /usr/lib64/ e termine com um comando ldconfig. Agora você esta pronto para compilar seus aplicativos com suporte GL.


Referências Bibliográficas

1

Documentação padrão do Kernel Linux – /usr/src/linux/Documentation

2

Mike Wilson, usuário Gentoo – http://gentoo-wiki.com/HARDWARE_Gentoo_Linux_64bit_on_HP_Pavilion_zv6000_series_notebook

3

simplepkg: Gerenciamento de Instalações e Metapacotes: http://slack.sarava.org/simplepkg


About this document …

Notebook HP Pavilion zv6000 com o Slamd64

versão 3.0

This document was generated using the
LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.

Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 -nonavigation -show_section_numbers zv6000-Slamd64-2.tex

The translation was initiated by on 2008-03-08


Footnotes

… habilitado1
Alguns trechos da documentação do kernel: “If you have a system with only one CPU, like most personal computers, say N… On a singleprocessor machine, the kernel will run faster if you say N here.”


2008-03-08

Este post tem 8 comentários

  1. sacoche homme pas cher

    I think this is one of the most significant information for me.
    And i’m glad reading your article. But should remark on some general things, The site style is perfect, the articles is really excellent : D. Good job, cheers

  2. home decor

    Just desire to say your article is as astounding. The clearness in your post is
    just nice and i could assume you are an expert on this subject.
    Fine with your permission allow me to grab your RSS feed to
    keep up to date with forthcoming post. Thanks a million and please continue the gratifying work.

  3. Oh my goodness! Impressive article dude! Thanks, However I am encountering
    difficulties with your RSS. I don’t understand the reason why
    I can’t subscribe to it. Is there anyone else having similar
    RSS problems? Anybody who knows the answer can you kindly
    respond? Thanx!!

  4. tin kinh tế

    I have been exploring for a bit for any high quality articles
    or weblog posts on this kind of area . Exploring in Yahoo I eventually
    stumbled upon this website. Reading this information So i’m glad to show that I’ve a very excellent uncanny feeling I found out just what I needed.

    I so much indubitably will make sure to do not forget this website and give it a
    glance regularly.

  5. Michal

    Good day! Do you use Twitter? I’d like to follow you if
    that would be okay. I’m undoubtedly enjoying your blog and look forward to
    new posts.

  6. Alphonse

    It’s fantastic that you are getting ideas from this article as well as
    from our dialogue made at this place.

  7. Gerald

    I see a lot of interesting content on your page. You have to spend a lot of time writing, i know how to save you a lot of work, there is a tool that
    creates unique, SEO friendly posts in couple of minutes, just search in google – k2 unlimited
    content

  8. Emilie

    Hello blogger, i found this post on 22 spot in google’s search results.
    I’m sure that your low rankings are caused by hi bounce rate.

    This is very important ranking factor. One of the biggest reason for high bounce rate
    is due to visitors hitting the back button. The higher your bounce rate the
    further down the search results your posts and pages will end up, so having reasonably low bounce rate is important for improving your rankings naturally.
    There is very handy wordpress plugin which can help you.

    Just search in google for:
    Seyiny’s Bounce Plugin

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.