1

I have an embeded system which I finally got stable by doing multiple partitions like so:

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

The problem, when I did this, I upgraded the kernel and software packages and the software does not perform near as well. Now I want to revert back to a version that was partitioned like so:

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

Here is the way I want the mount points:

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)

I have the dd of the older O.S., how can I do this?

1 Answer 1

2

Unless someone comes up with something better I think the only thing for you to do is:

  1. Restore your backup.
  2. Resize your root partition (using resize2fs).
    (You will need a boot disk for this - you can't resize partitions live as far as I know)
  3. Create the additional partitions.
  4. Boot into your OS single user, and mount / read-write, then for each new partition:
    • Mount the new partitions under /mnt
    • Move your files over
    • unmount /mnt
    • Add the partition to /etc/fstab

Depending on the size of your hard drive and the amount of data you need to move around you may have to cycle through steps 2 through 4 a few times (once for each partition).
Also note that if your root partition is very full you may not be able to create new partitions that are large enough to hold all the data you want to move over, which would mean you're out of luck.

You may also want to set up a backup system that isn't dd so this isn't quite so painful in the future (and so you can restore data to your system without having to muck around with the disk image) -- Bacula would be my suggestion.

2
  • hmm, by the time I do that I might as well just rebuild the whole thing. Jan 20, 2012 at 20:55
  • @JonathanHenson Pretty much, yeah.
    – voretaq7
    Jan 20, 2012 at 21:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .