NetBSD Problem Report #43035

From www@NetBSD.org  Sun Mar 21 22:40:04 2010
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id D410A63C49B
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 21 Mar 2010 22:40:03 +0000 (UTC)
Message-Id: <20100321224003.66E6663B873@www.NetBSD.org>
Date: Sun, 21 Mar 2010 22:40:03 +0000 (UTC)
From: s02mjtj@math.ku.dk
Reply-To: s02mjtj@math.ku.dk
To: gnats-bugs@NetBSD.org
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
>Organization:
>Environment:
does not apply - it's a laptop pxebooting - no prompt to issue 'uname -a' in
>Description:
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 "example.org";
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

next-server 10.254.239.1;
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 10.152.187.0 netmask 255.255.255.0 {
}

subnet 10.254.239.0 netmask 255.255.255.224 {
  range 10.254.239.10 10.254.239.20;
}

--- 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
timeout=10
--- boot.cfg end ---

>How-To-Repeat:
any PXE boot from laptop/pc towards mentioned dhcp/tftp server immediately jumps to loading the netbsd kernel skipping the boot menu
>Fix:
not known

>Audit-Trail:
From: Zoltan Arnold NAGY <zoltan.arnold.nagy@gmail.com>
To: gnats-bugs@netbsd.org
Cc: 
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.

 Zoltan

NetBSD Home
NetBSD PR Database Search

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