From owner-freebsd-stable@FreeBSD.ORG Fri Jun 5 19:34:12 2009 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2CFBB1065673; Fri, 5 Jun 2009 19:34:12 +0000 (UTC) (envelope-from hlh@restart.be) Received: from tignes.restart.be (tignes.restart.be [IPv6:2001:41d0:2:2d29:0:1::]) by mx1.freebsd.org (Postfix) with ESMTP id A28688FC1E; Fri, 5 Jun 2009 19:34:11 +0000 (UTC) (envelope-from hlh@restart.be) Received: from restart.be (avoriaz.tunnel.bel [IPv6:2001:41d0:2:2d29:1:ffff::]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "avoriaz.restart.be", Issuer "CA master" (verified OK)) by tignes.restart.be (Postfix) with ESMTPS id 86E5445FA; Fri, 5 Jun 2009 21:34:10 +0200 (CEST) Received: from morzine.restart.bel (morzine.restart.be [IPv6:2001:41d0:2:2d29:1:2::]) (authenticated bits=0) by restart.be (8.14.3/8.14.3) with ESMTP id n55JY6AQ012893; Fri, 5 Jun 2009 21:34:06 +0200 (CEST) (envelope-from hlh@restart.be) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=restart.be; s=avoriaz; t=1244230450; bh=k/bOSh4CFJapnw2KVoYdTDmTxjSi5ElYZmxBWr/plqw=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type; b=LXFXfn3Rvj+R7ZP8cloF5TzbQWSywL9tygErpjtdTxvLAU4qMBz+WqCG+VvxzT+hS RTlchxN3fcf03TejoRaUw== DomainKey-Signature: a=rsa-sha1; s=avoriaz; d=restart.be; c=nofws; q=dns; h=message-id:date:from:organization:user-agent:mime-version:to:cc: subject:references:in-reply-to:content-type:x-scanned-by; b=aMtfvcTtM16kUG3/wXFmw/pON/IztS7eUz8XZ7bmhVNNVX6EVZqKnEjsomUAbrtQm HS2eSr6R2tON8/m8hrxWA== Message-ID: <4A29732E.6090103@restart.be> Date: Fri, 05 Jun 2009 21:34:06 +0200 From: Henri Hennebert Organization: RestartSoft User-Agent: Thunderbird 2.0.0.21 (X11/20090412) MIME-Version: 1.0 To: Kip Macy References: <29579856-69F7-4CDC-A52A-B414A40180ED@yellowspace.net> <18972.5870.795005.186542@already.dhcp.gene.com> <4A1C18CC.7080902@icyb.net.ua> <18972.7173.216763.407615@already.dhcp.gene.com> <4A23A81A.5050600@restart.be> <3c1674c90906010608te5fdf82r8349fcb9332485d@mail.gmail.com> <4A240E17.30907@egr.msu.edu> <3c1674c90906011515r5f706fdfl570e17a3c90f169f@mail.gmail.com> In-Reply-To: <3c1674c90906011515r5f706fdfl570e17a3c90f169f@mail.gmail.com> Content-Type: multipart/mixed; boundary="------------000607090404040100040306" X-Scanned-By: MIMEDefang 2.64 on IPv6:2001:41d0:2:2d29:1:1:: Cc: Lorenzo Perone , Mickael MAILLOT , Adam McDougall , FreeBSD Stable Mailing List , Alberto Villa Subject: Re: ZFS booting without partitions X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Jun 2009 19:34:12 -0000 This is a multi-part message in MIME format. --------------000607090404040100040306 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Kip Macy wrote: > On Mon, Jun 1, 2009 at 10:21 AM, Adam McDougall wrote: >> I'm thinking that too. I spent some time taking stabs at figuring it out >> yesterday but didn't get anywhere useful. I did try compiling the -current >> src/sys/boot tree on 7.2 after a couple header tweaks to make it compile but >> the loader still didn't work. The working loader is the same file size as >> the broken loader unless it was compiled on i386 and then it is ~30k bigger >> for some reason (it shrinks to the same size as the rest if I force it to >> use the same 32bit compilation flags as used on amd64). Just mentioning >> this in case it saves someone else some time. I'm real pleased it works at >> all. > > If someone has the time to track down the differences I'll MFC them. > I'm not using ZFS boot at the moment so I have no way of testing. > At last I get this F.....G diff!!! The problem was in libstand.a. By the way , the patch also take into account the update of Doug Rabson to answer my problem with too many devices / pools. Happy to help on this one. > Cheers, > Kip --------------000607090404040100040306 Content-Type: text/plain; name="lib_libstand.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="lib_libstand.patch" --- lib/libstand/stand.h.orig 2007-01-09 02:02:04.000000000 +0100 +++ lib/libstand/stand.h 2009-06-03 17:24:42.627552341 +0200 @@ -167,7 +167,7 @@ #define SOPEN_RASIZE 512 }; -#define SOPEN_MAX 8 +#define SOPEN_MAX 64 extern struct open_file files[]; /* f_flags values */ --- lib/libstand/nfs.c.orig 2004-01-21 21:12:23.000000000 +0100 +++ lib/libstand/nfs.c 2009-06-05 20:36:26.001368421 +0200 @@ -29,7 +29,7 @@ */ #include -__FBSDID("$FreeBSD: src/lib/libstand/nfs.c,v 1.12 2004/01/21 20:12:23 jhb Exp $"); +__FBSDID("$FreeBSD: src/lib/libstand/nfs.c,v 1.14 2008/11/21 09:14:29 luigi Exp $"); #include #include @@ -405,16 +405,23 @@ #ifdef NFS_DEBUG if (debug) - printf("nfs_open: %s (rootpath=%s)\n", path, rootpath); + printf("nfs_open: %s (rootpath=%s)\n", upath, rootpath); #endif if (!rootpath[0]) { printf("no rootpath, no nfs\n"); return (ENXIO); } + /* + * This is silly - we should look at dv_type but that value is + * arch dependant and we can't use it here. + */ #ifndef __i386__ if (strcmp(f->f_dev->dv_name, "net") != 0) return(EINVAL); +#else + if (strcmp(f->f_dev->dv_name, "pxe") != 0) + return(EINVAL); #endif if (!(desc = socktodesc(*(int *)(f->f_devdata)))) --------------000607090404040100040306--