Unable to Enable Netboot

ianmb
Contributor

Wondered if anyone knew why I might not be able to enable NetBoot on our JAMF VM appliance (v3).

I downloaded the latest 10.9.4 installer in the App Store on our build Mac Mini (which also runs 10.9.4) and used SIU to create a Netrestore image. The folder has no spaces in the name as per the config guide and the correct image is being picked up under the 'NetBoot Image' option.

There's a red dot next to the 'Enable Netboot' button, but clicking this doesn't change anything. There's nothing else other than the relevant folder created above on the (SMB) share.

The DHCP Status showing on the dashboard is 'Not running'.

Thanks in advance for any suggestions.

21 REPLIES 21

Retrac
Contributor

Make sure you add the subnet of the DHCP address your netboot box is using to the netboot server subnets. Then in the netboot server subnets add any additional ranges you want the netboot server to broadcast on.

You can't have 2 appliances running on the same subnet either.

hope that helps

zskidmor
Contributor

What version of the appliance are you running? few thoughts:

  1. make sure the subnet and mask include the ip address of the server itself
  2. reset afp and smbuser passwords are restart those services
  3. I installed 3.0.0 and there was a fixed version of dhcpd.conf posted on on github:https://github.com/jamf/NetSUS/blob/master/NetBoot/var/appliance/conf/dhcpd.conf

as part of 3.0.1

I had to replace mine to get netboot to enable

on the server itself cd /var/log and cat messages right after clicking enable netboot and you can post the log file errors to see why the DHCPD service isn't starting

apfaeffli
New Contributor

how can I download the correct dhcpd configfile? something like git clone? btw why do I nee a dhcp server if I already have one in my network?

daz_wallace
Contributor III

Hi @apfaeffli

The Netboot discovery process uses the same protocol as the DHCP communication (BootP) and so you are not running a DHCP server as such but you are using parts of the server. My understanding is that this is the same as for the PC 'netboot' solution, PXE boot.

Hope that helps!

Darren

calumhunter
Valued Contributor

just use docker and bsdpy, honestly its so much easier and scaleable
heres one i prepared earlier https://registry.hub.docker.com/u/hunty1/bsdpydocker/
save yourself head scratching and hair pulling.
create /nbi on your linux host
put your nbi into /nbi on your linux host however you want, scp, smb, netatalk, webdav etc etc etc

docker run -d -v /nbi:/nbi -p 80:80 -p 0.0.0.0:69:69/udp -p 0.0.0.0:67:67/udp -e DOCKER_BSDPY_IP=YourLinuxServerIPAddress --name netboot_server hunty1/bsdpydocker

apfaeffli
New Contributor

@calumhunter thanks. I don't know docker yet but it looks like docker.com is down (bad gateway). does someone have a virtual machine that runs properly?

calumhunter
Valued Contributor

Hi @apfaeffli
I've used the NetSUS since version 1, it works for sure. But its not super straight forward and a little bit clunky when trying to deploy to multiple remote sites for example. Thats why I went the docker route.

I can understand where you're coming from, at first glance docker seems pretty complex. But its actually super simple.

I have updated the readme for my docker image, it should have you up and running in around 15 minutes. Just create a VM install your flavour of linux, Ubuntu or CentOS are my fav's and get cracking :) Good luck
https://registry.hub.docker.com/u/hunty1/bsdpydocker/

apfaeffli
New Contributor

hi again @calumhunter
something went wrong I guess. I installed docker on my fresh installed debian vm and uploaded the nbi to /nbi
# docker pull hunty1/bsdpydocker
Segmentation Fault or Critical Error encountered. Dumping core and aborting.

calumhunter
Valued Contributor

That is the error you are getting when you issue the docker pull command?

did you follow the installation guide from docker?

on debian systems its apt-get install docker.io
Note the .io on the end
installation guide for debian https://docs.docker.com/installation/debian/

apfaeffli
New Contributor

it seems it downloaded something. I try now with ubuntu

2015/01/12 23:38:40 Error response from daemon: Cannot start container 14a1aee223c00e3b218496190ca4b1a894492b701764d3aea7d3fcdb725da378: port has already been allocated
root@netsus:/nbi# docker run -d -v /nbi:/nbi -p 80:80 -p 0.0.0.0:69:69/udp -p 0.0.0.0:67:67/udp -e DOCKER_BSDPY_IP=YourLinuxServerIPAddress --name netboot_server hunty1/bsdpydocker
2015/01/12 23:38:55 Error response from daemon: Conflict, The name netboot_server is already assigned to 14a1aee223c0. You have to delete (or rename) that container to be able to assign netboot_server to a container again.
root@netsus:/nbi#

