Dual boot no Raspberry com Berryboot – Adicionando seu próprio sistema

Dual boot no Raspberry

Já mostrei nesse outro artigo como adicionar múltiplos sistemas em um micro SD. Um dos propósitos para isso é quando se quer utilizar o mesmo Raspberry para diferentes finalidades, como por exemplo, desenvolvimento e lazer. É exatamente o meu caso, onde estou utilizando um Raspberry com o BBCM em minha TV, mas também preciso utilizá-lo para desenvolvimento de um projeto utilizando o AFMultiRadio Black Edition, desse outro artigo. Por conta disso, decidi escrever um artigo do processo que estou utilizando para fazer dual boot no Raspberry com Berryboot.

Dual boot no Raspberry com seu próprio sistema

Se você tem o sistema de desenvolvimento instalado em um micro SD, o primeiro passo é copiá-lo para um sistema nativo. Nesse artigo explico como fazer esse processo. Nele, também está detalhado o processo para reduzir o sistema, de modo que seja plausível gerar uma imagem de sistema para dual boot.

Considerando que você já fez o backup e reduziu o tamanho do sistema, o próximo passo é converter a imagem gerada para squashfs. Caso se interesse por formatos de sistemas para embarcados, dê uma olhada nesse outro artigo, onde também explico como fazer a extração de dados de cada um deles.

Converter a imagem para SquashFS

O processo necessariamente deve ser feito em Linux, não tem outro jeito. Se você usa Windows, instale o VirtualBox e baixe um sistema Linux para virtualizar. Recomendo o Ubuntu.

Considerando que tudo esteja a contento, vamos montar nosso laboratório. Criaremos um diretório para acesso dos dados da imagem gerada, afim de fazer algumas modificações necessárias antes de converter a imagem para SquashFS. O processo todo consiste nos seguintes passos (antes de executá-los, leia o primeiro parágrafo após os comandos a seguir):

mkdir mnt
kpartx -av imagem_que_vc_criou.img 
mount /dev/mapper/loop999p2 mnt
sed -i 's/^\/dev\/mmcblk/#\0/g' mnt/etc/fstab
sed -i 's/^PARTUUID/#\0/g' mnt/etc/fstab
rm -f mnt/etc/console-setup/cached_UTF-8_del.kmap.gz
rm -f mnt/etc/systemd/system/multi-user.target.wants/apply_noobs_os_config.service
rm -f mnt/etc/systemd/system/multi-user.target.wants/raspberrypi-net-mods.service
rm -f mnt/etc/rc3.d/S01resize2fs_once
mksquashfs mnt nova_imagem_para_berryboot.img -comp lzo -e lib/modules
umount mnt
kpartx -d imagem_que_vc_criou.img

Quando digitar a linha referente ao comando kpartx, um dispositivo de loop será criado. Substitua /dev/mapper/loop999p2 pelo dispositivo correto, trocando apenas a parte referente ao 999.

Ao final desse processo você terá uma imagem com o nome que escolheu, já no formato squashfs. Repare que no exemplo eu usei o nome nova_imagem_para_berryboot.img.

A exclusão do arquivo etc/console-setup/cached_UTF-8_del.kmap.gz  é necessária para o caso de estar utilizando imagens baseadas no Debian, como o Raspbian, para forçar a regeneração do cache de mapa de teclado no primeiro boot. Desse modo, o teclado utilizado será o especificado no Berryboot.

Copiar a imagem em SquashFS para o Berryboot

Agora podemos iniciar o penúltimo passo antes de fazermos o dual boot com Raspberry. Copie a imagem convertida para um pendrive. Ao iniciar o boot com o Berryboot, edite o menu e selecione a opção secundária em Add OS, que é a Copy OS from USB Stick.

Se for necessário reservar alguma memória diferente do padrão para seu sistema, basta nomear a imagem com uma das extensões: .img128 .img192 .img224 .img240. Faça-o conforme a reserva desejada.

Após concluir a instalação do sistema, clique em Exit para reiniciar. Se desejar, pode ir em opções avançadas para mudar a prioridade de boot. E eis seu dual boot com Raspberry!

Dual boot no Raspberry

 

Comments are closed, but trackbacks and pingbacks are open.