| # Go on OpenBSD |
| |
| Go is available within the OpenBSD ports tree collection since OpenBSD 5.2. It is marked as i386- and amd64- only. See [`ports/lang/go`](http://ports.su/lang/go) for details. |
| |
| | **OpenBSD release** | **golang in ports** | |
| |:--------------------|:--------------------| |
| | 5.8 (Oct 18, 2015) | go-1.4.2 | |
| | 5.7 (May 1, 2015) | go-1.4.1 | |
| | 5.6 (Nov 1, 2014) | go-1.3p0 | |
| | 5.5 (May 1, 2014) | go-1.2p0 | |
| | 5.4 (Nov 1, 2013) | go-1.1.1 | |
| | 5.3 (May 1, 2013) | go-1.0.3 | |
| | 5.2 (Nov 1, 2012) | go-1.0.2 | |
| |
| ## Building from source. |
| |
| Required: |
| |
| * OpenBSD amd64, 386: 5.5 and above |
| * If you want to run go1.3 or 1.4 on OpenBSD 5.6, see http://golang.org/issue/9102 |
| |
| | **Kernel version** | **Min. version** | **Max. version**| |
| |:-------------------|:-----------------|:----------------| |
| | 5.7 | go1.4.1 | go1.5 | |
| | 5.6 | go1.4.1 | go1.5 | |
| | 5.5 | go1.3 | go1.5 | |
| |
| * ulimits (` /etc/login.conf `) |
| |
| Edit the /etc/login.conf so that the staff class has the proper |
| settings. The following is a working example of the staff class: |
| ``` |
| staff:\ |
| :datasize-cur=infinity:\ |
| :datasize-max=infinity:\ |
| :datasize=infinity:\ |
| :openfiles-cur=4096:\ |
| :maxproc-max=512:\ |
| :maxproc-cur=512:\ |
| :ignorenologin:\ |
| :requirehome@:\ |
| :tc=default: |
| ``` |
| |
| After editing the login.conf you'll need to rebuild the database with: |
| ``` |
| # cap_mkdb /etc/login.conf |
| ``` |
| |
| ``` |
| ulimit -n 512 |
| ulimit -p 512 |
| ulimit -d 2036792 |
| ``` |
| |
| Add the login class to the user you would like to have build go |
| ``` |
| # vipw |
| ``` |
| |
| Look for the 5th element which is the login class, this is blank by |
| users added by useradd. In the following example the user operator |
| would be added to the staff class |
| ``` |
| ## Before |
| operator:*:2:5::0:0:System &:/operator:/sbin/nologin |
| |
| ## After |
| operator:*:2:5:staff:0:0:System &:/operator:/sbin/nologin |
| ``` |
| |
| ## Under KVM |
| |
| If under KVM on Lucid, you don't need to disable ` mpbios `, but the OpenBSD kernel spins at takes nearly 100% CPU if you don't. So, see: |
| |
| http://scie.nti.st/2009/10/4/running-openbsd-4-5-in-kvm-on-ubuntu-linux-9-04 |
| |
| Nutshell: |
| |
| ``` |
| # config -ef /bsd |
| OpenBSD 4.5 (GENERIC) #2052: Sat Feb 28 14:55:24 MST 2009 |
| deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC |
| Enter 'help' for information |
| ukc> disable mpbios |
| 54 mpbios0 disabled |
| ukc> quit |
| Saving modified kernel. |
| # |
| ``` |