Operating System - HP-UX
1834500 Members
2864 Online
110068 Solutions
New Discussion

Re: How IUX differentiate the bootp request is from HP server or AIX server?

 
SOLVED
Go to solution
Sunny_Zhang
Frequent Advisor

How IUX differentiate the bootp request is from HP server or AIX server?

I understand that IUX is a bootp/dhcp server, but how it make sure the bootp request is from HP server, not from AIX server, then copy boot_lif to that server through tftp server? Thanks!
23 REPLIES 23
A. Clay Stephenson
Acclaimed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

The standard bootp protocol associates a MAC address with each client and its own files to transfer.
If it ain't broke, I can fix that.
Bharat Katkar
Honored Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Hi Dawn,
There is a configuration file /etc/bootptab.
In that you can specify what boot lif to use.

Go through this file and read the initial part to know what things can be set.

Regards,

You need to know a lot to actually know how little you know
Michael Roberts_3
Honored Contributor
Solution

Re: How IUX differentiate the bootp request is from HP server or AIX server?

For PA systems doing network boot for install the packets use 1067/1068 and are serviced by instl_bootd on the Ignite server instead of the 67/68 port used by bootpd.

For Itanium based systems that use PXE for network boot ( a variant of bootp ), the differentiation is ( as stated before ) done via /etc/bootptab or /etc/dhcptab.
etouq ot hguone revelc ton m'i
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Michael,

Thank you very much for your reply. I also read it from the internet that IUX uses 1067/1068 for PA RISC. But when I snoop the network packet from my Linux box, I found the bootp packet is sent to port 67, not 1068. The reason why I did this is that I want to use my Redhat linux box as bootp server for my HP9000 server. Thanks!
Steven E. Protter
Exalted Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Shalom Dawn,

I just looked at the /etc/services file on an HP-UX server.

I would agree that Ignite probaly uses 1067/1068 for its boot.

The standard bootstrap port is also set up as well.

A good way to avoid this is to boot your Ignite clients off a private network. In past versions you can't boot Ignite off of add in NIC cards anyway, only the built in card.

Where I last worked, I generally set up a little private network for Ignite, connecting all the built in cards. So long as you don't put any AIX clients on this private network, which can be a hub, you are good.

My standard setup booted private, but used fasetr add in GB cards for the actual Golden image transfes, since those files were so big.

Hope this helps.

SEP
Steven E Protter
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
Michael Roberts_3
Honored Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?



If you boot your PA system with:

boot lan. INSTALL

the packets go to 1067.

if you boot:

boot lan.

They go to standard bootp 67.

All Itanium based lan boots will go over 67.
etouq ot hguone revelc ton m'i
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Michael, thank you very much for your response.
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

I setup my tftp server on linux with boot_lif file, and make sure the client can NFS mount back my bootp server on linux too. But when my HP9000 server download /stand/vmunix from my linux server, it hung there forever. Is there anyway I can figure out why? Thank!
Michael Roberts_3
Honored Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

From an up and running HP-UX system can you tftp from the linux box?

hpux>$ cd /var/tmp
hpux>$ tftp linux.box.com << eof
> get /opt/ignite/boot/Rel_B.11.23/INSTALL
> quit
> eof

Make sure this works before trying it from the install environment. It might also be helpful for you to post the console output that you see between "boot lan.." and the tftp hang.
etouq ot hguone revelc ton m'i
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Hi Michael, I just did what you suggest trying to tftp the file from my linux box, and it failed with time-out.

# tftp 10.10.1.3 << eof
> get /boot/Rel_B.11.23/IINSTALL
> quit
> eof
tftp> Transfer timed out.

There is no network problem. Is there anyway I can increase the timeout value?
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Also here is the console output after I issue boot lan from BCH console:

Booting...
Network Station Address 00306e-c30181
System IP Address 10.10.1.11
Server IP Address 10.10.1.3

Boot IO Dependent Code (IODC) revision 2


HARD Booted.

ISL Revision A.00.43 Apr 12, 2000

ISL booting hpux (;0)/boot/INSTALL

Boot
: lan(0/0/0/0;0)/boot/WINSTALL

From this point, my system is hang there. Thanks!
Michael Roberts_3
Honored Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

> There is no network problem. Is there anyway I can increase the timeout value?

from 'man 4 instl_adm'
_hp_tftp_cmds
String variable that may be specified in the *INSTALLFS file to
supply additional instructions to the tftp commands that are used
to transfer data during an installation. The commands supplied
with this variable are passed as input to the tftp command along
with the usual commands supplied by Ignite-UX. The most likely
use of this would be to modify the retransmission-timeout (rexmt)
and overall timeout (timeout) values. The default values that
Ignite-UX uses are: rexmt set to 2 and timeout set to 25. See
tftp(1) for more details. The string assigned to this variable
should contain one tftp command statement per line. For example:

