Clonando cartão SD e editando o arquivo imagem para gravação em cartões menores – Exemplo de uso: Raspberry

Quando se faz necessário a cópia de um cartão com sistema operacional (com boot) é necessário realizar um processo de clonagem; este processo somente pode ser realizado para cartões de mesmo tamanho ou superior.

Abaixo descrevo os passos para adequar um arquivo de imagem clonado para tamanhos menores. Fonte de pesquisa:  canal do youtube – Dušan Ogrizović

Passo 1: Clonar o cartão no HD

Criar um diretório para os arquivos de imagem

mkdir sd-image

Entrar no diretório

cd sd-image

Verificar o nome do cartão com o comando lsblk, a saída deverá ser algo do tipo:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda           8:0    0 931,5G  0 disk 
├─sda4        8:4    0   9,3G  0 part [SWAP]
├─sda2        8:2    0    37G  0 part /
├─sda3        8:3    0 884,8G  0 part /home
└─sda1        8:1    0   512M  0 part /boot/efi
mmcblk0     179:0    0   7,4G  0 disk 
├─mmcblk0p2 179:2    0     1K  0 part 
├─mmcblk0p7 179:7    0     6G  0 part /media/xxx
├─mmcblk0p5 179:5    0    32M  0 part /media/yyyy
├─mmcblk0p1 179:1    0   1,2G  0 part 
└─mmcblk0p6 179:6    0    63M  0 part /media/boot

Gravar a imagem do SD no HD, utilizando o comando dd

sudo dd bs=4M if=/dev/mmcblk0 of=SD-image.img

Este processo poderá levar horas, dependendo da velocidade do cartão.

Passo 2: Editar a imagem do SD

Para ser possível editar o tamanho das partições da imagem será necessário associar o arquivo a um dispositivo do tipo loop (pseudo-dispositivo, usado em sistemas linux para permitir acesso como um dispositivo de bloco).

Associar o arquivo ao dispositivo /dev/loop0

sudo losetup /dev/loop0 SD-image.img

Informar ao sistema operacional a mudança na tabela de partições:

sudo partprobe /dev/loop0

Editar a imagem

Poderá ser feito por quaisquer meios, como sugestão o gparted.

sudo gparted /dev/loop0

Desmontar o dispositivo /dev/loop0:

sudo losetup -d /dev/loop0

Listar a tabela de partições da imagem

sudo fdisk -l SD-image.img
Disk SD-image.img: 15 GiB, 16156459008 bytes, 31555584 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: 0x0000d60b
Dispositivo  Inicializar   Start      Fim  Setores   Size Id Tipo
SD-image.img1                8192  2427734  2419543   1,2G  e FAT16 W95 (LBA)
SD-image.img2             2430976  15261695 12830720  6,1G  5 Estendida
SD-image.img5             2433024  2498557    65534   32M   83 Linux
SD-image.img6             2498560  2627583   129024   63M   c W95 FAT32 (LBA)
SD-image.img7             2629632  15258453 12628822  6G 83 Linux

Localizar o maior número do final de bloco

Neste exemplo: 15261695.

Redimensione a imagem

sudo truncate --size=$[(15261695+1)*512] rasp-dd.img

Como a contagem dos blocos começa com 0 é necessário adicionar 1.

Verifique o tamanho da nova imagem

ls -lh

Passo 3: Clonar o arquivo imagem no cartão SD

Copiar a imagem em um cartão SD de tamanho compatível

sudo dd bs=4M if=SD-image.img of=/dev/mmcblk

Este processo poderá levar horas, dependendo da velocidade do cartão.

Passo 4: Redimensionar as partições no cartão SD

Finalmente, é possível usar o gparted para redimensionar diretamente no cartão as partições para otimizar o espaço.

Espero que seja útil!

Anúncios

Lançado kernell 4.6

specim_2013190610481.jpg

Com o codinome de “Charred weasel” ou Doninha carbonizada em português, Linus Torvalds lançou no último dia 15 o novo kernell do linux (4.6). Dentre as novidades, temos:

  • Sistema de arquivo OrangeFS;
  • Atualizações de drivers;
  • Atualizações de arquitetura para ARM e ARM64, X86, PowerPC (PPC), s390, Xtensa e m68k;

Para saber mais:

http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.6-Kernel-Features, http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.6-Released,  http://www.phoronix.com/scan.php?page=article&item=linux-46-features&num=1.

 

Ah, a foto acima é da tal da doninha!

Até mais ver.

 

Problema com o griffith (plugin do imdb ) no ubuntu

Entusiasmado com o saucy salamander, nos primeiros dias de uso, tentei adicionar um filme na minha biblioteca e o griffith não abriu!!

O erro era o seguinte: “griffith crashed with ImportError in /usr/share/griffith/lib/db/validators.py: cannot import name InstrumentationManager”. Após perder um longo tempo vendo e revendo dependências etc etc., achei a solução no site https://bugs.launchpad.net.

Trata-se de uma incompatibilidade entre o validators.py e o sqlalchemy 0.8, lá mesmo temos uma versão do validators.py: http://svn.berlios.de/svnroot/repos/griffith/trunk/lib/db/validators.py.

É só baixar e atualizar no /usr/share/griffith/lib/db.

The end.

Verifique os comentários para atualizações sobre o assunto.