Surjective map from a trivial bundle to any vector bundle I was reading over some notes on vector bundles which make use of the following fact:

If $X$ is a $n$-manifold and $V$ is a real vector bundle on $X$ of rank $k$, then there exists a surjective map of vector bundles from the trivial bundle $X \times \mathbb{R}^{n+k} \to V$.  

I'm not very accustomed to working with bundles.  Can someone give an argument for this?  
 A: Here is a proof of a slightly less sharp result:
Theorem. Let $X$ be a smooth $n$-manifold and $V\to X$ is a real rank $k$ bundle on $X$. Then $V$ is the quotient of a trivial bundle $E\to X$ of rank $k+n+1$. 
(The same result holds in the context of topological manifolds and even CW-complexes.) 
Proof. 
Step 1. 
Lemma. There exists a covering of $X$ by $n+1$ open subsets $U_0,..., U_n$ 
such that each $U_i$ is a disjoint union of subsets of $X$ diffeomorphic to open $n$-disks.
Proof. First, triangulate $X$ (this is possibly since $X$ is assumed to be smooth). Define $U_i$'s inductively by starting with $U_0$ which is a disjoint union of small balls around vertices of the triangulation. Next, for each edge $e$ of triangulation define a subinterval $e'\subset e$ disjoint from the end-points of $e$ and such that the endpoints of $e'$ are contained in the components of $U_0$ containing the end-points of $e$. Then for each $e'$ take a small open neighborhood $U(e')$ of $e'$ in $X$ (diffeomorphic to open $n$-disk). This can be done in such a way that for $e_1'\ne e_2'$, $U(e_1')\cap U(e_2')=\emptyset$. Then set
$$
U_1:= \bigcup_{e'} U(e'). 
$$
Now repeat this process inductively for each skeleton of the triangulation. qed 
Step 2. For each $U_i$ as above, define a smooth function $\eta_i$ on $X$ which is strictly positive on $X$ and vanishes on $X\setminus U_i$. 
Step 3. Observe that each bundle $E_i= V|U_i$ is trivial. Let $s_{ij}, j=1,...,k, i=0,...,n$ denote smooth sections trivializing these bundles. Define
new sections 
$$
\sigma_{ij}= \eta_i s_{ij}, j=1,...,k, i=0,...,n. 
$$
Extend these sections to sections of $V$ by zero outside $U_i$; I will retain the name $\sigma_{ij}$ for the extensions. Let $V_j$ denote the subspace of sections of $V$ spanned by the sections $\sigma_{ij}, j=1,...,k$. Define trivial bundles 
$$
\xi_i= X\times V_i,i=0,...,n
$$
on $X$. Define the  trivial bundle
$$
E=\oplus_{i=0}^n \xi_i 
$$
of rank $k+n+1$ on $X$. 
Step 4. For each $\xi_i$ we have a natural morphism of bundles 
$$
\xi_i\to V, (\sigma_{ij}, x)\mapsto \sigma_{ij}(x). 
$$
These morphisms extends to a morphism
$$
\mu: E\to V
$$
via sum of the morphisms. Now, I claim that $\mu$ is surjective. Indeed, for 
each $x\in X$ there exists $i$ such that $x\in U_i$. Since sections $s_{ij}$ 
(and, hence, $\sigma_{ij}$) trivialize the bundle $V|U_i$, for each $v\in V_x$ (fiber of $v$ at $x$), there exist scalars $t_1,...,t_k$ such that
$$
v= \sum_{j=1}^k t_j \sigma_j. 
$$
qed
A: The result is due to Swan if $X$ is compact and to Milnor in the general case.
The basic idea is that on an open subset $O\subset X$ over which $V$ is trivial you can of course find finitely many sections $s_i\in \Gamma(O,V)$ such that for $x\in U$ the $s_i(x)$ generate the fiber $V(x)$.
Using normality of $X$ you can find a slightly smaller open subset $U\subset O\subset X$ and global sections $S_i\in \Gamma(X,V)$ such that $S_i|U=s_i$ and thus such that the $S_i(x)$ generate the fiber $V(x)$ for $x\in U$.
The various $S_i$'s thus obtained then allow you to obtain finitely many global sections of $V$, say $N$,  generating every fiber of $V$ or equivalently give you a surjective morphism of vector bundles $X \times \mathbb{R}^{N} \to V$.
This is easy if $X$ is compact but more difficult if it is only paracompact.
This method of proof however does not yield an explicit value for $N$ and even less  the value $N=n+k$.  
As for the literature I recommend the seminal paper by Swan Vector bundles and projective modules,  Milnor's Characteristic classes and Hirsch' s Differential Topology : the theorem you need is proved there as Theorem 3.3, page 100.
