From owner-freebsd-hackers@FreeBSD.ORG Sun Jul 1 18:13:35 2007 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id A998616A41F for ; Sun, 1 Jul 2007 18:13:35 +0000 (UTC) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [212.12.50.230]) by mx1.freebsd.org (Postfix) with ESMTP id 2C79D13C45A for ; Sun, 1 Jul 2007 18:13:34 +0000 (UTC) (envelope-from cracauer@koef.zs64.net) Received: from koef.zs64.net (koef.zs64.net [212.12.50.230]) by koef.zs64.net (8.14.1/8.14.1) with ESMTP id l61IDYe3078386 for ; Sun, 1 Jul 2007 20:13:34 +0200 (CEST) (envelope-from cracauer@koef.zs64.net) Received: (from cracauer@localhost) by koef.zs64.net (8.14.1/8.14.1/Submit) id l61IDYIX078385 for freebsd-hackers@freebsd.org; Sun, 1 Jul 2007 14:13:34 -0400 (EDT) (envelope-from cracauer) Date: Sun, 1 Jul 2007 14:13:34 -0400 From: Martin Cracauer To: freebsd-hackers@freebsd.org Message-ID: <20070701181334.GA77427@cons.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.2i Subject: pxeboot and /boot filesystem, share /boot/kernel X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Jul 2007 18:13:35 -0000 I want to tighten up my spaces for diskless machines and I came across this puzzle with pxeboot: I can share /usr and most other filesystems, but my individual roots for the machine each have to have the full kernel. But /boot/kernel is rather large these days and totally identical, so I'd rather share it. %% You can only specify a root filesystem location via the dhcp options. Then, whatever kernel is there in location:/boot/kernel (or rather, loader.rc) will be booted, which will then pick up the / filesystem via location:/etc/fstab. This is not quite what I want, because I want /boot/kernel to be shared, purely for filesize reasons. But I can't specify a separate /boot filesystem. I can't find an easy way to share /boot but not share /. Or in other words, the core of the problem is that I want to share /boot/kernel but not share /etc/fstab. %% So, while writing this mail it occured to me that what I can do is put a /boot/loader.rc on the individual / filesystems that then redirects to a common kernel location. But I don't see how I can make this work as I do not have the option to point to a new NFS mount in /boot/loader.conf, or do I? So what I would want is (on the server): /diskless-usr/ /diskless-kernel/ [has /boot/kernel/ in it] /diskless/root1/ [has /boot/loader.conf in it] /diskless/root2/ DHCP "root-path" is then addr:/diskless/root1 Where /diskless/root1/boot/loader.conf specifies addr:/diskless-kernel/boot/kernel/kernel instead of just a filename. Now, the question is how do I make loader.4th able to mount NFS or use tftp? %% I think I have three paths to go here: 1) make pxeboot understand a separate "boot-path" dhcp option. 2) make loader.4th able to use NFS or tftp. IP is already up by the time it is started. 3) only share /boot/kernel/kernel and share a NFS mount for the modules, but that's very messy. Martin -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Martin Cracauer http://www.cons.org/cracauer/ FreeBSD - where you want to go, today. http://www.freebsd.org/