NetBSD Problem Report #43035

From  Sun Mar 21 22:40:04 2010
Return-Path: <>
Received: from ( [])
	by (Postfix) with ESMTP id D410A63C49B
	for <>; Sun, 21 Mar 2010 22:40:03 +0000 (UTC)
Message-Id: <>
Date: Sun, 21 Mar 2010 22:40:03 +0000 (UTC)
Subject: missing dhcp request for boot.cfg from pxeboot_ia32.bin
X-Send-Pr-Version: www-1.0

>Number:         43035
>Category:       kern
>Synopsis:       missing dhcp request for boot.cfg from pxeboot_ia32.bin
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Mar 21 22:45:00 +0000 2010
>Last-Modified:  Thu Jun 17 14:05:02 +0000 2010
>Originator:     Mads Johansen
>Release:        NetBSD-5.0.2
does not apply - it's a laptop pxebooting - no prompt to issue 'uname -a' in
According to man(8) on pxeboot, pxeboot_ai32.bin should do dhcp request for boot.cfg file.

It appears not to do so when pxe booting against a server with the following setup - in particular the dhcpd trace does not show any such request while the netbsd request shows in the trace, and the kernel is indeed loaded right away without a boot menu.

1) dhcpd server:

isc-dhcpd-4.1.1 running of an Absolute-13.1.0 (slackware derivate)

--- dhcpd.conf begin ---
option domain-name "";
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

filename "g4u/pxeboot_ia32.bin";
if substring (option vendor-class-identifier, 0 , 17) = "NetBSD:i386:libsa" {
  if filename = "boot" {
    filename = "tftp:g4u/boot.cfg";
  } else if filename = "netbsd" {
    filename = "tftp:g4u/netbsd";

subnet netmask {

subnet netmask {

--- dhcpd.conf end ---

2) boot config

--- boot.cfg begin ---
banner=disk clones with g4u
menu=Start g4u:load tftp:g4u/miniroot.kmod; boot tftp:g4u/netbsd
--- boot.cfg end ---

any PXE boot from laptop/pc towards mentioned dhcp/tftp server immediately jumps to loading the netbsd kernel skipping the boot menu
not known

From: Zoltan Arnold NAGY <>
Subject: Re: kern/43035
Date: Thu, 17 Jun 2010 16:04:53 +0200

 I investigated this a little.

 The following check fails inside pxe.c:

 if (!(boot_params.bp_flags & X86_BP_FLAGS_NOBOOTCONF)) {

 now, boot_params is setup by sys/arch/i386/stand/bootxx/bootxx.S, by reading
 the disk. from the comment:

 525  * Fill in any user-specified options into the
 526  *      struct x86_boot_params
 527  * that's 8 bytes in from the start of the third sector.

 while booting from a network, we don't exactly want that, I guess. :)

 I haven't inspected it further; it time will allow, I will.


NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD:,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.