Tutorial definitivo para recompilar o Minix 3

VN:RO [1.9.11_1134]
sábado, 24 d outubro d 2009
Por Eduardo Russo, Coop10. Siga no Twitter

Estudando sistemas operacionais, provavelmente você terá que recompilar seu código fonte várias vezes. Esse tutorial explica como fazer isso e garantir que tudo que você fez funcione.

O primeiro passo, é editar o código. Para isso, você pode transferir os “.c” via FTP, alterar em outro SO ou, a maneira mais simples, que explicarei aqui, editar no próprio Minix.

No exemplo, vamos alterar a mensagem de boas vindas do Minix.

cd /usr/src/kernel
cp main.c main.c.back
elle main.c

Isso criará um backup do main.c, caso você faça alguma besteira e abrirá o programa Elle (um editor básico, mas que dá pro gasto) com o main.c.

Agora vá na parte que tem a mensagem de boas vindas (Copyright…..) e altere o código. Eu alterei para “By Russo – Sao Paulo – Brasil – 2009″.

Aperte CONTROL+W para salvar o arquivo e depois CONTROL+S para sair do Elle.

Agora digite

cd /usr/src
make clean
make install

edit: ou digite:

cd /usr/src/tools/
make hdboot

Depois que terminar a recompilação, basta reiniciar o Minix com

reboot

Pode acontecer disso simplesmente não funcionar, aí entra a segunda parte desse tutorial.

Alternando entre as recompilações

Depois de MUITO apanhar com recompilações e mais recompilações do Minix, com resultados alternados de funcionamento, testes e mais testes com VirtualBox, VMware Fusion (que insiste em dar um kernel panic no Mac OSX cada vez que dou um boot no Minix), Parallels Desktop e Q (versão do QEMU pro OSX), consegui entender o que acontece e como fazer uma compilação do kernel funcionar corretamente!

VMware tirando um sarro da minha cara

VMware tirando um sarro da minha cara

Acabei decidindo por utilizar o VirtualBox 3.0. Pesquisei que nem um condenado pelo mundo virtual e descobri que cada vez que o código é recompilado é gerado uma nova versão do kernel. O grande mistério que fica sem resposta é: por que às vezes ele reinicia com o kernel recém compilado e às vezes não?

Enfim, digite

ls /boot/image

Isso mostrará todas aquelas 300 vezes que você compilou o kernel para tentar alterar a “disgrama” da tela de login!

Versões das recompilações

Versões das recompilações

Pode-se observar que recompilei o kernel três vezes (com a mesma alteração estúpida de teste), já que a primeira versão é a original.

Para utilizar uma dessas versões (no exemplo, vou usar a 3.1.3ar4), você deve digitar

#shutdown
image=/boot/image/3.1.3ar4
boot

Isso irá reiniciar o Minix com as alterações feitas em cada uma das versões. Além de resolver o problema de recompilações que aparentemente não funcionam, permite que você volte a versões pré-cagada!

Antes e depois de trocar o kernel em uso

Antes e depois de trocar o kernel em uso

No caso de dar caca, basta, na hora que o Minix te dá 3 opções (antes do boot) pressionar esc. Dessa forma, você tem a opção de escolher qual versão bootar.

Mas… se der caca numa alteração de driver… se danou! Faça backups com a maquina virtual para esses casos, já que mudanças nos drivers não tem nada a ver com o kernel do Minix e não adianta voltar atrás.

VN:F [1.9.11_1134]
Rating: 5.0/5 (1 vote cast)
Tutorial definitivo para recompilar o Minix 3, 5.0 out of 5 based on 1 rating
Related Posts with Thumbnails

Eduardo Russo
Eduardo Russo

Formado em Engenharia de Computação pela Poli (2010) e em Design pela Belas Artes (2001), cofundador do Bit a Bit, fundador do Tubelivery e do Faviconit, cofundador da Fábrica de Aplicativos e coordenador de produto do Scup.

Tags: , ,

4 Comentários para “Tutorial definitivo para recompilar o Minix 3”

  1. Rick

    Eduardo Russo, unico lugar em portugues que achei foi esse site, por favor
    Eu tenho interesse e uma vontade enorme de compilar o meu kernel minix 3 que eu tenho, mas porem eu não tenho o minix propriamente dito, queria compilar usando o cross-compilador do linux (opensuse ou ubuntu) tentei varias vezes, mas nunca obtive exito, sempre com erro.
    Alguns dizem que pode ser feito, pois o linux foi compilado dentro do minix.
    poderia me ajudar nessa? não sou estudante, sou apenas um curioso que também ama esse mundo de kernel, tenho varios micro kerneis de varios tipos, alguns eu consegui compilar no linux, mas esse minix é complicado, talvés eu tente atraves de um freeBSD, opensolaris, sei lá, mas no momento tenho instalado linux :)

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #673
    • Rick,

      faz uns bons séculos que não toco no Minix. Mexemos bastante com ele por ser uma disciplina da faculdade.

      Não tenho como te ajudar, mas o pessoal que está fazendo essa matéria nesse momento, pode.

      []s

      VN:F [1.9.11_1134]
      Rating: 0 (from 0 votes)
      #677
  2. Whoah isto weblog é grande i como realmente estudando seu artigos .
    Continue o grande funcionar! Você sabe , muitos pessoas são olhando rodada por
    isso informação , você pode ajuda-los grandemente.

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #9318
  3. Mariana Schmitz

    não deu em nada so fica dando erro e no final trava

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #10419

Deixe um Comentário

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes