GParted 0.3.4 - Reviewed


Ok, after a few failed attempts of completing this entry... Here it goes.
A bit of background is required to appreciate the problem which facilitated the need to use G-Parted.
I am attempting to squeeze every bit of life from my aging workstation (modded Dual Athlon MP 2.4GHz).
Eventually, I will pull the trigger on an 64Bit AMD Athlon 4400+ 2.3GHz Brisbane Core. Until then, I'm limping along with older system.

When I initially setup my system, I allotted a mere 437MB to system swap (/dev/hda2) and roughly 7MB to /boot (/dev/hda1). The problem with this setup was that the Linux kernel images have really become much larger over the past few years. The reason for the large growth is that most distros (Slackware included) insist that a vanilla kernel contain modules (read: drivers) for every piece of hardware under the sun. So, when you boot your system hardware is recognized immediately, regardless if it is an old AHA-2940 SCSI adapter or very recent SATA drive.

In general, I typically experiment with at least two kernel images, so a 7MB seems impractical. In fact, one image consumed 99% of the /boot partition. So, what must be done?

I needed to claim some space from my root partition. My entire drive is also a measly 60GB. Yeah, I know I'll need to get a much larger drive, as hard disks are so cheap these days. Luckily, I've got a fileserver (55GB), and two external USB drives at 250GB each. So, I can easily back-up my entire network. Anyway, I digress.

I needed to shrink the root filesystem and partition. The extra space would then be allocated to both swap and /boot.

My goal was to grow swap partition to 850MB and /boot to 30MB. In the past I've used GNU Parted, but the most recent version only supports Reiserfs 4.x. Unfortunately, for me I'm running Reiserfs 3.17. So, I decided to use GNU Parted to grow the /boot partition. One small problem, I forgot to run fdisk, to sync the disk and write out the new disk label. After booting the system, and attempting to write out a new kernel image to the /boot partition, I begin to receive the errors related to the size of the image being too large for /boot.

What ?? How could this be true? Arggh. What to try next? The system had become very sluggish, as I routinely was swapping out to disk. The system physical RAM is 1GB, but I consistently observed load averages 10.9 , 8.9, 14.1.. Well, after consulting a buddy he suggested that I try GParted.
For the uninitiated, GParted could be compared to a tool called Partition Magic in the M$ world.
It non-destructively resizes partitions and filesystems. Though it can resize partitions which have data written to them without harm, it is still wise to back-up your data before you begin using GParted.

Hmm. I wasn't very keen on using a GUI wrapper application to do serious heavy lifting on my system. I have found that most GUI wrapper do a poor job informing the user as to what is _actually_ happening in the background. Because I am a CLI junky, I would prefer not to be kept in the dark.
After much, review and concern, I finally decided to go through with it. I grabbed the ISO image and was off and running.

GParted LiveCD depends upon a number of tools that must reside on your system. For instance, in my case, I needed to manipulate ext3 and reiserfs. So, I needed e2fsprogs and reiserfsprogs. Most modern distros will have these programs.
So, GParted happily made use of the tools below:

  • resize_reiserfs
  • resize2fs
  • mkswap

When you boot with the GParted LiveCD it will not mount your root filesystem. Of course this is a good practice, as running any type filesystem or partition repair tool on a mounted filesystem is strongly discouraged.

After the booting the LiveCD I immediately resized the the reiserfs, by moving the starting part of the filesystem from the beginning of the partition. I freed up roughly 500MB from the root partition.
The GUI allows you to simply use a slider to move to the preferred location on the disk. What I found to be rather odd, is that once you've decided on the operations you want performed on your hard disk, the system begins to execute. There is a status bar that simply cycles back and forth. It took me awhile to figure out what was happening, as there was no drop menu which allowed you to see the progress in a verbose format. To their credit, a very small line of text was displayed, which described what was happening in the background. Of course not to the level expected by any CLI junkie ;)

Essentially, the entire 60GB disk image was being copied. The entire evolution took roughly 2.5 hrs. Copying the image, checking the integrity of the disk , and finally resizing the partition. Once /dev/hda3 was resized, the swap space increase went rather quickly. I then immediately, ran fdisk /dev/hda and wrote out the changes to disk, so that the disk label could be updated. I gather that this may have already been done by GParted, but as stated earlier, there was no simple means to discover this information. Finally, I noticed that GParted had snapshot capability.. Not really sure what the snapshot is supposed to achieve (maybe screenshot??), but after a few mouseclicks, I gave up. None of the menu items worked for me. Perhaps the underlying programs were missing?

As stated previously, GParted really is just a front-end for some very powerful GNU tools. Overall the experience was a positive one, a more robust status indicator, complete with readable and verbose text would make this product much better. I got the job done and squeezed more life out of an aging system ;)

  • Mtools and Parted save the day
  • Slackware Excursions - Rescuing a failed LUKS / LVM install
  • Puppy 2.12
  • Intelligent Design - Revisited
  • Monthly Archives


    OpenID accepted here Learn more about OpenID
    Powered by Movable Type 4.25

    About this Entry

    This page contains a single entry by AG published on April 15, 2007 5:43 AM.

    Passing of Greatness was the previous entry in this blog.

    Never let children use windows is the next entry in this blog.

    Find recent content on the main index or look in the archives to find all content.