Instituto de Computação - UNICAMP

MC504 - Sistemas Operacionais

Ambiente de testes: QEMU

Islene Calciolari Garcia


Importante: No laboratório, USE O tmp!

Atenção: como o espaço em disco utilizado durante este experimento é muito grande, caso os testes sejam feitos no laboratório deveremos utilizar o diretório /tmp das máquinas.
  $ mkdir /tmp/raXYZXYZ
  $ cd /tmp/raXYZXYZ

Assim, você não esgota a sua quota e não prejudica o desempenho da rede para os outros. Pelos mesmos motivos, antes da compilação do kernel, configure o diretório CCACHE utilizando o comando:

$ export CCACHE_DIR="/tmp/.ccache"

QEMU

O QEMU é um virtualizador e emulador de processadores. Podemos fazer um teste bem simples com o QEMU utilizando a imagem disponível em Testing QEMU .
  qemu-system-i386 -hda linux-0.2.img

Teste com o kernel 4.11.3

  1. Obtenha a versão 4.11.3 ou outra versão recente do kernel em kernel.org. Execute a descompactação com o comando:
    $ pwd
    /tmp/raXYZXYX
    $ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.11.3.tar.xz
    $ tar xJvf linux-4.11.3.tar.xz 
    
  2. Obtenha a imagem ArchLinux_mc504.cow que foi criada por Tiago Gimenes no 1s2016. Esta imagem contém o gcc e é um pouco maior e mais completa do que a imagem utilizada em semestres anteriores.

  3. Obtenha o arquivo de configuração config-4.11.3 adequeado para rodar com o QEMU.

  4. Instale o arquivo de configuração e compile o kernel.
    $ cd linux-4.11.3
    $ cp ../config-4.11.3 .config
    $ make -j 5 ARCH=i386    
      
  5. Teste o kernel com a imagem utilizando o QEMU:
    $ cd ..    
    $ qemu-system-i386 -hda ArchLinux_mc504.cow -kernel linux-4.11.3/arch/i386/boot/bzImage -append "rw root=/dev/hda" 
    

  6. Quando o sistema entrar poderemos fazer login com usuário root, sem senha.

  7. Para alterar o mapa do teclado, utilize dentro do QEMU um comando semelhante a
    $ loadkeys /usr/share/kbd/keymaps/i386/qwerty/br-abnt2.map.gz
    

  8. Para sair sem corromper a imagem:
    $ poweroff