sábado, 10 de agosto de 2013

Aula 2 - Instalando o Fedora na Máquina Virtual


Este tutorial descreve a instalação do Fedora numa Máquina Virtual.


Requerimentos:
  • Mínimo de 1Gb de memória RAM e 10GB de memória livre no disco rígido
  • VirtualBox instalado     

Instalação do Fedora



Entre no site do Fedora (http://fedoraproject.org/), baixe seu instalador de 32 bits (devido ao maior suporte) e a GUI de sua preferencia(Neste exemplo o usa-se o Fedora 19).









Execute o VirtualBox e escolha a opção "Novo" para criar e configurar uma nova máquina virtual.



Escolha um nome para a máquina virtual pela opção "Name", caso ele não identifique o Sistema Operacional automaticamente, caso não identifique, escolha o tipo do Sistema Operacional em "Type" e a distribuição em "Version" e escolha a opção continuar.




Escolha a quantidade de memória RAM a ser utilizada pela máquina virtual, a escolhida neste caso foi de 2GB, este valor pode ser mudado quando criado a máquina virtual e escolher a opção "Configuração", clique em continue.




 Após isso aparecerá 3 opções:

  1. Não criar disco de armazenamento virtual.
  2. Cria um novo disco rígido virtual associado a maquina virtual.
  3. Utiliza um disco rígido virtual criado anteriormente para associar-se a máquina virtual.
A opção escolhida neste caso seria a 2, pois estamos criando uma máquina virtual do zero, clique em "Criar".



Aparacerá um lista de tipos de aquivo para o novo disco rígido virtual, escolhemos a "VDI(VirtualBox Disk Image)", pois é a padrão do VirtualBox, clique em próximo.



Você deverá escolher o tipo de armazenamento em disco:

  1. Dinamicamente alocado - Ele ocupará espaço no disco físico a medida que forem adicionados novos arquivos até o tamanho máximo do espaço ocupado pelo disco virtual. O tamanho máximo de seu disco virtual pode ser aumentado com uso de outras ferramentas.
  2. Tamanho fíxo -  Ele começara ocupando espaço no disco físco igual ao  tamanho máximo do espaço ocupado pelo disco virtual.
A 1º opção de Dinamicamente alocado foi escolhido neste caso.



Você devera escolher o nome do novo disco virtual, sua localização e o limite máximo que o disco virtual ocupará no disco físico, clique em "Criar".
Selecione o espaço desejado para o disco virtual.



Após criado a máquina virtual, escolha a opção "Configurações", aparecerá informações extras da maquina virtual e sugestões de modificações.
Entre em configurações e selecione as configurações que julgar necessárias como:






  • Compartilhar um pasta entre a máquina virtual e sua máquina física na opção "Pasta compartilhadas".
  • Habilitar o envio de arquivos via drag and drop.
  • Habilitar a USB na opção "USB".
  • Alterar o tamanho da memória RAM utilizada na opção "Sistema", "Placa-Mãe" e "Memória Base".
















  • Inicie a maquina virtual, aparecerá um informativo do VirtualBox feche a janela ou escolha para não aparecer mais, logo após pedirá para escolher uma .iso para instalação, entre na pasta onde está a distribuição do Fedora e o escolha.














    Inicie o Fedora por boot da ISO.







    Escolha o idioma desejado e clique em "Continuar".




    Esta tela permitirá alterar configurações de Data e Hora, Layout do Teclado, Configuração de rede e a Instalação.

    Na opção "Teclado", aparecerá sugestões de layout para o teclado, podendo adicionar novas na opção "+" ou remover na opção "-", o layout no topo será o utilizado como padrão.




    Na opção "Instalação", poderá configurar o disco para instalar o Fedora, pode adicionar e configurar um disco manualmente na opção "Adicionar um disco.." ou utilizar o disco reconhecido, neste caso o disco virtual, clique em finalizar.




    Aparecerá 2 opções de configuração:
    1. Configurar automaticamente - O próprio instalador particiona e configurar a instalação(Opção usada).
    2. Reve/Modificar - O usuário pode modificar o particionamento e a configuração da instalação.
    O tipo de partição utilizado é o LVM (Padrão no Fedora).

    Após esses passos clique em "Continuar".




    A instalação voltará para a tela de opções, se não tiver mais modificações clique em "Iniciar a Instalação".





    O sistema começará a ser instalado e será necessário configurar uma conta de "ROOT" e de usuário, recomenda-se usar senhas mais "forte" para o "ROOT", pois ele é o administrador com maior privilégio no sistema.











    Após o termino da instalação, reinicie o Fedora.





    Mas antes que o sistema reinicie retire a ISO de boot caso contrário ele dará boot pelo CD virtual novamente.




    Ao iniciar, selecione o sistema Fedora.



    Faça o login.






    Ao ser logar-se pela primeira vez, aparecerá opções de configuração simples, escolha a que melhor for conveniente.













    Aula 1 - Instalando o Oracle VM VirtualBox

    Este tutorial descreve a instalação do Oracle VM VirtualBox.

    Requerimentos:
    • Sistema operacional compatível com o VirtualBox
    Observações:

    • O sistema operacional usado foi o Windows

    Instalação do VirtualBox





    Entre no site do VirtualBox (https://www.virtualbox.org/), baixe seu instalador.




    Baixe o VirtualBox Oracle VM Virtual Box Extension Pack (referente a versão do VirtualBox instalado), ele servirá para instalar binários referentes aos devices de Usb 2.0, VirtualBox RdP e PXE boot para Intel cards. 



    Inicie a instalação do VirtualBox, clique em next > next > next > yes > install > instalar (nas 3 janelas que abrirem na sequência) > finish.








    Inicie a instalação do VirtualBoxOracle VM VirtualBox Extension Pack clique em instalar > "Eu concordo".







    segunda-feira, 10 de junho de 2013

    Tutorial 9 - compilação Device Driver e Load de modulo no Kernel


    Olá Pessoal!

    Neste 9 tutorial vamos fazer compilar e adicionar ao kernel linux um modulo de device drivers. Você pode tanto adiciona-lo estaticamente, compilando os fontes e habilitando a opção no menu de configuraçao, quanto adicionado como módulo dinamicamente quando achar necessario. Os passos que faremos são os mesmo para qualquer arquitertura, lembrando sempre que você deve mudar os atributos ARCH e CROSS_COMPILE quando tiver uma arquiterura diferente, falando de ARM, por exemplo, ficaria make ARCH=arm CROSS_COMPILE=arm-none-linux-genueabi- .
    Vamos começar!

    Usaremos os fontes de um driver fornecido chamado simple_char! Que pode ser baixado nos links abaixo.

    Primeiramente use o comando para descomprimir o arquivo

    gunzip simple_char.zip

    Feito isso temos os arquivos:

    ioctl.c – Biblioteca de comandos de controle
    Makefile – arquivo de configuraçao da compilação, aqui podemos especificar path de instalção, qual compilador devera ser usado.
    simple_char.c – fontes do driver
    simple_ioctl.h – configuração de ioctl para o driver
    simple_load – shellscript que faz o carregamento do driver no kernel
    simple_unload – shellscript que faz o descarregamento do modulo no kernel

    Mova o driver para uma pasta de sua preferencia e torne o diretorio corrente.

    cd /simple_char
    dentro do diretorio chame o comando

    make


    verificamos o seguinte erro:


    Isso se deve que o driver adiciona um no struct do fops um atributo de ioctl utilizado para kernel de versões anteriores a 2.6.36. Para corrigir abra os fonte do simple_char.c

    gedit simple_char
    na linha 287 comente o sequinte codigo:
    Feito isso novamente execute o make

    make

    verifique a mensagem confirmando execução e que os arquivos .o foram gerados.

    obs: aqui compilamos para x86 mas o procedimento é o mesmo para todas a arquiteturas adicionando somente os paramentros ARCH e CROSS_COMPILE ficaria:

    make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-

    feito isso temos o arquivo compilado e vamos adiciona-lo ao kernel usando o shellscript

    sudo sh simple_load

    para verificar se o modulo esta “online” utilize 
    o lsmod para verificar se ele foi inicializado

    lsmodpara remover utilize o script de remoção

    sudo sh simple_unload

     agora para remove-lo vamos utilizar o script unload

    sudo sh simple_unload


    utilizaremos o comando

    lsmod | grep simple_char 

    para procurar na lista de modulos se o nosso simple_char ainda esta la
     

     
    confirmando que ele foi removido com sucesso!!!

    Abaixo segue video com maiores detalhes do tutorial




    bom pessoal por hoje é isso!
    Aprendemos a compilar um modulo de acordo com a arquitetura e adiciona-lo ao kernel dinamicamente.
    Bom hackeamento do kernel pra vocês e open source na veia!!!
    té!






    sábado, 1 de junho de 2013

    Tutorial 8 - Realizando um Debug Remoto com o Eclipse para a BeagleBoard-xm via ssh



    Neste oitavo tutorial será ensinado a como realizar um debug remoto de qualquer aplicação para BeagleBoard-xm via ssh.

    Este Tutorial possui 2 videos que poderão ser visualizados logo abaixo, bem como documentado logo abaixo dos videos.


    Debugando Remotamente [Parte 1]



    Primeiramente vá em Windows > Open Perspective > Other. Selecione "Remote System Explorer" e clique em OK.


    Clique com o botão direito na área do explorer, vá em New > Connection. Selecione Linux como o seu SO e clique em Next. Abra um terminal e digite o comando ifconfig para obter seu IP e o insira no campo de IP da janela no Eclipse no campo "Host Name", escreva uma descrição para sua placa e clique em Next. 


    Selecione a caixa "ssh.file" e clique em Next. Process shell escolha "processes.shellLinux" e clique em Next. Escolha "ssh.shells" e clique em Next. Na próxima janela clique em Next.



    No explorer, clique no ip da sua placa para expandir e clique em seguida em My Home. Clique em Ok na nova janela e aceite todos os próximos avisos.




    Agora basta clicar em "Root" para acessar o diretório remoto.

    Debugando Remotamente [Parte 2]



    Vá no menu Run > Debug Configuration. Clique duas vezes sobre "C/C++ Remote Application" para abrir a janela de configurações.


    Em Browse, vá na pasta home e crie uma nova pasta com o nome do seu projeto e dê Ok. Adicione ao caminho final /*nome do seu projeto*.


    Para finalizar digite "sudo" na text box de "Commands to execute before application" e clique em Ok. Pronto, seu eclipse está pronto para debuggar remotamente!






    Tutorial 7 - Instalando o GDB server na Beagle Board

    GDB server é um programa de computador que faz com que seja possível depurar remotamente outros programas.

    Em execução no mesmo sistema que o programa a ser depurado, ele permite que o GNU Debugger se conectar a partir de outro sistema, isto é, somente o programa executável é necessário para ser depurado e precisa ser residente no sistema de destino, enquanto que o código-fonte, que é uma cópia do arquivo binário a ser depurado, reside no computador local do desenvolvedor. 

    A conexão pode ser TCP ou uma linha serial.

    Abaixo segue as linhas de comando necessárias para se instalar o GDB server na BeagleBoard-xm.

    Para executar estes comando, o usuário deverá estar no Shell da BeagleBoard:



    # opkg update

    # opkg install task-native-sdk

    # opkg update

    # opkg install gdb

    # opkg install gdbserver