One of the sneaky tricks that Lie theorists play on students is that they tell them about Cartan subalgebras, and then at some point, they pull the rug out and say "just joking; really you should think about the abstract Cartan." The abstract Cartan is a Borel mod its radical. You might say "which Borel?" but it doesn't matter; all these quotients are canonically isomorphic (any two Borels are conjugate, and any two ways of making them conjugate differ by an element of the Borel).
Note, a Cartan subgroup of your Lie algebra isn't canonically isomorphic to the abstract Cartan; you have to choose a Borel containing that Cartan subgroup first. That's where the symmetry is broken.
The abstract Cartan has a canonical notion of positive weight: you look at the action of $B/N$ on the quotient of the Lie algebra $n/[n,n]$, and the weights that appear there are your simple roots (all the positive roots can be obtained by taking the associated graded for the filtration $n\supset [n,n]\supset [n,[n,n]]$). Again, any way of making Borels conjugate carries these weights to the corresponding ones for the other Borel. So once you've picked a Borel, you can use the isomorphism of the abstract Cartan to your chosen one to get a root system on your chosen one.
EDIT: As Allen notes below: I learned most of this from the book of Chriss and Ginzburg.
You get fundamental coroots by taking minimal parabolics over your Borel (those obtained by adding one negative simple root). There's a canonical map from the abstract Cartan of $P/[P,P]$ to that of $G$, and there's unique coweight of $P/[P,P]$ (which is $SL_2$ or $PSL_2$) so that the action on the unique simple root space has eigenvalue 2. The image of that is the simple coroot.