# Go on FreeBSD

Required:

  * FreeBSD amd64, 386: 8.0 or above
  * FreeBSD arm: 10.0 or above

| **Kernel version** | **Min. version**    | **Max. version**    |
|:-------------------|:--------------------|:--------------------|
| 11-CURRENT         | go1.7               | go1.7               |
| 10-STABLE          | go1.3               | go1.7               |
| 9-STABLE           | go1                 | go1.7               |
| 8-STABLE (EOL)     | go1                 | go1.7               |
| 7-STABLE (EOL)     | go1                 | go1.1               |