Let $\mathscr{C}$ be a DG category (not much will be lost if you assume that $\mathscr{C}$ has one object, i.e. is a DG algebra). One way to construct the unbounded derived category of $\mathscr{C}$-modules is by using semi-free resolutions. Recall that a DG module $F$ is free if it is a sum of shifts of corepresentable modules, or semi-free if it has an exhaustive filtration $0 = F_0 \subset F_1 \subset \cdots \subset F$ such that the subquotients $F_{n+1}/F_n$ are free.
I've seen the existence of semi-free resolutions stated as follows: for any DG module $M$, there is a semi-free module $F$ and a surjective quasi-isomorphism $F \to M$. But how does one actually construct $F$? I'm especially confused about how to make $F \to M$ surjective, since generators of free modules are cycles.
Edit: I found a construction of $F \to M$ in Drinfeld's paper "DG quotients of DG categories." Start by choosing a free module $F_1$ and a morphism $F_1 \to M$ which is surjective on cohomology. Now induct: given $F_n \to M$, let $C_n = \text{Cone}(F_n \to M)$ then find a free module $P_n$ and a morphism $P_n \to C_n$ which is surjective on cohomology. Using the map $C_n \to F_n[1]$ we get $P_n \to F_n[1]$, and Drinfeld takes $F_{n+1} = \text{Cone}(P_n[-1] \to F_n)$. Of course $F$ is the direct limit of the $F_n$.
This is nice, but I still don't understand how to make $F \to M$ surjective. Does this happen automatically for the construction given above, or do we have to do something extra?