NPDD/Baobáxia/Emulação Raspberry3 com QEMU
(Pequeno tutorial sobre qemu e raspberry) |
JuniorPaixao (disc | contribs) (→Acessar a Toussaint) |
||
(4 edições intermediárias de um usuário não apresentadas) | |||
Linha 2: | Linha 2: | ||
No nosso caso criamos uma maquina virtual com arquitetura arm64 dentro de outra maquina com arquitetura x86 também virtual, dentro da maquina real "madiba" no data center da Tainã. | No nosso caso criamos uma maquina virtual com arquitetura arm64 dentro de outra maquina com arquitetura x86 também virtual, dentro da maquina real "madiba" no data center da Tainã. | ||
+ | |||
+ | == Acessar a Toussaint == | ||
Usamos uma maquina virtual de teste, a toussaint, que é uma Debian 10 Buster. Para acessar: | Usamos uma maquina virtual de teste, a toussaint, que é uma Debian 10 Buster. Para acessar: | ||
− | ssh -p | + | ssh -p 2150 ssh.taina.net.br |
+ | |||
+ | == Instalar QEMU == | ||
Depois logar, como root, instalamos o qemu com: | Depois logar, como root, instalamos o qemu com: | ||
apt-get install qemu-system-arm xz-utils | apt-get install qemu-system-arm xz-utils | ||
+ | |||
+ | |||
+ | == Criar nossa raspberry 3 virtual == | ||
Depois criamos uma pasta para trabalhar | Depois criamos uma pasta para trabalhar | ||
Linha 18: | Linha 25: | ||
Desempacotamos.. | Desempacotamos.. | ||
xz --decompress raspi_3.img.xz | xz --decompress raspi_3.img.xz | ||
− | Precisamos agora achar as duas partições contidas na imagem e o ponto que começa para montar aquela de boot e pegar alguns arquivos: fdisk -l raspi_3.img | + | Precisamos agora achar as duas partições contidas na imagem e o ponto que começa para montar aquela de boot e pegar alguns arquivos: |
− | Vamos montar dentro de uma pasta que vamos criar mkdir -p /root/mnt/raspi mount -o offset=1048576 raspi_3.img /root/mnt/raspi/ | + | |
− | De la vamos pegar esses dois arquivos do linux e copiar onde esta ja a imagem do raspbian: cd /root/mnt/raspi cp vmlinuz-4.19.0-10-arm64 initrd.img-4.19.0-10-arm64 /root/db_rpi3_qemu/ | + | fdisk -l raspi_3.img |
+ | |||
+ | Vai mostrar algo desse tipo: | ||
+ | |||
+ | |||
+ | toussaint:~/db_rpi3_qemu# fdisk -l raspi_3.img | ||
+ | Disk raspi_3.img: 3.5 GiB, 3720347648 bytes, 7266304 sectors | ||
+ | Units: sectors of 1 * 512 = 512 bytes | ||
+ | Sector size (logical/physical): 512 bytes / 512 bytes | ||
+ | I/O size (minimum/optimal): 512 bytes / 512 bytes | ||
+ | Disklabel type: dos | ||
+ | Disk identifier: 0x7e1b1757 | ||
+ | |||
+ | Device Boot Start End Sectors Size Id Type | ||
+ | raspi_3.img1 2048 614399 612352 299M c W95 FAT32 (LBA) | ||
+ | raspi_3.img2 614400 6445312 5830913 2.8G 83 Linux | ||
+ | |||
+ | Precisa pegar o valor "start" da primeira partição de boot, 2048, e multiplicar por 512, que da 1048576. Esse é o offset para acessar diretamente a partição com mount | ||
+ | |||
+ | Vamos montar dentro de uma pasta que vamos criar | ||
+ | |||
+ | mkdir -p /root/mnt/raspi mount -o offset=1048576 raspi_3.img /root/mnt/raspi/ | ||
+ | |||
+ | De la vamos pegar esses dois arquivos do linux e copiar onde esta ja a imagem do raspbian: | ||
+ | cd /root/mnt/raspi | ||
+ | cp vmlinuz-4.19.0-10-arm64 initrd.img-4.19.0-10-arm64 /root/db_rpi3_qemu/ | ||
+ | |||
+ | E agora podemos "ligar" a maquina virtual com qemu: | ||
+ | qemu-system-aarch64 -M virt -m 1024 -smp 4 -cpu cortex-a53 -kernel vmlinuz-4.19.0-10-arm64 -initrd initrd.img-4.19.0-10-arm64 -drive if=none,file=raspi_3.img,format=raw,id=hd -append 'root=/dev/vda2 noresume' -device virtio-blk-pci,drive=hd -device virtio-net-pci,netdev=mynet -netdev user,id=mynet,hostfwd=tcp::2222-:22 -device virtio-rng-pci -no-reboot -nographic | ||
− | |||
O sistema vem sem senha de root | O sistema vem sem senha de root | ||
− | + | ||
+ | Para [[NPDD/Baobáxia/Documentação#Instala.C3.A7.C3.A3o_e_opera.C3.A7.C3.A3o_t.C3.A9cnica|instalar o Baobáxia é o mesmo de sempre]], lembrando que precisa ver se tem algum pacote para atualizar no debian. | ||
+ | No caso mudei o pacote tcl tk de 8.5 para versao 8.6. | ||
+ | A instalação rodou mas o sistema tava muito lento. Tive que aumentar o timeout do gunicorn alterando o arquivo: /srv/bbx/bin/gunicorn_start.sh | ||
+ | Incluindo a variavel TIMEOUT=120 e adicionandola na linha de execução em baixo --timeout $TIMEOUT | ||
+ | É isso.. |
Edição atual tal como às 15h39min de 2 de outubro de 2021
Com a virtualização é possivel criar maquinas virtuais não somente da mesma arquitetura que a maquina que hospeda.
No nosso caso criamos uma maquina virtual com arquitetura arm64 dentro de outra maquina com arquitetura x86 também virtual, dentro da maquina real "madiba" no data center da Tainã.
Acessar a Toussaint
Usamos uma maquina virtual de teste, a toussaint, que é uma Debian 10 Buster. Para acessar:
ssh -p 2150 ssh.taina.net.br
Instalar QEMU
Depois logar, como root, instalamos o qemu com:
apt-get install qemu-system-arm xz-utils
Criar nossa raspberry 3 virtual
Depois criamos uma pasta para trabalhar
mkdir ~/db_rpi3_qemu
E baixamos a ultima imagem da raspbian par raspberry3:
wget https://raspi.debian.net/daily/raspi_3.img.xz
Desempacotamos..
xz --decompress raspi_3.img.xz
Precisamos agora achar as duas partições contidas na imagem e o ponto que começa para montar aquela de boot e pegar alguns arquivos:
fdisk -l raspi_3.img
Vai mostrar algo desse tipo:
toussaint:~/db_rpi3_qemu# fdisk -l raspi_3.img Disk raspi_3.img: 3.5 GiB, 3720347648 bytes, 7266304 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x7e1b1757
Device Boot Start End Sectors Size Id Type raspi_3.img1 2048 614399 612352 299M c W95 FAT32 (LBA) raspi_3.img2 614400 6445312 5830913 2.8G 83 Linux
Precisa pegar o valor "start" da primeira partição de boot, 2048, e multiplicar por 512, que da 1048576. Esse é o offset para acessar diretamente a partição com mount
Vamos montar dentro de uma pasta que vamos criar
mkdir -p /root/mnt/raspi mount -o offset=1048576 raspi_3.img /root/mnt/raspi/
De la vamos pegar esses dois arquivos do linux e copiar onde esta ja a imagem do raspbian:
cd /root/mnt/raspi cp vmlinuz-4.19.0-10-arm64 initrd.img-4.19.0-10-arm64 /root/db_rpi3_qemu/
E agora podemos "ligar" a maquina virtual com qemu:
qemu-system-aarch64 -M virt -m 1024 -smp 4 -cpu cortex-a53 -kernel vmlinuz-4.19.0-10-arm64 -initrd initrd.img-4.19.0-10-arm64 -drive if=none,file=raspi_3.img,format=raw,id=hd -append 'root=/dev/vda2 noresume' -device virtio-blk-pci,drive=hd -device virtio-net-pci,netdev=mynet -netdev user,id=mynet,hostfwd=tcp::2222-:22 -device virtio-rng-pci -no-reboot -nographic
O sistema vem sem senha de root
Para instalar o Baobáxia é o mesmo de sempre, lembrando que precisa ver se tem algum pacote para atualizar no debian. No caso mudei o pacote tcl tk de 8.5 para versao 8.6. A instalação rodou mas o sistema tava muito lento. Tive que aumentar o timeout do gunicorn alterando o arquivo: /srv/bbx/bin/gunicorn_start.sh Incluindo a variavel TIMEOUT=120 e adicionandola na linha de execução em baixo --timeout $TIMEOUT É isso..