Ok you have no free space in hda to create another partition
As mentioned you could use parted, I used it once to resize a partition
Please, keep in mind that there is a risk to
loose all your data, it worked just fine
for me though
To do this, you have to boot from a bootable linux cdrom (or floppy) with the
parted program inclued, then issue the following commands
Code:
parted /dev/hda
(parted) print
# output should like :
Minor Start End Type Filesystem Flags
1 xxx xxx primary linux-swap
2 xxx xxx primary ext3
At this point, note the Start number for hda2 (the second line, second column)
Then issue this command :
Code:
(parted) resize 2 XXX 8000
(parted) quit
2 is the minor number of the partition (hda2), XXX is the start number you noted previously
and 8000 is the new partition size in megabytes (for example)
Then remove your cdrom and reboot, hopefully it worked
[edit]
It seems that from your output, the swap partition is hda2...
(I did not read it well)
So you will have to delete hda2 first, then resize hda1
then create a new hda2 partition starting at the end number for hda1
(use the print command after each operation and use the help command too)