NPDD/Baobáxia/Emulação Raspberry3 com QEMU

(Diferença entre revisões)
Ir para: navegação, pesquisa
(Criar nossa raspberry 3 virtual)
Linha 45: Linha 45:
 
  raspi_3.img2      614400 6445312 5830913  2.8G 83 Linux
 
  raspi_3.img2      614400 6445312 5830913  2.8G 83 Linux
  
Precisa pegar o valor "start" da primeira partição de boot e multiplicar por 512, que da 1048576. Esse é o offset para acessar diretamente a partição com mount
+
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
 
Vamos montar dentro de uma pasta que vamos criar

Edição das 12h47min de 29 de setembro de 2020

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 2240 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..

Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas
Rede Mocambos