I'm actually doing it right now, I went the whole 2D from scratch. It definitely is way more work and takes way more time than I thought. 2nd go round I really would like to just use an already existing engine.
But I am learning... ALOT.... very time consuming.
Anyways, If you are totally new to this, I would start with http://nehe.gamedev.net if you want to go the opengl route.
Some people might reply his code is old and outdated, but you can still learn from it. Unfortunately, I don't know of any other active sites that has tutorials as in depth as nehe.