This server's IP should be **''192.168.40.1''** === Packages === Required packages for cross platform development: sudo yum install yum-plugin-fastestmirror sudo yum install bison flex gperf libtool texinfo gcc gcc-c++ gmp-devel gcc-java sudo yum install wget sudo yum install patch sudo yum install ncurses ncurses-libs sudo yum install ncurses-devel sudo yum install kernel-devel sudo yum install subversion git sudo yum install glibc-static sudo yum install libstdc++-staticr sudo yum install expat-devel.i686 expat-devel.x86_64 expat-static.i686 expat-static.x86_64 expat.i686 expat.x86_64 === NFS Server === We will need to run an NFS server to host a NFS root file system for CoBo. sudo yum install nfs-utils edit /etc/idmapd.conf # change domain Domain = cobo.serv # edit exports /etc/exports and append /mnt/local/export/filesystem 192.168.40.5?(rw,insecure,no_root_squash) /mnt/local/export/filesystem 192.168.40.8?(rw,insecure,no_root_squash) The second line in exports is just for ML507 Reduced CoBo compatibility. Finally, run the following launch the nfs server: sudo systemctl start rpcbind.service sudo systemctl start nfs-server.service sudo systemctl start nfs-lock.service sudo systemctl start nfs-idmap.service sudo systemctl enable rpcbind.service sudo systemctl enable nfs-server.service sudo systemctl enable nfs-lock.service sudo systemctl enable nfs-idmap.service === DHCP server === The DHCP server is required to allow different CoBo boards lease an IP. Currently, we are using static IPs based on the MAC address of each CoBo. This is a good practice for development, however, in deployment it might be just easier to assign random IPs, depending on the setup required. sudo yum install dhcp Then edit /etc/dhcp/dhcpd.conf ddns-update-style none; option domain-name "local"; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; # CoBo Data Node subnet 192.168.41.0 netmask 255.255.255.0 { range 192.168.41.80 192.168.41.90; option routers 192.168.41.2; option subnet-mask 255.255.255.0; option broadcast-address 192.168.41.255; option domain-name-servers 192.168.41.2; option ntp-servers 192.168.41.2; } # CoBo Control Node subnet 192.168.40.0 netmask 255.255.255.0 { range 192.168.40.80 192.168.40.90; option routers 192.168.40.2; option subnet-mask 255.255.255.0; option broadcast-address 192.168.40.255; option domain-name-servers 192.168.40.2; option ntp-servers 192.168.40.2; } # Control host coboeOne { hardware ethernet 00:0A:35:00:00:00; fixed-address 192.168.40.40; option host-name "cobo02e0"; } # Data host coboeTwo { hardware ethernet 00:0A:35:00:00:01; fixed-address 192.168.41.40; option host-name "cobo02e1"; } # ----- # COBO0 # Control host vxcobo1235e0 { hardware ethernet 02:00:00:00:00:00; fixed-address 192.168.40.50; option host-name "cobo0e0"; } # Data host vxcoboe1235e1 { hardware ethernet 06:00:00:00:00:00; fixed-address 192.168.41.50; option host-name "cobo0e1"; } # COBO1 # Control host vxcobo1237e0 { hardware ethernet 02:00:00:00:00:01; fixed-address 192.168.40.51; option host-name "cobo1e0"; } # Data host vxcoboe1237e1 { hardware ethernet 06:00:00:00:00:01; fixed-address 192.168.41.51; option host-name "cobo1e1"; } # COBO2 # Control host vxcobo1238e0 { hardware ethernet 02:00:00:00:00:02; fixed-address 192.168.40.52; option host-name "cobo2e0"; } # Data host vxcoboe1238e1 { hardware ethernet 06:00:00:00:00:02; fixed-address 192.168.41.52; option host-name "cobo2e1"; } # COBO3 # Control #host vxcobo1237e0 { # hardware ethernet 02:00:00:00:00:03; # fixed-address 192.168.40.53; # option host-name "cobo3e0"; #} # Data #host vxcoboe1237e1 { # hardware ethernet 06:00:00:00:00:03; # fixed-address 192.168.41.53; # option host-name "cobo3e1"; #} # COBO4 # Control #host vxcobo1237e0 { # hardware ethernet 02:00:00:00:00:04; # fixed-address 192.168.40.54; # option host-name "cobo4e0"; #} # Data #host vxcoboe1237e1 { # hardware ethernet 06:00:00:00:00:04; # fixed-address 192.168.41.54; # option host-name "cobo4e1"; #} # COBO5 # Control #host vxcobo1237e0 { # hardware ethernet 02:00:00:00:00:05; # fixed-address 192.168.40.55; # option host-name "cobo5e0"; #} # Data #host vxcoboe1237e1 { # hardware ethernet 06:00:00:00:00:05; # fixed-address 192.168.41.55; # option host-name "cobo5e1"; #} # COBO6 # Control host vxcobo1240e0 { hardware ethernet 02:00:00:00:00:06; fixed-address 192.168.40.56; option host-name "cobo6e0"; } # Data host vxcoboe1240e1 { hardware ethernet 06:00:00:00:00:06; fixed-address 192.168.41.56; option host-name "cobo6e1"; } # COBO7 # Control host vxcobo1241e0 { hardware ethernet 02:00:00:00:00:07; fixed-address 192.168.40.57; option host-name "cobo7e0"; } # Data host vxcoboe1241e1 { hardware ethernet 06:00:00:00:00:07; fixed-address 192.168.41.57; option host-name "cobo7e1"; } # COBO8 # Control host vxcobo1242e0 { hardware ethernet 02:00:00:00:00:08; fixed-address 192.168.40.58; option host-name "cobo8e0"; } # Data host vxcoboe1242e1 { hardware ethernet 06:00:00:00:00:08; fixed-address 192.168.41.58; option host-name "cobo8e1"; } # COBO9 # Control host vxcobo1243e0 { hardware ethernet 02:00:00:00:00:09; fixed-address 192.168.40.59; option host-name "cobo9e0"; } # Data host vxcoboe1243e1 { hardware ethernet 06:00:00:00:00:09; fixed-address 192.168.41.59; option host-name "cobo9e1"; } host dev-workstation { hardware ethernet 01:02:03:04:05:06:07; fixed-address 192.168.40.47; option host-name "dev-workstation"; } The ''dev-workstation'' entry in the DHCP config file is useful to have. This machine can be used to test or debug CoBo software that is network related. Finally run the following to launch the dhcp daemon: sudo service dhcpd enable sudo service dhcpd start === Xilinx Drivers === You have to install 3rd party Xilinx USB cable drivers, [[http://rmdir.de/~michael/xilinx/|link]] if you want to flash or program the FPGA from Linux.