ct

    Preparando o Pendrive

    Intel Classmate, parte 2

    Carlos E. Morimoto
    22/10/2007


    O Kurumin 7 roda bem no Classmate, pois o sistema tem um consumo de memória relativamente modesto, mais baixo que o da maioria das distribuições que utilizam o KDE. Para instalá-lo, o primeiro passo é preparar um pendrive bootável com o Kurumin 7. Esta receita é bem similar à que publiquei a alguns meses atrás:

    Comece particionando o pendrive. Você pode também usar um cartão com a ajuda de um leitor USB. Ambos são reconhecidos pelo sistema da mesma forma. A imagem do Kurumin 7.0 r3 tem 647 MB. Como precisaremos de algum espaço adicional para os arquivos do grub e sempre algum espaço é perdido ao formatar, é recomendável criar uma partição Linux de 750 MB para o sistema, de forma que precisaremos de um pendrive ou cartão de pelo menos 1 GB.

    O passo seguinte é formatar a partição em EXT3:

    # mkfs.ext3 /dev/sdx1

    (onde o /dev/sdx é o dispositivo referente ao pendrive)

    Em seguida (ainda usando outra máquina), monte o CD-ROM ou o arquivo ISO do sistema e copie todos os arquivos para dentro da segunda partição do pendrive, deixando-a com a mesma estrutura de pastas que o CD-ROM. Ao fazer a cópia via terminal, use o comando "cp -a", que copia recursivamente:

    # cp -a /mnt/cdrom/* /mnt/sdd1/

    Originalmente, o Kurumin utiliza o isolinux como gerenciador de boot ao rodar através do CD. Embora até possa ser utilizado em um pendrive, o isolinux possui muitas limitações com relação a outras mídias, por isso vamos substituí-lo pelo grub. Para isso, você vai precisar ter o Kurumin 7 instalado em alguma partição do HD ou dar boot usando o CD.

    Dê boot na instalação do Kurumin. Monte a partição do pendrive e crie a pasta "/boot/grub" dentro dela. Em seguida, copie os arquivos da pasta "/boot/grub" da instalação do Kurumin no HD para a pasta /boot/grub" do pendrive, que acabou de criar. Crie também um arquivo de texto vazio chamado "teste" (na pasta "/boot/grub" do pendrive), que utilizaremos no passo seguinte:

    # mkdir /mnt/sdd1/boot/grub
    # cp -a /boot/grub/* /mnt/sdd1/boot/grub
    # touch /mnt/sdd1/boot/grub/teste

    Precisamos agora instalar o grub no setor de boot do pendrive, de forma que ele se torne bootável. Para isso, usaremos o prompt do grub. Para acessá-lo use o comando "grub" (como root). Você verá um prompt como este:

    GNU GRUB version 0.97 (640K lower / 3072K upper memory)

    [ Minimal BASH-like line editing is supported. For the first word, TAB
    lists possible command completions. Anywhere else TAB lists the possible
    completions of a device/filename. ]

    grub>

     

    O grub utiliza uma nomenclatura peculiar para nomear os drives. É aqui que o arquivo "teste" vazio nos vai ser útil. Podemos utilizá-lo para descobrir como o grub identificou o pendrive. Para isso, use o comando "find /boot/grub/teste" no prompt do grub:

    grub> find /boot/grub/teste

    (hd1,0)

     

    A resposta indica que (na nomenclatura usada pelo grub) o arquivo foi encontrado na partição 0 do hd1. O grub nomeia os dispositivos e partições a partir do zero, de forma que isso equivale à segunda partição, do segundo HD, ou seja, a segunda partição do pendrive :).

    Falta agora só instalar o grub na partição indicada. Preste atenção nesta etapa, pois instalar no dispositivo errado pode ser desastroso :). Use os comandos "root (hd1,0)", "setup (hd1)", e "quit", substituindo os endereços, caso diferentes no seu caso:

    grub> root (hd1,0)

    Filesystem type is ext2fs, partition type 0x83

    grub> setup (hd1)

    Checking if "/boot/grub/stage1" exists... yes
    Checking if "/boot/grub/stage2" exists... yes
    Checking if "/boot/grub/e2fs_stage1_5" exists... yes
    Running "embed /boot/grub/e2fs_stage1_5 (hd1)"... 15 sectors are embedded.
    Succeeded
    Running "install /boot/grub/stage1 (hd1) (hd1)1+15 p (hd1,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
    Done.

    grub> quit

    A esta altura, você terá uma estrutura similar a esta no pendrive:

    /boot/grub
    /boot/isolinux
    /KNOPPIX

    A pasta "/boot/isolinux" contém os arquivos de boot originais do sistema (como o Kernel e o arquivo initrd.gz), enquanto a pasta "/KNOPPIX" contém a imagem compactada do sistema. O próximo passo é justamente adaptar a cópia do grub que criamos para utilizar estes arquivos.

    Acesse a parta "/boot/grub" (no pendrive) e delete o arquivo "device.map", ele contém um cache dos dispositivos disponíveis na máquina, que deletamos para que o grub detecte tudo a cada boot, já que o pendrive será utilizado em várias máquinas diferentes.

    Abra agora o arquivo "menu.lst". Apague todo o seu conteúdo e substitua pelas linhas abaixo:

    default 0
    timeout 1

    title Kurumin Linux
    root (hd0,0)
    kernel /boot/isolinux/linux26 ramdisk_size=100000 init=/etc/init vga=785 quiet lang=us
    initrd /boot/isolinux/minirt.gz

    Plugue o pendrive no Classmate e pressione a tecla DEL no início do boot e configure o Setup para inicializar através do pendrive (Generic USB Flash, ou similar) no lugar do "M-Sys uDiskonChip", que corresponde à memória interna:

    index_html_a8d379

    O chipset i915GMS usado no Classmate é essencialmente o mesmo chipset utilizado nos notebooks Intel Centrino baseados na plataforma Sonoma. Ele é bastante compatível com o Linux de uma forma geral, incluindo o suporte 3D para o vídeo onboard. Os dois detalhes que você precisará ajustar manualmente são a resolução da tela e a placa wireless.

    A resolução de 800x480 usada pela tela precisa ser adicionada manualmente na tabela de resoluções armazenadas no BIOS do chipset de vídeo, do contrário o sistema configura o vídeo usando resolução de 640x480.

    Isso é feito através do programa "915resolution". Ele precisa ser usado em diversos notebooks com tela wide, onde a resolução não é corretamente detectada pelo sistema. No caso do Classmate, o comando é:

    # 915resolution 30 800 480

    O comando pode ser executado em qualquer terminal, desde que você esteja logado como root, não é necessário usar um dos terminais de texto puro. Em seguida, reinicie o vídeo pressionando Ctrl+Alt+Backspace e você verá que a resolução passa a ser setada corretamente:

    index_html_m15a99d7a

    Este comando precisa ser executado a cada boot, antes da abertura do modo gráfico, por isso deve ser colocado em algum arquivo de inicialização. Vamos cuidar disso depois de instalar o sistema na memória interna

    Continuando, a placa wireless é uma Ralink rt73, ligada ao barramento USB. O driver para ela (rt73) está disponível no: http://rt2x00.serialmonkey.com/. O link direto para baixar a versão mais recente do driver é: http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz.

    Veja a dica que postei a poucos dicas para detalhes sobre a instalação do driver: http://www.guiadohardware.net/dicas/ralink-rt73-linux.html.

    Antes de formatar a memória interna e partir para a instalação do sistema, é conveniente fazer uma imagem de recuperação do sistema que veio pré-instalado no Classmate, permitindo que você restaure-o mais adiante caso desejado.

    A imagem ficará com o mesmo tamanho da memória interna do Classmate (ou seja, 2 GB) e pode ser salva no espaço livre do pendrive ou do HD externo (caso você tenha espaço suficiente).

    Para criá-la, monte de partição de destino e use o dd, especificando o device da unidade interna e o arquivo onde o conteúdo será salvo, como em:

    # dd if=/dev/sdb of=/mnt/sdc6/classmate.img

    É possível também salvar a imagem em um compartilhamento de rede. Nesse caso, a melhor opção é o NFS, que permite que o compartilhamento seja acesso de forma transparente pelo sistema (veja dicas de como usar o NFS nesse dica: http://www.guiadohardware.net/dicas/usando-nfs.html). Depois de ativar os serviços e montar o compartilhamento em uma pasta, você usaria o mesmo comando:

    # dd if=/dev/sdb of=/mnt/nfs/classmate.img

    Na hora de restaurar a imagem, você daria novamente boot pelo pendrive ou HD externo, montaria novamente a partição ou o compartilhamento de rede com a imagem e inverteria o comando, especificando agora o arquivo como dispositivo de entrada, e o device da memória interna como saída, como em:

    # dd if=/mnt/sdc6/classmate.img of=/dev/sdb

    Estes comandos simplesmente fazem uma cópia binária dos dados, o que vai gerar um arquivo com o mesmo tamanho da unidade de armazenamento, ou seja, com 2 GB. Se isso for um problema, é possível comprimir o arquivo usando o gzip, usando esta dica postada pelo Carlos Alberto no fórum:

    Para gerar a imagem utilizando a compressão:

    # dd if=/dev/sdb bs=1M | gzip -9 -c > clasmate.img.gz

    Para restaurar o arquivo:

    # gunzip -c classmate.img.gz | dd of=/dev/sdb




    Página 02 de 06
        



    Blog:

    Add to Google

    » Gostou do texto?
    Veja nossos livros impressos:

    Smartphones | Linux | Hardware
    Redes | Servidores


    ... ou encontre o que procura usando a busca:

cb
Livros de Carlos E. Morimoto Contato HOME