The weakest of these is
c) The distribution of the Xi values must be normally distributed since usually the x's are fixed. We usually make the errors i.i.d.
rvs which then makes the Y's
rvs. BUT there are all kinds of programs to analyze the data if the underlying distribution isn't normal or if the variances aren't constant... BUT in the basic situation the x's aren't even random, they are fixed. HOWEVER there is the random effect model, where the x's are not constant.
Some of this is lame, under normality independence is equivalent to uncorrelated.
And there is weighted least squares, which means that the epsilon's do not have constant variance.
BUT under the most basic situation, we need not have the x's as random.