pxeboot.bs and vlan tagging

2012-02-06 Thread Rick Miller
Hi All,

We are PXE booting into FreeBSD 8.2-RELEASE to perform system builds.
The pxeboot.bs file was recompiled with TFTP support.  8.2-RELEASE
builds were working fine until we attempted a build on bare metal in
an environment that utilizes vlan tagging.  When the system loaded the
pxeboot.bs file it prompted that a disk containing the mfsroot.gz be
inserted.

I have a couple of questions that I am hoping I can use to glean a
proper solution:

1) Does the 8.2-RELEASE pxeboot.bs source code support use of vlan tagging?
2) Can I get vlan tagging support with newer 8.2 code?
3) Will the 9.0-RELEASE code have better support for vlan tagging and
can I use it to build an 8.2-RELEASE system?

-- 
Take care
Rick Miller
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Erik Nørgaard

On 06/02/2012 16:35, Rick Miller wrote:


We are PXE booting into FreeBSD 8.2-RELEASE to perform system builds.
The pxeboot.bs file was recompiled with TFTP support.  8.2-RELEASE
builds were working fine until we attempted a build on bare metal in
an environment that utilizes vlan tagging.  When the system loaded the
pxeboot.bs file it prompted that a disk containing the mfsroot.gz be
inserted.


Hi, a few questions:

1) do you use tftp or nfs? if you built pxeboot with tftp, did you also 
build the kernel with tftp?


I assume that you want to use tftp since you fetch a memory file system 
as root device.


2) do you fetch the kernel successfully?

When using tftp, The kernel and kernel modules are fetched before the 
memory file system, so do pxeboot fetch the kernel but not the mfsroot?


The reason for these questions is that your problem may be with the 
kernel and kernel modules and not pxeboot. Just to be sure.



I have a couple of questions that I am hoping I can use to glean a
proper solution:

1) Does the 8.2-RELEASE pxeboot.bs source code support use of vlan tagging?
2) Can I get vlan tagging support with newer 8.2 code?
3) Will the 9.0-RELEASE code have better support for vlan tagging and
can I use it to build an 8.2-RELEASE system?


I did a grep in the source and it seems there is a kernel module for 
vlan tagging, if you load the kernel succesfully it may be a question of 
getting that module loaded as well, or rebuild the kernel. But I can't 
give a better answer.


My best guess is not to rely on vlan tagging unless you can configure 
that on the hardware. Or, normally there is a default vlan that 
corresponds to no tag. If you can configure that for pxe and use tagging 
for the other networks.


BR, Erik

--
M: +34 666 334 818
T: +34 915 211 157
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Rick Miller
See my responses inline...

On Mon, Feb 6, 2012 at 10:54 AM, Erik Nørgaard norga...@locolomo.org wrote:
 On 06/02/2012 16:35, Rick Miller wrote:

 We are PXE booting into FreeBSD 8.2-RELEASE to perform system builds.
 The pxeboot.bs file was recompiled with TFTP support.  8.2-RELEASE
 builds were working fine until we attempted a build on bare metal in
 an environment that utilizes vlan tagging.  When the system loaded the
 pxeboot.bs file it prompted that a disk containing the mfsroot.gz be
 inserted.


 Hi, a few questions:

 1) do you use tftp or nfs? if you built pxeboot with tftp, did you also
 build the kernel with tftp?

pxeboot.bs was compiled with TFTP enabled.  We made 3 modifications to
the kernel not related to tftp.  One change was to the NIC source code
to improve small packet performance, we compiled a custom kernel that
disabled FLOWTABLE and enabled ROUTETABLES.

TFTP is the intent for PXE, we did not want to rely on NFS.  For the
remainder of the install, we've written code into sysinstall to
support pure HTTP installs.

 2) do you fetch the kernel successfully?

 When using tftp, The kernel and kernel modules are fetched before the memory
 file system, so do pxeboot fetch the kernel but not the mfsroot?

 The reason for these questions is that your problem may be with the kernel
 and kernel modules and not pxeboot. Just to be sure.

I see what you are saying.  We will have to look at the packet
captures to make that determination.

 I have a couple of questions that I am hoping I can use to glean a
 proper solution:

 1) Does the 8.2-RELEASE pxeboot.bs source code support use of vlan
 tagging?
 2) Can I get vlan tagging support with newer 8.2 code?
 3) Will the 9.0-RELEASE code have better support for vlan tagging and
 can I use it to build an 8.2-RELEASE system?


 I did a grep in the source and it seems there is a kernel module for vlan
 tagging, if you load the kernel succesfully it may be a question of getting
 that module loaded as well, or rebuild the kernel. But I can't give a better
 answer.

 My best guess is not to rely on vlan tagging unless you can configure that
 on the hardware. Or, normally there is a default vlan that corresponds to no
 tag. If you can configure that for pxe and use tagging for the other
 networks.

Thanks for this information, it has given me some other things to
think about and could potentially lead to a proper solution.

-- 
Take care
Rick Miller
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Erik Nørgaard

