Executando Assembly com QEMU no WSL

Instalar o WSL 2

Apenas execute o comando abaixo no prompt de comando do Windows:

wsl –install

Para isso funcionar, o WSL precisa estar na versão 2. Você pode verificar rodando o seguinte comando no no prompt de comando do Windows:…


This content originally appeared on DEV Community and was authored by Kailane Felix

Instalar o WSL 2

Apenas execute o comando abaixo no prompt de comando do Windows:

wsl --install

Para isso funcionar, o WSL precisa estar na versão 2. Você pode verificar rodando o seguinte comando no no prompt de comando do Windows:

wsl -l -v

A saída esperada é o número 2 na coluna Version:

Saída esperada do comando

Caso esteja versão certa, sorria e passe pra próxima fase! Caso contrário, atualize o WSL.

Para fazer a atualização do WSL 1 para o WSL 2, use o comando: wsl --set-version <distro name> 2 substituindo pela distribuição do Linux que você deseja atualizar. Use wsl --set-version Ubuntu-20.04 2 definirá sua distribuição do Ubuntu 20.04 para usar o WSL 2.

Atualizar o sistema do WSL

Antes de instalar os programas necessários, precisamos atualizar o Ubuntu que está rodando no WSL. Para fazer isso, execute o seguinte comando no prompt dentro do WSL:

sudo apt update && sudo apt upgrade

Você pode executar esse comando de vez em quando para atualizar os programas já instalados.

Instalar o nasm

O Netwide Assembler (nasm), é um montador e desmontador que suporta as arquiteturas IA-32 e x86-64. Ele é responsável por transformar os códigos em assembly para linguagem de máquina. Para instalar, basta executar o seguinte comando:

sudo apt install nasm

Instalar o qemu

O QEMU é um emulador e virtualizador de máquinas de código aberto e genérico. Para instalar o QEMU, execute o seguinte comando:

sudo apt install qemu qemu-system-x86

Isso instala o qemu e o suporte para emular x86 (i386 e x86_64).

Compilar

nasm -f bin input.asm -o output.bin
qemu-system-i386 output.bin

Erros comuns e como resolver:

Se você executa o programa, janelinha do QEMU não abre e você você se depara com um erro como esse:

Mensagem de erro

Siga os seguintes passos:

Instalar e configurar o VcXsrv

Baixe o instalador do VcXsrv e conclua a instalação do programa. Ele nos permitirá abrir janelas do Linux pelo WSL como janelas do Windows, assim poderemos executar nossos códigos com uma interface gráfica.

Para configurar, abra o aplicativo e avance na configuração padrão, atenção para deixar a opção 'Disable Access Control' marcada.

Lembre-se de manter o programa aberto e rodando na hora de compilar o programa.

Depois disso, executar os seguintes comandos no terminal WSL (somente uma vez):

echo "export DISPLAY=\$(awk '/nameserver/{print \$2; exit;}' /etc/resolv.conf):0.0" >> ~/.bashrc
source ~/.bashrc
echo $DISPLAY

O resultado se parecerá com isso : 172.18.0.1:0.0 ou isso 192.168.32.1:0.0.

Execute seu programa e seja feliz :)


This content originally appeared on DEV Community and was authored by Kailane Felix


Print Share Comment Cite Upload Translate Updates
APA

Kailane Felix | Sciencx (2022-02-11T21:57:09+00:00) Executando Assembly com QEMU no WSL. Retrieved from https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/

MLA
" » Executando Assembly com QEMU no WSL." Kailane Felix | Sciencx - Friday February 11, 2022, https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/
HARVARD
Kailane Felix | Sciencx Friday February 11, 2022 » Executando Assembly com QEMU no WSL., viewed ,<https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/>
VANCOUVER
Kailane Felix | Sciencx - » Executando Assembly com QEMU no WSL. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/
CHICAGO
" » Executando Assembly com QEMU no WSL." Kailane Felix | Sciencx - Accessed . https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/
IEEE
" » Executando Assembly com QEMU no WSL." Kailane Felix | Sciencx [Online]. Available: https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/. [Accessed: ]
rf:citation
» Executando Assembly com QEMU no WSL | Kailane Felix | Sciencx | https://www.scien.cx/2022/02/11/executando-assembly-com-qemu-no-wsl/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.