Not much is known about the weight distribution of the generalized Reed-Muller code RM q (s, m) when q > 2, s > 2 and m ≥ 2 . Even the second weight is only known for values of s being smaller than or equal to q/2. In this paper we establish the second weight for values of s being smaller than q. For s greater than (m − 1)(q − 1) we then find the first s + 1 − (m − 1)(q − 1) weights. For the case m = 2 the second weight is now known for all values of s. The results are derived mainly by using Gröbner basis theoretical methods.