On 06/02/2012 17:11, Rick Miller wrote:

See my responses inline...

On Mon, Feb 6, 2012 at 10:54 AM, Erik Nørgaardnorga...@locolomo.org  wrote:

On 06/02/2012 16:35, Rick Miller wrote:


We are PXE booting into FreeBSD 8.2-RELEASE to perform system builds.
The pxeboot.bs file was recompiled with TFTP support.  8.2-RELEASE
builds were working fine until we attempted a build on bare metal in
an environment that utilizes vlan tagging.  When the system loaded the
pxeboot.bs file it prompted that a disk containing the mfsroot.gz be
inserted.



Hi, a few questions:

1) do you use tftp or nfs? if you built pxeboot with tftp, did you also
build the kernel with tftp?


pxeboot.bs was compiled with TFTP enabled.  We made 3 modifications to
the kernel not related to tftp.  One change was to the NIC source code
to improve small packet performance, we compiled a custom kernel that
disabled FLOWTABLE and enabled ROUTETABLES.

TFTP is the intent for PXE, we did not want to rely on NFS.  For the
remainder of the install, we've written code into sysinstall to
support pure HTTP installs.


2) do you fetch the kernel successfully?

When using tftp, The kernel and kernel modules are fetched before the memory
file system, so do pxeboot fetch the kernel but not the mfsroot?

The reason for these questions is that your problem may be with the kernel
and kernel modules and not pxeboot. Just to be sure.


I see what you are saying.  We will have to look at the packet
captures to make that determination.



There used to be some kernel options in older versions but I think the 
necessity for these were removed with 7.0. Can't find them right now.


Also, there is a trick when you want to use tftp, by default the kernel 
will try nfs if it has been built with nfs code, so check for references 
to nfs. The generic kernel is built with with the option


options NFSCL
options NFSD
options NFSLOCKD
options NFS_ROOT

these should be disabled.


Thanks for this information, it has given me some other things to
think about and could potentially lead to a proper solution.


My approach to this is to create a closed network with one server 
providing all the necessary services (dhcp, tftp and ftp/http) as well 
as a local mirror with all the required files for installation.


If you have a lot of servers, it makes no sense that each sould fetch 
packages from the public mirrors, hence for installation there should be 
no need for access to external networks.


If you do this you can configure your switches accordingly without any 
need for vlan tagging.


BR, Erik
--
M: +34 666 334 818
T: +34 915 211 157
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Rick Miller
 2) do you fetch the kernel successfully?

 When using tftp, The kernel and kernel modules are fetched before the memory
 file system, so do pxeboot fetch the kernel but not the mfsroot?

 The reason for these questions is that your problem may be with the kernel
 and kernel modules and not pxeboot. Just to be sure.

 I see what you are saying.  We will have to look at the packet
 captures to make that determination.

The target system loads pxeboot.bs and consequently requests the
following files:

/boot/boot.4th (which it does not find)
/boot/loader.rc
/boot/loader.4th
/boot/support.4th
/boot/defaults/loader.conf
/boot/device.hints
/boot/loader.conf

It is at this point where the failure occurs.  The contents of loader.conf are:

mfsroot_load=YES
mfsroot_type=mfs_root
mfsroot_name=/boot/mfsroot

Does this seem consistent with what you were theorizing that it's the
kernel that has the problem with vlan tagging and not pxeboot.bs?


-- 
Take care
Rick Miller
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Erik Nørgaard

On 06/02/2012 17:33, Rick Miller wrote:

2) do you fetch the kernel successfully?

When using tftp, The kernel and kernel modules are fetched before the memory
file system, so do pxeboot fetch the kernel but not the mfsroot?

The reason for these questions is that your problem may be with the kernel
and kernel modules and not pxeboot. Just to be sure.


I see what you are saying.  We will have to look at the packet
captures to make that determination.


The target system loads pxeboot.bs and consequently requests the
following files:

/boot/boot.4th (which it does not find)
/boot/loader.rc
/boot/loader.4th
/boot/support.4th
/boot/defaults/loader.conf
/boot/device.hints
/boot/loader.conf

It is at this point where the failure occurs.  The contents of loader.conf are:

mfsroot_load=YES
mfsroot_type=mfs_root
mfsroot_name=/boot/mfsroot

Does this seem consistent with what you were theorizing that it's the
kernel that has the problem with vlan tagging and not pxeboot.bs?


See the other mail, the way pxeboot works IIRC, is that first the 
pxeboot is fetched using tftp, the pxeboot is given the next server and 
will fetch the kernel, modules and other files from /boot/ on that 
server, (path respective to the root of the tftp dir).


The kernel loads and will then fetch the mfsroot file. As mentioned, by 
default this is done using nfs, and nfs is assumed if the kernel 
supports nfs, even if it only fetches one file. This I understand has to 
be this way since the network configuration set with dhcp does not 
specify the protocol.


So, if your kernel supports nfs it will not use tftp and hence fail.

The details are somewhat distant to me, it's been some time since I 
messsed arround with this.


