Bug 123484 - [patch] teach pxeboot.8 about ISC DHCP v3
Summary: [patch] teach pxeboot.8 about ISC DHCP v3
Status: Closed FIXED
Alias: None
Product: Documentation
Classification: Unclassified
Component: Manual Pages (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Guangyuan Yang
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2008-05-07 07:50 UTC by edwin
Modified: 2019-04-21 04:16 UTC (History)
2 users (show)

See Also:


Attachments
file.diff (1.11 KB, patch)
2008-05-07 07:50 UTC, edwin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description edwin 2008-05-07 07:50:00 UTC
Fix documentation in pxeboot.8 with regarding to the DHCP server
configuration lines.

     The pxeboot binary is loaded just like any other boot file, by specifying
     it in the DHCP server's configuration file.  Below is a sample configura-
|    tion for the ISC DHCP v3 server:

           option domain-name "example.com";
           option routers 10.0.0.1;
           option subnet-mask 255.255.255.0;
           option broadcast-address 10.0.0.255;
           option domain-name-servers 10.0.0.1;
           server-name "DHCPserver";
           server-identifier 10.0.0.1;
+          next-server 10.0.0.1;

           default-lease-time 120;
           max-lease-time 120;

           subnet 10.0.0.0 netmask 255.255.255.0 {
                  filename "pxeboot";
                  range 10.0.0.10 10.0.0.254;
           }

+    next-server is the IP address of the next server in the bootstrap
+    process, i.e.  your TFTP server or NFS server.  pxeboot recognizes

See also http://www.mavetju.org/weblog/html/00110.html for some
details on the next-server change in the ISC DHCP server.
Comment 1 Brad Davis freebsd_committer freebsd_triage 2008-05-10 02:56:32 UTC
Responsible Changed
From-To: freebsd-doc->brd

grab.
Comment 2 Edwin Groothuis freebsd_committer freebsd_triage 2008-05-28 23:22:23 UTC
Responsible Changed
From-To: brd->edwin

Take back (brd agreed)
Comment 3 edwin 2008-06-11 04:44:48 UTC
----- Forwarded message from Ruslan Ermilov <ru@freebsd.org> -----

> > > Not having the next-server statement in the DHCP configuration will
> > > prevent QEMU to boot via TFTP. I don't know if it will work with
> > > NFS if the statement isn't there, but it won't work with TFTP
> > > anymore.
> > > 
> > The proposed patch is incorrect, as explained.  It needs to be
> > fixed, but in a different way.
> 
> I tried this:
> 
>     subnet 192.168.253.0 netmask 255.255.255.0 {
> 	    range 192.168.253.20 192.168.253.120;
> 	    option routers 192.168.253.1;
> 
> 	    option bootfile-name "pxeboot";
> 	    option root-path "192.168.253.2:/mnt/ad8/qemu/os/FreeBSD-6.3";
> 	    filename "pxeboot";
> 	    server-identifier 192.168.253.1;
>     #       next-server 192.168.253.1;
>     }
> 
> My QEMU host doesn't do PXE booting, it keeps doing DHCP requests.
> I wouldn't be surprsed if it was an implementation-specific thing
> per ROM on the NIC.
> 
> The moment I uncomment the next-server statement, it loads pxeboot
> via TFTP from 192.168.253.1 and then NFS from 192.168.253.2.
> 
> How about I make the text to:
> 
>      The pxeboot binary is loaded just like any other boot file,
>      by specifying it in the DHCP server's configuration file.
>      Below are the relevant lines for the configuration of the ISC
>      DHCP v3 server, where 10.0.0.1 is the network router, 10.0.0.2
>      is the DHCP server, 10.0.0.3 is the TFTP server and 10.0.0.4
>      is the NFS server:
> 
>            server-name "DHCPserver";
>            server-identifier 10.0.0.2;
>            option routers 10.0.0.1;
>            option domain-name-servers 10.0.0.2;
> 
>            subnet 10.0.0.0 netmask 255.255.255.0 {
>                 range 10.0.0.10 10.0.0.254;
> 		next-server 10.0.0.3;
>                 filename "pxeboot";
> 		option root-path "10.0.0.4:/exports/FreeBSD-6.3";
>            }
> 
This part looks good (except for the mix of tabs/spaces :-).

>      pxeboot uses the next-server option as the TFTP server
>      to download the file specified in the filename directive and
>      root-path option as the NFS server and NFS mount path for the
>      file system. Note that pxeboot expects to fetch /boot/loader.rc
>      from the specified server before loading any other files.
> 
This is misleading.  The first sentence above basically says that
"pxeboot is used to download pxeboot".  Instead, it's like follows:

1.  The PXE ROM uses either "next-server" (if specified) or the
    DHCP server's IP as the TFTP server to download the "pxeboot"
    binary specified in the "filename" directive

2.  "pxeboot" then uses:
    for NFS (default compilation):
      - root-path with an embedded IP address,
      - next-server's root-path
      - DHCP server's root-path
    for TFTP (when compiled with option LOADER_TFTP_SUPPORT):
      - next-server
      - DHCP server
      (e.g. as in 1 above).


Cheers,
-- 
Ruslan Ermilov
ru@FreeBSD.org
FreeBSD committer

----- End forwarded message -----

-- 
Edwin Groothuis      |            Personal website: http://www.mavetju.org
edwin@mavetju.org    |              Weblog: http://www.mavetju.org/weblog/
Comment 4 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:00:12 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped
Comment 5 commit-hook freebsd_committer freebsd_triage 2018-11-25 09:38:32 UTC
A commit references this bug:

Author: ygy
Date: Sun Nov 25 09:37:58 UTC 2018
New revision: 340917
URL: https://svnweb.freebsd.org/changeset/base/340917

Log:
  Update pxeboot(8) manual page to reflect the next-server change in the ISC DHCP v3 server.

  PR:		123484
  Submitted by:	edwin@mavetju.org
  Reviewed by:	AllanJude
  MFC after:	1 week

Changes:
  head/stand/i386/pxeldr/pxeboot.8
Comment 6 commit-hook freebsd_committer freebsd_triage 2018-11-27 08:51:29 UTC
A commit references this bug:

Author: ygy
Date: Tue Nov 27 08:51:16 UTC 2018
New revision: 341007
URL: https://svnweb.freebsd.org/changeset/base/341007

Log:
  Bump the date of pxeboot(8) manual page for r340917.

  PR:		123484
  MFC after:	5 days

Changes:
  head/stand/i386/pxeldr/pxeboot.8
Comment 7 commit-hook freebsd_committer freebsd_triage 2018-12-02 19:09:47 UTC
A commit references this bug:

Author: ygy
Date: Sun Dec  2 19:08:52 UTC 2018
New revision: 341403
URL: https://svnweb.freebsd.org/changeset/base/341403

Log:
  MFC r340917, r341007

  r340917:
  Update pxeboot(8) manual page to reflect the next-server change in the ISC DHCP v3 server.

  r341007:
  Bump the date of pxeboot(8) manual page for r340917.

  PR:		123484
  Submitted by:	edwin@mavetju.org
  Reviewed by:	AllanJude

Changes:
_U  stable/12/
  stable/12/stand/i386/pxeldr/pxeboot.8
Comment 8 commit-hook freebsd_committer freebsd_triage 2019-04-21 04:16:35 UTC
A commit references this bug:

Author: kevans
Date: Sun Apr 21 04:15:58 UTC 2019
New revision: 346480
URL: https://svnweb.freebsd.org/changeset/base/346480

Log:
  MFC r338262, r339334, r339796, r340240, r340857, r340917, r341007

  r338262:
  stand: fdt: Drop some write-only assignments/variables and leaked bits

  Generally straightforward enough; a copy of argv[1] was being made in
  command_fdt_internal, solely used for a comparison within the
  handler-search, then promptly leaked.

  r339334:
  loader.efi: add poweroff command

  Add poweroff command to make life a bit easier.

  r339796:
  Simplify the EFI delay() function by calling BS->Stall()

  r340240:
  loader: ptable_open() check for ptable_cd9660read result is wrong

  The ptable_*read() functions return NULL on read errors (and partition table
  closed as an side effect). The ptable_open must check the return value and
  act properly.

  r340857:
  Nuke out buffer overflow safety marker code, it duplicates similar code in
  the malloc()/free() as well as having potential of softening the handling
  in case error is detected down to a mere warning as compared to hard panic
  in free().

  r340917:
  Update pxeboot(8) manual page to reflect the next-server change in the ISC DHCP v3 server.

  r341007:
  Bump the date of pxeboot(8) manual page for r340917.

  PR:		123484, 232483

Changes:
_U  stable/11/
  stable/11/stand/common/bcache.c
  stable/11/stand/common/part.c
  stable/11/stand/efi/libefi/delay.c
  stable/11/stand/efi/loader/main.c
  stable/11/stand/fdt/fdt_loader_cmd.c
  stable/11/stand/i386/pxeldr/pxeboot.8