pxeboot.bs and vlan tagging
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
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
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
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
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
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
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
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
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