sexta-feira, 2 de julho de 2010

Boa noite, meus caros.

Mais um postzinho pra gente começar bem o fim de semana.
Desculpe a demora pela postagem, mas... emprego novo, sabe como é, preciso me dedicar a aprender o serviço.

Enfim, como prometido, um estudo de caso.
O meu caso.
Comprei um micro novo e instalei Gentoo nele (já tá funcionando redondinho), então, irei apresentar como consegui os dados dele necessários para a instalação do Gentoo.

A plataforma utilizada foi um LiveCD do Ubuntu, versão 10.04, com kernel 64 bits genérico.

Bem, começando com o básico:

-- Processador

O processador que comprei foi um AMD Phenom II X4 945. Quais informações dele eu preciso? Flags de processamento e arquitetura.
A arquitetura é o mais fácil de todos... na Wikipédia mesmo você consegue achar a informação de que os Phenom II fazem parte dos lançamentos AMD que consistem da arquitetura AMD64, ou x86_64.
Caso você esteja com dificuldade de encontrar qual arquitetura é utilizada no seu processador, pesquise em inglês. Geralmente documentos técnicos são escritos em inglês e portanto é mais fácil de encontra-los assim.

Quanto às flags que o processador suporta, você pode abrir um terminal (Aplicações → Acessórios → Terminal) e digitar os seguintes comandos:

$ sudo su /*torne-se root*/
# cat /proc/cpuinfo |grep flags /*cat pode ser usado para pegar a saída de um comando e joga-lo na tela */

O resultado do comando será mais ou menos esse (variará conforme a quantidade de núcleos ou de processadores que você tiver):

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt

Só a primeira parte já é o suficiente. O resto é repetido, se você tiver dois ou mais processadores iguais ou um processador com vários núcleos.
Nesta parte a informação que temos aí são as flags ("bandeiras" que sinalizam algo) das capacidades de nosso processador.
Por exemplo, fpu indica que nosso processador tem um Float Point Unit, ou Unidade de Ponto Flutuante, uma unidade de cálculos matemáticos bem "rapidinha" integrada ao processador. Se quisermos utiliza-la (e vamos querer!) teremos de habilitar mais tarde no kernel o FPU e desabilitar a emulação de FPU (opção para processadores sem FPU integrada).

Outras instruções (flags) que você pode notar de interessante são a pat (memória extendida), MMX, SSE, SSE2, HT (Hyper Transport), MMX Extended, 3D Now! Extended, 3D Now!, SSE4A, 3D Now! Prefetch... só pra citar os mais conhecidos.
Fique tranquilo que você não precisará decorar nada disso, só vai usar estas informações BEM mais tarde.

Outra informação importante que temos de conseguir são nossos chipsets, como o Linux os reconhece.
Para tanto, você pode usar o comando:

# lspci


Isso vai fazer com que todos os componentes encontrados no barramento PCI sejam listados (lspci = list pci).
A saída do comando será algo parecido com isto:


Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (int gfx)
PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 2)
PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 3)
SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [IDE mode]
USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3a)
IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller
Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
VGA compatible controller: ATI Technologies Inc Radeon HD 3300 Graphics
Audio device: ATI Technologies Inc RS780 Azalia controller
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
SATA controller: JMicron Technology Corp. JMB361 AHCI/IDE (rev 02)
IDE interface: JMicron Technology Corp. JMB361 AHCI/IDE (rev 02)


Essa parte da saída diz também os endereços lógicos dos barramentos, mas eu suprimi para não atrapalhar na informação crucial.
Pegando um exemplo dali de cima:


IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller


O Linux reconheceu minha controladora IDE corretamente, sendo que ela é controlada pelo chipset sul (ponte sul) da placa mãe, que é realmente uma SB700/SB900.

Tendo em mãos estas informações, já podemos começar a pensar na nossa instalação do Gentoo.
O primeiro de tudo é baixar um stage são e saudável dos mirrors do Gentoo, de preferência bem atualizados, em http://www.gentoo.org/main/en/mirrors2.xml .
Entre no link e em seguida no mirror mais próximo de você. Eu escolhi o da Universidade do Paraná, que está bem perto daqui.
Entrando no FTP, baixe um stage e um snapshot do Portage, bem atualizados.

Você não precisa baixar agora um kernel, pois o Gentoo baixará um dos repositórios para você compilar já com alguns patchs de correção aplicados.

Agora chegou a hora de formatar o HD.
Tendo escolhido já o tipo de partição que você vai usar, você vai seguir este pequeno esquema para participar:

1 - Backup dos dados importantes para o LiveCD ou pendrive.
2 - Reparticionamento do HD usando o CFDisk, que é "simplão".
3 - Formatação com o sistema de arquivos desejado

Para fazer o backup, basta acessar a unidade normalmente e copiar os dados. Sem mistério.
Para o particionamento, entraremos no CFDisk, pelo comando:

# cfdisk /dev/xdy


O quê pôr no lugar do XdY?
Essa é sua unidade de disco rígido, seu HD.
No lugar do X, você vai pôr S ou H, dependendo. S para discos SATA (e SATA II) e H para discos IDE.
No lugar do Y, você vai pôr a, b, c, d... conforme for sua unidade. Se ela estiver como master ou for a primeira do slot, vai A. Se for secundária, vai B e assim por diante.
Por exemplo, um disco SATA master na SATA 1 seria: /dev/sda
Um disco IDE master na IDE 1 seria: /dev/hda
Um disco IDE escravo na IDE1 seria: /dev/hdb

O mesmo vale para o SATA.

Entrando no CFDisk, delete as partições, crie as partições no esquema necessário (espero que você saiba já que precisar de uma partição para o sistema e se tiveres pouca RAM, uma partição para usar de espaço de troca) e escreva as mudanças no disco.

Para formatar, você vai usar o aplicativo mkfs.
Por exemplo, para formatar um disco em ReiserFS3, você usará o comando:

# mkfs.reiserfs /dev/xdyz

No lugar do Z você põe o número da partição. Se a partição raíz for a primeira vai um 1, se for a segunda vai um 2 e assim por diante.
Como em: /dev/sdb2 → Disco SATA escravo, segunda partição

Depois de executar o comando, dar um YES para ele continuar a formação, você está pronto para iniciar a instalação do Gentoo.
Mas essa fica pro próximo post.

Um abraço!