init _hp_tftp_cmds="rexmt 5 timeout 40"

==========
On your linux tftp server do you have the location of the kernels as a valid tftp area?

The paths you show here are not from current Ignite revs. Which version of Ignite do you have?

The bootloader expects to find the kernels in a location relative to where the boot_lif came from. So if your boot_lif file is in /opt/ignite/boot then the ISL path
(;0)/boot/WINSTALL
Is actually looking in /opt/ignite/boot/WINSTALL

ISL booting hpux (;0)/boot/INSTALL

Boot
: lan(0/0/0/0;0)/boot/WINSTALL
etouq ot hguone revelc ton m'i
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Actually I didn't use ignite server here at all. I tried to use my linux box to do netboot for my HP9000 server since I only have one HP box here. The investigation of this is pretty interesting, I will keep posting my result here. Thanks!
Bob_Vance
Esteemed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

(How 'bout assigning some points ;>)

I successfully made my Linux server be able to support Igniting an HP box from a Golden Image specifically to be able to do what you are trying:

recovering an HP box with no HPUX Ignite server.

Attached are the notes for doing this.


hth
bv

"The lyf so short, the craft so long to lerne." - Chaucer
Bob_Vance
Esteemed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

I suppose that it would be more useful with the actual attachment ;>)


bv
"The lyf so short, the craft so long to lerne." - Chaucer
Bob_Vance
Esteemed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

A better version of the notes.
((I changed a dirname, but didn't update
these notes fully.
))

Also, note that this was done for Itanium server boot/installs.

This explains the
"/opt/ignite/boot/nbp.efi"

For PARisc, you would use
"/opt/ignite/boot/boot_lif";



bv
"The lyf so short, the craft so long to lerne." - Chaucer
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Bob, Thank you very much for your detailed note.

I was busy with something else for past several days, and just resume this work today. Actually I did something very similar what you did, and the difference is that I am using my own tftp server & bootp server.

The HP9000 server did tftp boot_lif file successfully from my linux box, but it hung during downloading kernel file: WINSTALL.

The following is the console output during netboot from my linux box:
Main Menu: Enter command or menu > boot lan install
Interact with IPL (Y, N, or Cancel)?> y

Booting...
Network Station Address 00306e-c30181
System IP Address 10.10.1.11
Server IP Address 10.10.1.3

Boot IO Dependent Code (IODC) revision 2


HARD Booted.

ISL Revision A.00.43 Apr 12, 2000

ISL> hpux (;0)/boot/Rel_B.11.23/INSTALL

Boot
: lan(0/0/0/0;0)/boot/Rel_B.11.23/WINSTALL

The file layout on my linux server is the following:
dawn]# ls -al /opt/ignite/boot/
total 6348
dr-xr-xr-x 3 root root 4096 Dec 2 12:07 .
drwxr-xr-x 3 root root 4096 Dec 2 12:07 ..
-r--r--r-- 1 root root 26 Dec 2 12:07 AUTO
-r-xr-xr-x 1 root root 57 Dec 2 12:07 auto_globals
-r--r--r-- 1 root root 331776 Dec 2 12:07 boot_lif
-r--r--r-- 1 root root 5242880 Dec 2 12:07 EFI_CD_image
-r--r--r-- 1 root root 328192 Dec 2 12:07 fpswa.efi
-r--r--r-- 1 root root 521494 Dec 2 12:07 hpux.efi
-r--r--r-- 1 root root 24576 Dec 2 12:07 nbp.efi
dr-xr-xr-x 2 root root 4096 Dec 2 12:07 Rel_B.11.23

dawn]# ls -al /opt/ignite/boot/Rel_B.11.23/
total 119416
dr-xr-xr-x 2 root root 4096 Dec 2 12:07 .
dr-xr-xr-x 3 root root 4096 Dec 2 12:07 ..
-r-xr-xr-x 1 root root 94 Dec 2 12:07 auto_conf
-r-xr-xr-x 1 root root 52622680 Dec 2 12:07 IINSTALL
-r-xr-xr-x 1 root root 29753344 Dec 2 12:07 IINSTALLFS
-r-xr-xr-x 1 root root 27164008 Dec 2 12:07 WINSTALL
-r-xr-xr-x 1 root root 12582912 Dec 2 12:07 WINSTALLFS

Any help is very appreciated!
Bob_Vance
Esteemed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

