Como posso imaginar um dispositivo Ubuntu embutido na rede?

1

Informações básicas

Eu tenho um sistema embarcado rodando o Ubuntu 12.04 que eu preciso atualizar para corrigir algumas vulnerabilidades de segurança. As alterações incluirão a atualização para o Ubuntu 14.04, a alteração de alguns arquivos de configuração localizados em / etc, / var, / media e também a atualização do software do aplicativo. Existem cerca de 1500 desses dispositivos que as atualizações precisarão ser enviadas para que eu esteja inclinado a uma solução que não exija acesso físico ao dispositivo.

Informações do disco :

root@HBOX-01003d:/dev# sudo fdisk -l

Disk /dev/mmcblk2: 7851 MB, 7851737088 bytes 4 heads, 16 sectors/track, 239616 cylinders, total 15335424 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 Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System /dev/mmcblk2p1   *        2048      100351       49152    c  W95 FAT32 (LBA) /dev/mmcblk2p2          100352     1329151      614400   83  Linux /dev/mmcblk2p3         1329152    15335423     7003136   83  Linux

Disk /dev/mmcblk2rpmb: 0 MB, 131072 bytes 4 heads, 16 sectors/track, 4 cylinders, total 256 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 Disk identifier: 0x00000000

Disk /dev/mmcblk2rpmb doesn't contain a valid partition table

Disk /dev/mmcblk2boot1: 2 MB, 2097152 bytes 4 heads, 16 sectors/track, 64 cylinders, total 4096 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 Disk identifier: 0x00000000

Disk /dev/mmcblk2boot1 doesn't contain a valid partition table

Disk /dev/mmcblk2boot0: 2 MB, 2097152 bytes 4 heads, 16 sectors/track, 64 cylinders, total 4096 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 Disk identifier: 0x00000000

Disk /dev/mmcblk2boot0 doesn't contain a valid partition table root@HBOX-01003d:/dev# sudo parted -l Error: /dev/mmcblk2rpmb: unrecognised disk label

Error: /dev/mmcblk2boot0: unrecognised disk label

Error: /dev/mmcblk2boot1: unrecognised disk label

Model: MMC MMC08G (sd/mmc) Disk /dev/mmcblk2: 7852MB Sector size (logical/physical): 512B/512B Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags  1      1049kB  51.4MB  50.3MB  primary  fat32        boot, lba  2      51.4MB 681MB   629MB   primary  ext3  3      681MB   7852MB  7171MB  primary  ext3

Primeira tentativa de criação de imagens

A partir dessas informações, concluí que a unidade mmcblk2 era a unidade principal usada neste sistema e decidiu criar uma imagem dessa unidade. Eu usei dd link para criar a imagem e a segunda resposta neste post para ajudar a escrever os comandos corretos: link

Eu usei o seguinte comando para copiar, compactar e enviar a imagem para um servidor remoto.

dd if=/dev/mmcblk2 | gzip -c --fast | ssh [email protected] 'dd of=/home/administrator/clone/ubuntu14.gz'

Esta foi a saída:

15335424+0 records in
15335424+0 records out
7851737088 bytes (7.9 GB) copied, 2038.58 s, 3.9 MB/s
6247083+1 records in
6247083+1 records out
3198506839 bytes (3.2 GB) copied, 2023.36 s, 1.6 MB/s

Na primeira vez, rodei este comando para entrar no sistema remoto, puxar a imagem e copiá-la para a caixa

ssh [email protected] 'dd if=/home/administrator/clone/hboxClone2.gz' | gunzip -1 - | dd of=/dev/mmcblk2

Isso, obviamente, não funcionou, pois eu fui iniciado a partir da unidade que eu estava tentando gravar e ele bricked o dispositivo. Assim, eu flashed o dispositivo usando o nosso processo existente (requer uma caixa peedi, conexão serial e um servidor de firmware) e reiniciei.

Perguntas

Então, tenho algumas perguntas de baixo nível que acho que precisam ser respondidas antes que eu possa continuar com o desenvolvimento de uma solução.

1) A geração de imagens da unidade mmcblk2 será suficiente para criar uma réplica do sistema? É difícil dizer na saída do fdisk se tudo está ou não armazenado apenas no disco mmcblk2.

2) A partição 1 ou 2 pode ser utilizada para a geração de imagens? Eu estou pensando que eu possa ser capaz de fazer a imagem apenas da primeira partição, escrever em uma das outras duas partições e trocar de qual eu inicializo? Eu li em algum lugar on-line sobre a troca de unidades e estou querendo saber se esse mesmo conceito pode ser aplicado às partições. A outra coisa que me preocupa é que pode haver algo escrito nessas partições (essa é a razão pela qual eu tentei imaginar a unidade inteira).

Como corrigir o UUID no Grub após a restauração de outra máquina?

Aqui está o que eu tenho no arquivo fstab:

# UNCONFIGURED FSTAB FOR BASE SYSTEM
#/dev/mmcblk0p2   /           auto   errors=remount-ro   0   1
#/dev/mmcblk0p1   /boot/uboot auto   defaults            0   2
rootfs               /                    auto       defaults              1  1
proc                 /proc                proc       defaults              0  0
devpts               /dev/pts             devpts     mode=0620,gid=5       0  0
usbdevfs             /proc/bus/usb        usbdevfs   noauto                0  0
tmpfs                /var/volatile        tmpfs      defaults              0  0
tmpfs                /media/ram           tmpfs      defaults              0  0
/hibernateswap           none                             swap           sw
                           0  0
# uncomment this if your device has a SD/MMC/Transflash slot
#/dev/mmcblk0p1       /media/card          auto       defaults,sync,noauto  0  0 
    
por Kristina 15.11.2016 / 04:34

0 respostas