Sorry, Partition Image is not a high level program, as Ghost. Ghost makes a file copy, and we obtain a file
near a tar.gz archive, with other details (as the boot sector). But PI works in a low level, as Drive Image: it
copy used blocks of the disk. Then, it doesn't know where files are written, and cannot allow to see files in the
image without restoring. But maybe it will be possible in next vesrions. We will try to make partimage image files
mountable: a driver, as the loop one, could allow to make an image file be a block device. If you know how to write
block device drivers, please write us.
The current version can only read/write from/to a partition. PI doesn't use
the partition table at all. (The linux kernel read it, and PI can directly
use hda1, hda2, ...). But I d'like to implement this in the future, to allow
users to select partition to save/restore from a list (with name, size,
filesys, usage, ...), and PI would be able to create the partition if need at
restore, or resize it...
You can't restore to a smaller partition (you will have an error), but it's
possible to restore to a lager one. In this case, some space will be lost (I
suppose the OS cannot use all the size). PI don't have a resize feature. I
d'like to add this in the future too. It will allow to restore into a smaller
or larger partition. In deed, PI is low level. It uses data blocks. Then resizing is
possible, but that's a complex feature to implement. With some File Systems
made to be easily resizable (as NTFS, ext2, ReiserFS), it may be easy, but
with FAT, it's hard to do. For example, when resizing from 1,5 GB to 3 GB,
you must change FAT16 into FAT32... You can use GNU Parted to do it.
NTFS write support, as UFS write support are dangerous. It can damage partitions,
and corrupt data. That's why it's not enabled in partimage-bootdisk. Users who
don't know this problem could lose their data if the support was enabled.
If you need the write support, you will have to use another bootdisk. Plese, have a
look at the question in this FAQ which explains how to build your own bootdisk.
Many users write us because they can't use the newtork (or another device). In most cases, the
problem comes from the bootdisk/bootcd which does not support all drivers.
Space is missing in both partimage-bootdisk and partimage-rootdisk. We can't include all drivers
that exists in the kernel sources. That's why only the most common NE2000 newtork cards, and the most
common AIC7xxx SCSI drivers are supported. It provides support for a lot of devices, but some of them
need another driver. For example, 3COM newtork cards are not supported. There are many ways to solve
this problem:
You can use another bootcd distribution, with more drivers, and which can be easily rebuild
with your own options. Two projects provides eltorito bootable CD-Rom with stable versions of partimage:
http://rescuecd.sourceforge.net/ and http://mkcdrec.ota.be/
You can also replace partimage-bootdisk with a slackware bootdisk. Slackware provide a lot of
bootdisks, and each of them include a kind of drivers. For example, there's one with all the SCSI drivers,
another with all network drivers, and another with USB support. You can choose the one which will support
your device. The full list of bootdisks of Slackare 8 can be find here:
ftp://ftp.slackware.com/pub/slackware/slackware-8.0/bootdsks.144/.
You can compile your own kernel. That's the best way to be sure all your devices will be supported.
We won't tell you how to compile your kernel here. We will tell you how to use a compiled vmlinuz/bzImage to create
a partimage bootdisk. But first, when compiling your kernel, you must include some options: In the block-devices page,
you must choose Yes for the last four options:
Loopback device support
Network block device support
RAM disk support with a default size of 40960 (that's not an error) disk size
Initial RAM disk initrd support.
In the Filesystems,
you must choose Yes for the minix FS support. In the loadable module support page, you must choose No, in order to
disable modules. After compiling your kernel, you will obtain bzImage. You must type three commands to make it the same thing as
an official partimage-bootdisk image:
Create a etc subdirectory in the chroot directory and put files in it:
/etc/ld.so.conf
/etc/ld.so.cache
/etc/passwd
/etc/shadow
directory /etc/terminfo
Create a lib subdirectory and put files into it:
/lib/libc.so.6 and its linked file
/lib/ld-linux.so.2 and its linked file
/lib/libnsl.so.1 and its linked file
/lib/libnss_compat.so.2 and its linked file
Create a dev subdirectory and run mknod tty c 5 0 in it.
If needed, also put partimagedusers, partimaged.key and partimaged.cert
into apropriate location.
If partimaged --chroot {your directory} does'nt fail, you'll be able to run
partimaged as daemon into chrooted environnement with
`partimaged -D --chroot {your directory}'