Normally I see $GF(p^n)$ defined in terms of a reducing polynomial $P(x)$ of degree n, where the coefficients are elements of $GF(p)$. For example, $GF(2)[x]/\langle x^4+x+1 \rangle$ or $GF(2)[x]/\langle x^8+x^4+x^3+x+1 \rangle$. The number of primitive elements (multiplicative generators) for $GF(p^n) = ϕ(p^n-1)$ (where $ϕ$ is the totient function). For $GF(2^4)$, there are 8 generators, for $GF(2^8)$ there are 128 generators, and typically one of the generators is specified. If $P(x)$ is primitive, then one of the generators is $x$. There are algorithms to create a complete list of all generators for any $P(x)$ if needed.
I sometimes see an alternative based definition based on a polynomial of primitive elements | multiplicative generators. Let $A(\alpha)$ represent such a polynomial, where the coefficients are elements of $GF(p^n)$. For example, $A(\alpha) = ^4 + + 1 = 0$. The actual wording is typically similar to: let $$ be a primitive element (multiplicative generator) of $GF(2^4)$ such that $^4 + + 1 = 0$.
If $A(\alpha)$ is a primitive polynomial, its $n$ roots are generators for any $GF(p^n)$ . For example:
$A(\alpha) = ^4 + + 1 = 0$
$GF(2)[x]/\langle x^4+x+1 \rangle$ : $(x)=\{x, x+1, x^2, x^2+1\}$.
$GF(2)[x]/\langle x^4+x^3+1 \rangle$ : $(x) = \{x^2+x, x^2+x+1, x^3+x^2, x^3+x^2+1\}$
$GF(2)[x]/\langle x^4+x^3+x^2+x+1 \rangle$ : $(x) = \{x^2+x, x^2+x+1, x^3+x, x^3+x+1\}$
If $A(\alpha)$ is not primitive, then the roots of $A(\alpha)$ will not be generators of $GF(p^n)$.
$A(\alpha)$ has $n$ roots, which is only a sub-set of the generators. For $GF(2^8)$, $A(\alpha)$ has 8 roots, while $GF(2^8)$ has 128 generators.
Since the second definition has limitations, what is the purpose of using the second definition?
Here is a link to an online document that uses the second definition, which is sufficient for determining minimum polynomials for BCH code, but then follows that with a table on page 6 that is specific to $GF(2)[x]/\langle x^4+x+1 \rangle$