calumhunter
Valued Contributor

Is this a clean Ubuntu install? Or do you have NetSUS installed on it?
You should start with a clean install of Ubuntu with nothing else on it.

The error about port 80 is saying that you already have some kind of network service bound to that port. ie something is running on port 80 on your machine. Make sure you don't have any other services running on this machine

The second one about the name conflict is that you have already got a container called netboot_server, you might have started the container with out realising it.

Also I am hoping that you have just copied and pasted from previous posts, but where it says:

-e DOCKER_BSDPY_IP=YourLinuxServerIPAddress

You actually need to put in your IP address of the linux server that your on. ie.Iif your linux server has the IP address 192.168.0.2 then you would enter:

-e DOCKER_BSDPY_IP=192.168.0.2

So try rebooting the machine to stop any running processes or what not that might be holding on to port 80

Use ```
docker ps -a
``` to show any containers currently on the system.

Use ```
docker rm <container-name>
``` to remove any existing containers.

Note where I have ```
<container-name>
you need to replace this with what you see from the
docker ps -a

ie. if your docker ps -a output looks like

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8e52d4d0372d hunty1/munki-docker:latest "nginx" 3 weeks ago Up 3 days 443/tcp, 0.0.0.0:8080->80/tcp munki_repo

Then the command would be

docker rm munki_repo

Once your ```
docker ps -a

output shows no containers. Then try the command again.

docker run -d -v /nbi:/nbi -p 0.0.0.0:69:69/udp -p 0.0.0.0:67:67/udp -p 0.0.0.0:80:80 -e DOCKER_BSDPY_IP=YourLinuxServerIP --name netboot_server hunty1/bsdpydocker

Also I assume you have created the directory at ```
/nbi
``` on the linux server? I also assume you have uploaded your NBI to this folder?

apfaeffli
New Contributor

Propably I installed my OS with apache which blocks port 80. I'll install it new but only base install

calumhunter
Valued Contributor

you could try:

sudo update-rc.d -f apache2 remove

That should stop apache2 loading up at startup.

If you want to remove it completely, you could try

sudo apt-get --purge remove apache2

then to remove any dependancies

sudo apt-get autoremove

apfaeffli
New Contributor

I'm now doing a simple CentOS install minimal install and first try the installer.run and will see if this works

apfaeffli
New Contributor

seemed to be too minimal, no apt-get and no wget

calumhunter
Valued Contributor

You seem to be changing around what OS you are using and it is very confusing.

CentOS is a Red Hat derivative - it has a package manager called yum. There is no apt-get in CentOS
Ubuntu is a debian derivative - it has a package manager called apt-get. There is no yum in Ubuntu.

Pick one either ubuntu or centos and stick with it so we can try to help you. I would recommend you use centos minimal install.

Follow the steps to install docker, then follow the steps on my read me https://registry.hub.docker.com/u/hunty1/bsdpydocker/

apfaeffli
New Contributor

I'm still too stupid to get it running.why canot someone provide a functional vm appliance to download if the original doesn't work? please guys at jamf update the appliance to a working one, at least a working netboot part. reposado already running here ;-)

calumhunter
Valued Contributor

NetSUS does work. As does the docker solution I provided above. The docker solution, I feel, is much easier and simpler than NetSUS. With docker, I can take a linux server and make it a netboot server with a single one line command. Doesn't get any simpler than that.
If you are still having difficulty, perhaps you should contact your account manager at JAMF and engage professional services. Or contact a local Apple consulting services company.

daz_wallace
Contributor III

I've not had any experience with Docker yet (its on my list of 'must learn') but @calumhunter has given some great instructions (copy and pasted for later learning)

In relation to NetSUS, I may have the wrong end of the stick but didn't you / we get that working for you? What's the issue you're having?

Darren

apfaeffli
New Contributor

Hi there. I just ordered a small barebone computer and will try to make it a netboot server out of it. with which OS should I start? ubuntu/debian or CentOS?
reason why hardware and not VM: I do trainings around switzerland and have custom images to boot on the training iMacs so it's good to bring one piece of Hardware to the place where the training is and this looks much cooler than a virtual machine nobody sees. so they all see. this is a netboot server :-)

apfaeffli
New Contributor

I installed debian and docker and it looks like the pull command worked. /nbi definetly exists, but still:

docker run -d -v /nbi:/nbi -p 80:80 -p 0.0.0.0:69:69/udp -p 0.0.0.0:67:67/udp -e DOCKER_BSDPY_IP=192.168.1.125 --name netboot_server hunty1/bsdpydocker
-su: root@netsus:/nbi#: No such file or directory