Pular para o conteúdo

BOCHS - O emulador de x86

Este artigo fala sobre umas das várias belezas que vivem no Sourceforge.net, o Bochs, um incrível emulador de PC que nos permite executar sistemas operacionais dentro de sistemas operacionais.
Jarno Trulli Jarnotrulli
Hits: 54.995 Categoria: Linux Subcategoria: Software
  • Indicar
  • Impressora
  • Denunciar

Apresentações

Muitos de vós que lêem este artigo já ouviram falar de emuladores de hardware, desde emuladores de Palmtops até de plataformas de vídeo games famosos.

Vou falar um pouco sobre um dos melhores emuladores livres (e para ser mais exato, "libertos") de PC Intel x86 existentes, o Bochs.

O Bochs, uma máquina virtual escrita em C++, é altamente portável, ou seja, o seu código-fonte é compilável em praticamente qualquer plataforma (ele roda sistemas operacionais de plataforma x86 no Windows, no MacOS X e em várias versões de Unix). Isto é ao mesmo tempo o ponto forte e o ponto fraco do Bochs em relação a outras máquinas virtuais: todo o equipamento virtual (a BIOS, os cartões VGA, emulação de som) é feito em software, o que valoriza a portabilidade, mas detém a velocidade.

O Bochs (se pronuncia Box) ganhou este nome por causa de uma brincadeira com outros softwares. Explicando: por exemplo, existe a DosBox, a LinuxBox e outros Box por aí... e eles resolveram dar o nome Bochs, porque simula um software dentro de uma caixa (será que "caisha" seria uma boa tradução?).

Em tempo, cabe aqui um agradecimento à Mandrake (atual Mandriva) por ter ajudado a liberar os fontes deste software. Mais uma vitória do Software Livre!

Neste artigo daremos um pequeno tour por este brinquedinho interessante.

   1. Apresentações
   2. Rodando o seu sistema operacional: obtendo as fontes
   3. Rodando o seu sistema operacional: obtendo a imagem
   4. Rodando o seu sistema operacional: arquivo de configuração .bochsrc
   5. Rodando o seu sistema operacional: shell script para rodar o Bochs
   6. Conclusões

GNU Emacs (Intro)

Rage Against Binary Blob - sobre documentação aberta para hardware

Mais sobre recursividade em C/C++

OTRS - Revolucione seu Help Desk com esta ferramenta

Virtualbox - clonando e reduzindo o tamanho de HDs

Sintegra e Ted via wine

Kshutdown e suas funções

Qual distribuição Linux devo escolher?

#1 Comentário enviado por removido em 19/11/2005 - 22:52h
Ótimo artigo sobre uma ótima ferramenta.

Pra quem insiste em dizer que o Software Livre é fraco, aí está uma prova do contrário. É gratificante ver uma ferramenta como essa ser lançada.

Continue o bom trabalho. ;-)

[]'s
#2 Comentário enviado por croscato em 20/11/2005 - 09:54h
Olha compilei o Bochs com uma configuração diferente e percebi um ganho de velocidade. A configuração foi a seguinte:

./configure --enable-config-interface --enable-plugins --enable-x86-64 --enable-ne2000 --enable-pci --enable-pcidev --enable-usb --enable-guest2host-tlb --enable-repeat-speedups --enable-icache --enable-fast-function-calls --enable-global-pages --enable-host-specific-asms --enable-ignore-bad-msr --enable-port-e9-hack --enable-all-optimizations --enable-instrumentation --enable-raw-serial --enable-vbe --enable-mmx --enable-3dnow --enable-sse=2 --enable-cdrom --enable-sb16=linux --enable-gameport --enable-xpm

Espero que esse comando ajuda a todos.

Até mais.
#3 Comentário enviado por Jarnotrulli em 21/11/2005 - 19:07h
Valeu aê galera!
Levou um tempo para eu recuperar este artigo mas valeu a pena...
Nada como um Google Hacking: olhar os caches recentes que o Google mantém no site: só precisei copiar e colar (e talvez mudar as pontuações para algo mais útil...).
Valeu a dica, croscato! Tô pensando em fazer um package para o Slackware, e estava pensando em como compilar para ficar "um pouco" mais rápido.
Talvez isso ajude...
#4 Comentário enviado por efologan em 23/11/2005 - 16:19h
beleza... ótimo artigo... so que aqui deu pau... to com xfree86 com todas as libs e ele me retorna a mensagem:

ERROR: X windows gui was selected, but X windows libraries were not found.

oque pode ser e como eu soluciono isso, pois como disse, todas as libs do meu x estao ok.. (fedora 1.0)
Valeu pelo art... abraços
#5 Comentário enviado por efologan em 23/11/2005 - 16:30h
Só pra constar, o pacote rpm funcionou legal... mas eu gostaria mesmo de usar a versão tar.gz pra poder usar as opções mostradas pelo grande parceiro croscato... portanto o pedido de ajuda anterior continua valendo...
#6 Comentário enviado por Jarnotrulli em 28/04/2006 - 01:39h
Tente ver onde estao als libs do X e passe --with_x_libs=(ondeEsta)
#7 Comentário enviado por paulodangelo em 06/05/2007 - 13:10h
Quando dou o ./configure ele diz que falta o /lib/cpp/ alguém pode me ajudar?

Contribuir com comentário

Entre na sua conta para comentar.