I started freelancing part-time when my full-time employer started losing money and laying people off. I had a friend who ran a web design company, he would hear from his customers how they needed web programming, so he sent that work to me. He introduced me to another design firm that had even more clients who needed help. From there it kind of snowballed. By the time I quit my f/t job I had replaced my income with freelance work.
You don't have to freelance full-time, 40 hrs/week. You need to work enough at a good rate to get the income you want. If you were making $100k at a full-time job that's about $50/hr. If you can get $100/hr freelancing you can either work 40 hrs/week and make $200k, or work 20 hrs/week and make $100k.
My advice: Get some customers first. Concentrate on establishing long-term relationships. That will mean doing some not-so-fun work and maybe expanding your range, learning the business domain, doing a little extra for the customer. Try to keep non-billable time to a minimum. Don't spend a lot of time/money on stuff like incorporating, fancy web site, business cards, complicated banking, accounting, lawyers. The biggest non-billable time suck for a lot of freelancers is finding and bidding on jobs. The less churn you have with your customers the less of that gig-hunting you have to do. You want to build a good base of steady customers who will refer you to other customers. Ideally you get your customers on monthly retainers, which turns you into a predictable fixed monthly cost instead of an unpredictable account payable.
Remember that as a self-employed freelancer you have to pay all of your Social Security, Medicare, and health insurance, so factor that in when determining your rate.
In the freelancing articles on my web site (typicalprogrammer.com) I suggest charging for specific tasks and deliverables, not big vague fixed-fee projects, not hourly. That doesn't always work, it depends on the customer and the task. You should have a target rate in mind, of course. If you want to make $100/hr and your customer needs a task done you estimate how long you think it will take and multiply by your rate to get a fixed fee for that deliverable. Then stick to that. Estimating large software projects challenges even the most experienced programmers and managers, but with some experience you should be able to estimate well-defined tasks that take less than around 40 hours. That also keeps you from getting in the position of your customer owing you a lot of money, or you owing them a lot (because you took a 50% deposit up front on a $20k project and you can't deliver, or you client refuses to pay the remainder). I vary my exposure based on my experience and trust with the customer, but for a new customer I would not want to get more than $2,000 to $4,000 in the hole, so I will break their tasks down into small measurable deliverables I can bill for.