install nightly x86 GCC 2 Hybrid (http://download.haiku-os.org/nightly-images/x86_gcc2_hybrid/)

once installed

enable sshd with

useradd sshd

default user is "user"

set default password with passwd

 shutdown -r

restart system

install build deps (possibly some already present)

pkgman install git curl_devel libpng_devel jpeg_devel openssl_devel libiconv_devel expat_devel gperf html_parser devel:libiconv_x86 devel:libssl_x86 devel:libexpat_x86 cmd:pkg_config_x86 ccache

ssh keys

create ssh keypair (accept defaults - no password)

ssh-keygen -t rsa -C "netsurf@cislave0.netsurf-browser.org"

copy /boot/home/config/settings/ssh/id_rsa.pub from slave to jenkins master node and append to /home/netsurf/.ssh/authorized_keys

scp /boot/home/config/settings/ssh/id_rsa.pub foo@ci.netsurf-browser.org:cislave3.id_rsa.pub

copy .ssh/id_rsa.pub from master node to slave and append to /boot/home/config/settings/ssh/authorized_keys

scp ci.netsurf-browser.org:.ssh/id_rsa.pub id_rsa.pub
cat id_rsa.pub >> /boot/home/config/settings/ssh/authorized_keys

jenkins slave setup

install java_x86

pkgman install openjdk

edit shell profile /etc/profile.d/openjdk.sh

JAVA_CONFIG=`which java-config || which java-config-x86`
JAVA_HOME=`$JAVA_CONFIG -H`
export JAVA_HOME

create jenkins-slave.sh

#!/bin/bash

# use gcc4 in preference to gcc2 as some libraries use c99 constructs
export PATH=/system/bin/x86:$PATH

nohup java -Djava.awt.headless=true -jar slave.jar -jnlpUrl http://ci.netsurf-browser.org/jenkins/computer/cislave3/slave-agent.jnlp -secret 1234 >jenkins-slave.output &

copy the script to /boot/home/config/settings/boot/launch/ to make it start on boot

system can be manually restarted with

shutdown -r

current issues

As of 24th June 2014 we have some persistant kernel crashes on the active CI slave. Bugs are:

https://dev.haiku-os.org/ticket/10975

https://dev.haiku-os.org/ticket/10977