Using a x86 linux machine and a USB CF Reader.
== 1. mount voyage CF and backup everything ==
mount /dev/sdb1 /mnt/uba
cd /mnt/uba
tar cvpzf /tmp/voyage-backup.tgz ./
cd /
umount /mnt/uba
== 2. mount larger CF, create partition ==
fdisk /dev/sda
* create new partition, ext2 type linux
* set bootable flag
* write changes
== 3. make filesystem and apply label ==
mkfs.ext2 /dev/sda1
tune2fs -i 0 -c 0 /dev/sda1 -L ROOT_FS
== 4. restore data ==
mount /dev/sda1 /mnt/uba
cd /mnt/uba
tar xvpzf /tmp/voyage-backup.tgz -C ./
== 5. setup grub again ==
//we are still in /mnt/uba//
rm boot/grub/device.map
echo "(hd0) /dev/sda" > boot/grub/device.map
//keep the / dev of current system before chroot//
mount -o bind /dev /mnt/uba/dev
//chroot and run grub//
chroot /mnt/uba /usr/sbin/grub --device-map=/boot/grub/device.map
> setup (hd0) (hd0,0)
> quit
umount dev
cd ..
umount uba
== 6. done! ==