hope this helps.
BR, Erik
--
M: +34 666 334 818
T: +34 915 211 157
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Rick Miller
Thanks for your feedback, Erik!  I do have a question below...

On Mon, Feb 6, 2012 at 11:45 AM, Erik Nørgaard norga...@locolomo.org wrote:

 See the other mail, the way pxeboot works IIRC, is that first the pxeboot is
 fetched using tftp, the pxeboot is given the next server and will fetch the
 kernel, modules and other files from /boot/ on that server, (path respective
 to the root of the tftp dir).

 The kernel loads and will then fetch the mfsroot file. As mentioned, by
 default this is done using nfs, and nfs is assumed if the kernel supports
 nfs, even if it only fetches one file. This I understand has to be this way
 since the network configuration set with dhcp does not specify the protocol.

 So, if your kernel supports nfs it will not use tftp and hence fail.

The kernel I am using is the kernel from the DVD ISO as it is
downloaded from freebsd.org.  How do I determine what modules have
been enabled and disabled in that kernel?  I am under the assumption
that NFS is compiled into that kernel.  We can install 8.2-RELEASE
with this kernel in VMs, but not bare metal.  Is there an explanation
as to why an NFS enabled kernel would work inside a VM, but fail on
bare metal?

-- 
Take care
Rick Miller
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Rick Miller
We have determined that it has failed after loading pxeboot.bs and
before loading the kernel.  Therefore, the kernel is not the problem.
I have also determined that vlan tagging is not the problem as it has
failed with vlan tagging disabled.  I don't believe it is the content
because it works in 3 out of 4 different environments.  In fact, in
the 4th environment in recent tests, it worked a handful of times
before failing again.

Suspecting network configurations at this point, but thanks for the
input provided thus far.  It has been immensely helpful.

On Mon, Feb 6, 2012 at 11:45 AM, Erik Nørgaard norga...@locolomo.org wrote:
 On 06/02/2012 17:33, Rick Miller wrote:

 2) do you fetch the kernel successfully?

 When using tftp, The kernel and kernel modules are fetched before the
 memory
 file system, so do pxeboot fetch the kernel but not the mfsroot?

 The reason for these questions is that your problem may be with the
 kernel
 and kernel modules and not pxeboot. Just to be sure.


 I see what you are saying.  We will have to look at the packet
 captures to make that determination.


 The target system loads pxeboot.bs and consequently requests the
 following files:

 /boot/boot.4th (which it does not find)
 /boot/loader.rc
 /boot/loader.4th
 /boot/support.4th
 /boot/defaults/loader.conf
 /boot/device.hints
 /boot/loader.conf

 It is at this point where the failure occurs.  The contents of loader.conf
 are:

 mfsroot_load=YES
 mfsroot_type=mfs_root
 mfsroot_name=/boot/mfsroot

 Does this seem consistent with what you were theorizing that it's the
 kernel that has the problem with vlan tagging and not pxeboot.bs?


 See the other mail, the way pxeboot works IIRC, is that first the pxeboot is
 fetched using tftp, the pxeboot is given the next server and will fetch the
 kernel, modules and other files from /boot/ on that server, (path respective
 to the root of the tftp dir).

 The kernel loads and will then fetch the mfsroot file. As mentioned, by
 default this is done using nfs, and nfs is assumed if the kernel supports
 nfs, even if it only fetches one file. This I understand has to be this way
 since the network configuration set with dhcp does not specify the protocol.

 So, if your kernel supports nfs it will not use tftp and hence fail.

 The details are somewhat distant to me, it's been some time since I messsed
 arround with this.

 hope this helps.

 BR, Erik
 --
 M: +34 666 334 818
 T: +34 915 211 157



-- 
Take care
Rick Miller
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: pxeboot.bs and vlan tagging

2012-02-06 Thread Erik Nørgaard

On 06/02/2012 19:34, Rick Miller wrote:

Thanks for your feedback, Erik!  I do have a question below...



The kernel I am using is the kernel from the DVD ISO as it is
downloaded from freebsd.org.  How do I determine what modules have
been enabled and disabled in that kernel?  I am under the assumption
that NFS is compiled into that kernel.  We can install 8.2-RELEASE
with this kernel in VMs, but not bare metal.  Is there an explanation
as to why an NFS enabled kernel would work inside a VM, but fail on
bare metal?


The kernel distributed with the ISOs is the generic kernel, so if you 
have the source (it's also on the DVD) you'll find the GENERIC kernel 
configuration file in /usr/src/sys/YOUR_ARCH/conf/GENERIC and you can 
see what are the compile options.


You'll see these options:

options MD_ROOT  # MD is a potential root device
options NFSCL# New Network Filesystem Client
options NFSD # New Network Filesystem Server
options NFSLOCKD # Network Lock Manager
options NFS_ROOT # NFS usable as /, requires NFSCL

The first one is required, this allows your kernel to mount a memory 
disk device (your mfsroot), the others enable NFS. You need to rebuild 
the kernel with NFS disabled.


BR, Erik

--
M: +34 666 334 818
T: +34 915 211 157
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org