The sequence starts well.
It looks like something with the TFTP server.
25 second timeout should be way plenty.
We are now retreading areas that Michael addressed.

However, the TFTP parms settings are in (W)INSTALLFS. That is retrieved *after* (W)INSTALL is loaded -- whose transfer is timing out! Not much help there ;>)

You say that you are using Linux,
"I tried to use my linux box to do netboot ..."
but then you also say
"the difference is that I am using my own tftp server & bootp server."

What do you mean by that?
Do you know that the TFTP server works?
Why are you not just using the TFTP that comes with Linux?
What Linux dstro?


bv
"The lyf so short, the craft so long to lerne." - Chaucer
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Hi Bob, Could you snoop your bootp reply from your linux box by using ethereal or tcpdump for me? By snooping my linux server, I found my HP-UX box starting tftp boot_lif successfully at the first 163 packets by receives ACK from HP-UX box, but it always failed at block 164 with some unknow error. I guess maybe there are some errors when I assemble bootp reply with some wrong options. Thanks!
Bob_Vance
Esteemed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

It will be a while before I can do that.

bv
"The lyf so short, the craft so long to lerne." - Chaucer
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

Bob, I understand that, and thank you very much for your help.

Could you please share with me your /etc/xinetd.d/tftp & /etc/dhcpdconf file?
I took your suggestion to use Linux own tftp server & dhcp server. Also I fellow your suggestion to add all /tftpboot, /var/opt/ignite, and /opt/ignite to server_args in /etc/xinetd.d/tftp, but tftp server can not even be started after that change. Once I changed it back to /tftpboot only, it works. But it still failed during tftping boot_lif file. This time it is failed at block 592, so more packets successfully downloaded to my HP9000 server. Thanks!

Here is the contents of /etc/xinetd.d/tftp:
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#server_args = -s /tftpboot /var/opt/ignite /opt/ignite
per_source = 11
cps = 100 2
flags = IPv4
}

Here is the content of /etc/dhcpd.conf:
allow booting;
allow bootp;

subnet 10.10.1.0 netmask 255.255.255.0 {
range 10.10.1.11 10.10.1.240;
}

ddns-update-style ad-hoc;

default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option domain-name-servers 10.10.1.1;

host client01 {
hardware ethernet 00:30:6e:c3:01:81;
fixed-address 10.10.1.11;
next-server 10.10.1.3;
filename "boot_lif";
option root-path "/opt/ignite/boot";
}

Bob_Vance
Esteemed Contributor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

((Please assign points))

If you have multiple directories on the tftp entry in xinetd, you must not use the "-s" option, which causes tftpd to do a chroot to the single directory.

here's my /etc/xinetd.d/tftp:

===================================================
service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
# server_args = -s /tftpboot # #20051202jrv
## no longer chroot to /tftpboot ("-s") so we can have multiple dirs # #20051208jrv
server_args = /tftpboot \
/var/opt/ignite \
/opt/ignite
# support Ignite install # #20051208jrv
per_source = 11
cps = 100 2
flags = IPv4
}
===================================================



here's my /etc/dhcpd.conf :
===================================================
ddns-update-style none;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;

option domain-name "testtrack";
option domain-name-servers 192.168.0.100,192.168.0.130,192.168.0.99;

option time-offset -18000; # Eastern Standard Time

range dynamic-bootp 192.168.0.11 192.168.0.20;
default-lease-time 21600;
max-lease-time 43200;

allow booting; #added#20050509 for PXE network installation
allow bootp;
class "pxeclients_ia64" {
match if substring(option vendor-class-identifier, 0, 20 )
= "PXEClient:Arch:00002";
next-server 192.168.0.99;

## one of the following must be uncommented:
#linux-ia64# filename "/tftp/ia64/elilo.efi";
#hpux-ia64# filename "/opt/ignite/boot/nbp.efi";
#hpux-risc# filename "/opt/ignite/boot/boot_lif"";
filename "/opt/ignite/boot/nbp.efi";
}
class "pxeclients_ia32" {
match if substring(option vendor-class-identifier, 0, 20 )
= "PXEClient:Arch:00000";
next-server 192.168.0.99;
filename "/tftpboot/ia32/pxelinux.0";
}

}
===================================================


hth
bv
"The lyf so short, the craft so long to lerne." - Chaucer
Sunny_Zhang
Frequent Advisor

Re: How IUX differentiate the bootp request is from HP server or AIX server?

I am finally back to this work, and figure out what is wrong with my own tftp server & bootp server. I shouldn't set any bootp options in bootp reply for the first bootp request; otherwise the process of loading the kernel file -- WINSTALL will be hang forever. Thanks for everyone's help.