converter instalação de linux de partição única em várias partições com raiz somente leitura

1

Eu tenho um sistema embeded que finalmente fiquei estável fazendo várias partições da seguinte forma:

Disk /dev/sda: 4017 MB, 4017807360 bytes
255 heads, 63 sectors/track, 488 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000e4b5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          25      194560   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              25         489     3726337    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5              25         329     2440192   83  Linux
/dev/sda6             329         377      386048   83  Linux
/dev/sda7             377         456      633856   83  Linux
/dev/sda8             456         462       51200   83  Linux
/dev/sda9             463         489      210944   82  Linux swap / Solaris

O problema, quando fiz isso, atualizei o kernel e os pacotes de software e o software também não funciona. Agora quero reverter para uma versão que foi particionada da seguinte forma:

Disk /dev/sda: 4017 MB, 4017807360 bytes
98 heads, 57 sectors/track, 1404 cylinders
Units = cylinders of 5586 * 512 = 2860032 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008aff7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1405     3921920   83  Linux

Aqui está a maneira que eu quero os pontos de montagem:

rootfs on / type rootfs (rw)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=1546156k,nr_inodes=216373,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmod
e=000)
/dev/disk/by-uuid/3882d0e8-bdc0-49ef-a62a-9208ae70ce9b on / type ext3 (ro,noatim
e,errors=remount-ro,barrier=0,data=ordered)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,relatime,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,relatime)
/dev/sda7 on /home type ext3 (rw,noatime,errors=continue,barrier=0,data=ordered)
/dev/sda8 on /tmp type ext3 (rw,noatime,errors=continue,barrier=0,data=ordered)
/dev/sda5 on /usr type ext3 (rw,noatime,errors=continue,barrier=0,data=ordered)
/dev/sda6 on /var type ext3 (rw,noatime,errors=continue,barrier=0,data=ordered)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
gvfs-fuse-daemon on /home/hhp/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,
relatime,user_id=1000,group_id=1000)

Eu tenho o dd do antigo O.S., como posso fazer isso?

    
por Jonathan Henson 20.01.2012 / 20:22

1 resposta

2

A menos que alguém encontre algo melhor, acho que a única coisa a fazer é:

  1. Restaure seu backup.
  2. Redimensione sua partição raiz (usando resize2fs ).
    (Você precisará de um disco de inicialização para isso - você não pode redimensionar partições ao vivo, tanto quanto eu sei)
  3. Crie as partições adicionais.
  4. Inicialize em seu usuário único do sistema operacional e monte / leitura-gravação e, em seguida, para cada nova partição:
    • Monte as novas partições em /mnt
    • Mova seus arquivos para
    • desmontar /mnt
    • Adicione a partição a /etc/fstab

Dependendo do tamanho do seu disco rígido e da quantidade de dados que você precisa mover, talvez seja necessário percorrer as etapas de 2 a 4 algumas vezes (uma vez para cada partição). Observe também que, se sua partição raiz estiver muito cheia, talvez você não consiga criar novas partições grandes o suficiente para armazenar todos os dados que deseja mover, o que significaria que você está sem sorte.

Você também pode querer configurar um sistema de backup que não seja dd , para que isso não seja tão doloroso no futuro (e para que você possa restaurar dados em seu sistema sem ter para mexer com a imagem de disco) - Bacula seria minha sugestão.

    
por 20.01.2012 / 21:39