Bootp Problems

Hello,

I have a server that has a clean QNX4.25D & TCPIP install from the
latest update CD. (Purchased last week).
The server has 2 ethernet cards, both configured properly (can see &
access other nodes on both lans). I am
trying to get some diskless workstations to boot from this server. I
have added the “bootps” file to the
“/etc/config/inetd.1” file. inetd does see the boot requests and
syslogd redirects them to “/tmp/syslog”.

Unforturnately, this is where the process stops. I am using the 3Com
905c-TXM cards with the LANWorks
Bootp built in. I to have tftp configured in the “/etc/config/inetd.1”
config file as well. These cards require the
boot image be loaded at 0x10000 which is specified in the
“/etc/bootptab” file.

“bootpd” does get spawned when a workstation requests and image. tftp
does not.

What configuration step am I missing?

Thanks in Advance.

Kevin Hammond
PACE Control Systems

Please go to the following link for info on bootp
http://qdn.qnx.com/support/docs/qnx4/user_guide/netinstall.html
this should help you get started

hw

Kevin Hammond <kevinh@paceolm.com> wrote:

Hello,

I have a server that has a clean QNX4.25D & TCPIP install from the
latest update CD. (Purchased last week).
The server has 2 ethernet cards, both configured properly (can see &
access other nodes on both lans). I am
trying to get some diskless workstations to boot from this server. I
have added the “bootps” file to the
“/etc/config/inetd.1” file. inetd does see the boot requests and
syslogd redirects them to “/tmp/syslog”.

Unforturnately, this is where the process stops. I am using the 3Com
905c-TXM cards with the LANWorks
Bootp built in. I to have tftp configured in the “/etc/config/inetd.1”
config file as well. These cards require the
boot image be loaded at 0x10000 which is specified in the
“/etc/bootptab” file.

“bootpd” does get spawned when a workstation requests and image. tftp
does not.

What configuration step am I missing?

Thanks in Advance.

Kevin Hammond
PACE Control Systems

