Rather than recreate the wheel...
Here is the developer's thread on Link2SD
Read it thoroughly!!!
Here are some links on Ext2, Ext3 and Ext4 file systems and why Ext 4 is preferable over Ext2 if you can do it with your ROM's kernel.
Here's a debate over which to use. You be the judge and go with what makes sense for you.
What I'm going to take you through is creating the second partition on your SD card to be able to use it. We are going to use Minitool Partition Wizard Pro Home Edition (Freeware)
to do this on a Windows machine.
There are other ways to do this including Linux, from recovery, etc, but this is a free and simple method that DOES NOT LOSE YOUR EXISTING SD CARD DATA!!!
First things first!
Repeat after me...
1/ I have a stock kernel in my ROM. My ROM only supports FAT32 and Ext2 for the second partition and I will not format it Ext4 and then come asking why it's not mounting correctly! I will format it Ext2 for best performance.
2/ I am not S-OFF or HTCDev unlocked AND rooted. I will NOT come asking if this will work or WHY it's not working at all!
3/ I WILL NOT TRY MOUNTING MY PHONE AS A HARD DRIVE TO DO THIS. I WIL READ THE INSTRUCTIONS AND USE A CARD READER!
So the prerequisites are:
1/ HTC Dev Unlocked OR S-OFF
2/ Permanently rooted
3/ A windows machine with Minitool Partition Wizard Pro Home Edition (Freeware)
Installed or Hirens Boot CD
which has a bootable windows version with PWPH installed on it.
4/ An SD card appropriate for the job. The faster the better! For 16 and 32 GB I really do recommend splurging on the Class 10...
1/ Boot up your Hirens or Windows machine
2/ Make sure that Show Hidden Files and Folders is ON so you can see some of the hidden folders present on an android system's SD card
3/ Insert your Micro SD card into a reader and attach it to the computer
4/ Make a folder on your computer and back up your entire SD card's main partition to it including hidden files and folders JUST TO BE SAFE. (Remember if you do this right you won't have to lose your card's contents, unlike the recovery method.
5/ Install Partition Wizard Pro Home Edition or check that its on your Hiren's bootable windows cd
6/ Run Partition Wizard Home Edition.
7/ Look for your SD card along the bottom and identify your FAT32 Partition
8/ Right click on it and choose "Move/Resize Partition"
9/ Use the down arrow in the middle field "Partition Size:" to change the value and consequently the value of the "Free Space After: field as well until you have created around 1027 MB of free space. *Warning - Do not create free space before the first primary FAT32 partition!!! If you do discard changes and start over!
10/ Click "OK"
11/ Identify the new unallocated space on the drive map.
12/ Right click on it and choose "Create"
13/ When you get the warning about the partition not being able to be used in Windows click "Yes" to continue
14/ Choose Ext2, Ext3 or Ext4 for partition type based on whether your kernel supports Ext4. If it does choose it! If you don't know choose Ext2 to be safe. I would avoid Ext3 unless you have to. 2 or 4 are preferred
*NOTE!!! You cannot resize an Ext partition after you make it. You can only move it around so choose your size wisely! I find a GB to be plenty and I have 150+ linked apps with 360 MB free on SD card partition 2 but you can have up to 2 GB.
15/ Make sure it is a primary not a logical partition
16/ Name it if you want.
17/ Click "OK" to continue
18/ Click the BIG "Apply" button in the top left of the window
19/ Choose "Yes" to continue from the pop up
20/ Let it do it's work.
Congratulations! Step 1 Complete!
Now to step 2:
1/ Eject and place your SD card back into your phone
2/ Boot up your phone
3/ Install Link2SD from the Android Market
4/ Run it
5/ On first run it will ask you the type of partition your second SD card partition is. Choose Ext2 or Ext4 depending on which you made it.
6/ Follow the directions to reboot your phone
Congratulations! Link2SD is now working on your phone!
When you click the menu button in Link2SD and choose "Storage Info" you should see three memory spaces. Internal, SD Card, and SD Card 2nd Part.
At this point I recommend you Menu click and go to Settings and choose "Autolink" to automatically link programs (.APK), dalvik cache files (.DEX) and library files (libs) to your SD Card 2'nd partition when a new program is installed.
Now for some strategy!
You say, "I've got all this external space! Why bother putting any programs on the internal space?"
Well...SPEED MAN! SPEED!
I keep Launchers, Widgets, Background processes like Titanium Backup, etc, on the internal as space allows to allow for speed when booting. The internal memory is faster than your SD card and keeping these programs here helps a lot in speeding up your boot time. This is an option with Link2SD that you DON'T have with Data2SD or Data2Whatever!
You can also keep commonly accessed programs like Tapatalk for example, on this internal fast memory.
You can also mass move by multi selecting, several programs to and from either internal, SD card, or SD card second partition. Ideal for your initial move to your new second partition of your apps pre-installed prior to link2sd.
People wanted instructions for a third swap so see post two for additional steps.
*If you have issues with your primary SD card partition not working right or perhaps you decided to wipe the whole card and create them both/or all three from scratch, remember that this FAT32 partition 1 has to be set ACTIVE and all partitions have to be primary not logical.
*If you cannot mount Ext2 or Ext4 make the second partition FAT32. It will work for all Wildfire S Models and all ROM's. Try the others first as they are preferred for performance and stability.
*If you don't have a card reader it's been reported that you can use your phone in hard drive mode to achieve the same thing, followed by a reboot but I have heard many cases where this causes troubles so I personally don't recommend it but hey. You gotta do what you gotta do.
*Some users are reporting with MarvelC's that they needed to use Ext3 so I have updated the tutorial to reflect this.
*If you don't immediately see a change in internal memory after linking apps relax. It will show up. Sometimes it just is a little delayed.
That's pretty much it for now.
Enjoy and if this tutorial helped you or you like it, please click "THANKS"!