Thank you for your direction. I had read that particular page several times,
but the part describing BOOTP is about a paragrph long and just says you need
Lanworks BOOTP ROMS (which we are using), bootpd and tftpd (which are in
the “/etc/config/inetd.1” config file. as user root/ftp respectively. I am
building the images with “buildqnx -b 0x10000”. The inetd server responds to
the boot request by spawning bootpd, printing something about a magic number,
and then nothing. tftpd prints nothing.

Kevin

Troubleshooting steps… done this many times:

  • Make sure syslog is running. bootp will put messages in here for how
    it answered/didn’t answer queries. The help on the QNX site leaves
    out all the ugly details of the bootptab file and if you don’t have
    everything
    100% you get nowhere…
  • Look at the display on the machine booting. It displays what image it
    wants to download/if it got a valid response/IP address/MAC address/…
  • Look carefully at the bootptab file - make sure you have given it a
    valid ip address/netmask on segment it is connected to.

After you at least get a tftp request we can work out the rest of the issues
regarding dynamically building an image/netmap/boot image issues.


Pace Control Systems wrote in message …

Thank you for your direction. I had read that particular page several
times,
but the part describing BOOTP is about a paragrph long and just says you
need
Lanworks BOOTP ROMS (which we are using), bootpd and tftpd (which are in
the “/etc/config/inetd.1” config file. as user root/ftp respectively. I
am
building the images with “buildqnx -b 0x10000”. The inetd server responds
to
the boot request by spawning bootpd, printing something about a magic
number,
and then nothing. tftpd prints nothing.

Kevin

Thanks Jay for your help.

I found the root of my problem. I had three physical networks and only
specifiying 2 with the Net.* drivers.
We have two physical networks here, one for the company, a local one for
sofware development.
We have a QNX node on both networks (2 cards) acting as a bridge so I
can work in my office and
talk to the test computers in the lab.

The /tmp/syslog has been very helpful.

I am also setting up a new system to be shipped to a customer. It will
also have a local QNX network
for our system, as well as second ethernet cards in some of the
computers which act as Phindows servers.
Net automatically added my old lan 1 nodes to its netmap and could not
see them on my new lan 1
(different physically). Once I unplugged my QNX bridge from the old lan
1, all boot fine…

except, the bootp nodes reject any other nodes in the netmap file except
for itself and the boot server.

My netmap is as follows:

1 1 xxxxxx xxxxxx // Bootp server.
1 2 xxxxxx xxxxxx // Connection to outside
3 2 xxxxxx xxxxxx // QNX Bridge/Server in Lab
4 2 xxxxxx xxxxxx // QNX node in my office
5 1 xxxxxx xxxxxx // Diskless workstation
6 1 xxxxxx xxxxxx // Diskless workstation.

where xxxx are the MAC addresses. I have plenty of licenses installed.
I have also tried
separating the logical nodes and lans with chars as well as
spaces. Even when only the
boot server and diskless workstation are turned on I get the :

"netmap: net rejected ‘3 2 xxxxxx xxxxxx’ invalid
argurment.

Thanks again.

Kevin Hammond

Kevin,

Glad I could help.

You didn’t post the boot file you are using but I suspect you are missing
entries on the Net command line WRT the licensing issue.

My sample boot file for bootp (different ones for PXE and netboot):

sys/boot
$ boot -vvvv

sys/Proc32
$ Proc32 -l 4

sys/Slib32
$ Slib32

sys/Slib16
$ Slib16

/bin/Net
$ Net -m “9 1 0207011A34E3” -b0 -d1 -n50

/bin/Net.ether82557
$ Net.ether82557

/bin/sinit
$ sinit -r file://9/ TERM=qnx

The key part of this is the ‘$ Net’ line:
-m “netmap” to get to the boot server
-b0 to disable bridging (looking for smallest footprint)
-d1 for 1 network driver
-n50 Initialize for 50 nodes ** You are missing this

Net looks at the number of licenses you have and builds the netmap table
accordingly if -n isn’t specified - in a remote boot you have zero
licenses
and Net unfortunately obliges :wink:

Jay

Kevin Hammond wrote in message <3A6B5CEF.5040304@paceolm.com>…

Thanks Jay for your help.

I found the root of my problem. I had three physical networks and only
specifiying 2 with the Net.* drivers.
We have two physical networks here, one for the company, a local one for
sofware development.
We have a QNX node on both networks (2 cards) acting as a bridge so I
can work in my office and
talk to the test computers in the lab.

The /tmp/syslog has been very helpful.

I am also setting up a new system to be shipped to a customer. It will
also have a local QNX network
for our system, as well as second ethernet cards in some of the
computers which act as Phindows servers.
Net automatically added my old lan 1 nodes to its netmap and could not
see them on my new lan 1
(different physically). Once I unplugged my QNX bridge from the old lan
1, all boot fine…

except, the bootp nodes reject any other nodes in the netmap file except
for itself and the boot server.

My netmap is as follows:

1 1 xxxxxx xxxxxx // Bootp server.
1 2 xxxxxx xxxxxx // Connection to outside
3 2 xxxxxx xxxxxx // QNX Bridge/Server in Lab
4 2 xxxxxx xxxxxx // QNX node in my office
5 1 xxxxxx xxxxxx // Diskless workstation
6 1 xxxxxx xxxxxx // Diskless workstation.

where xxxx are the MAC addresses. I have plenty of licenses installed.
I have also tried
separating the logical nodes and lans with chars as well as
spaces. Even when only the
boot server and diskless workstation are turned on I get the :

"netmap: net rejected ‘3 2 xxxxxx xxxxxx’ invalid
argurment.

Thanks again.

Kevin Hammond

Of course right after I my last post, I discovered I was missing the
-n. I was trying to start from a
clean install of the OS to refresh my memory about configurations. I
think the manual just says to use
the ‘$ Net -m $(netmap)’ line and not the -n XX.

After separating my networks, all nodes operate quickly (100Mbit).
Let’s see if I can’t break it some more.

Kevin


PS - About have the time Dev.par SIGSEGV. I am starting it after Dev
and Dev.ser in the sysinit file.
Any ideas?