Skip site navigation (1)Skip section navigation (2)
Date:      04 Jul 2003 10:14:58 -0400
From:      Lowell Gilbert <freebsd-questions-local@be-well.no-ip.com>
To:        "Benjamin Polidore" <polidore@wpi.edu>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Diskless Operation Question
Message-ID:  <44d6gqs7j1.fsf@be-well.ilk.org>
In-Reply-To: <20030702001945.M41376@wpi.edu>
References:  <20030702001945.M41376@wpi.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
"Benjamin Polidore" <polidore@wpi.edu> writes:

> I have a dedicated FreeBSD 5.1 server, and I am experimenting with a WinXP / 
> diskless-FreeBSD dual boot workstation.

I'm not running 5.1 myself, yet, but I'll drop in a few comments anyway.

> I have followed the instructions in the handbook and I get to a point that 
> makes me think I have done somthing wrong with my diskless kernel.  
> 
> The workstation boots with an etherboot floppy, finds the dhcp server and 
> downloads the kernel from NFS.  It seems to contemplate loading the kernel for 
> about 5 seconds then reboots.  
> 
> I have seen postings in the archives about recompiling the kernel with the 
> proper CPUTYPE in /etc/make.conf.
> 
> I have tried this and it makes no difference.

You wouldn't expect it to, in general.  This was probably working around
a compiler bug that I *think* was fixed by the last gcc update.

> The only thing I have been considering is that I have a bunch of modules that 
> were compiled & installed w/o CPUTYPE=p3, as they were imported with 
> clone_root.

Maybe, but I'm skeptical.

> So the only solution I can think of is to recompile/install these modules with 
> the proper CPUTYPE, but I'm not sure how to have make installkernel put the 
> modules / kernel in /misc/diskless/boot instead of /boot?

If I recall correctly (which I might not; I still seem to be short of
caffeine this morning) this is normally done with a jail(8) environment.

> I won't need to do this with userland, will I?  This would make diskless 
> operation impossible for my situation.

Again, jail or chroot might be a good shortcut here.  I think you're
right that it shouldn't be necessary, though.

> Below is a more detailed breakdown of what I am trying to do and some pieces 
> of my config files.
> 
> TIA-
> Ben Polidore
> polidore@wpi.edu
> 
> --Hardware
> My server:
> Via C3 800 
> "CPU: VIA C3 Samuel 2 (800.03-MHz 686-class CPU)
>   Origin = "CentaurHauls"  Id = 0x678  Stepping = 8
>   Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>" (from dmesg)
> 
> My workstation: Pentium III 933
> 
> --Configs
> *dhcpd.conf:
> option swap-path code 128 = string;
> option swap-size code 129 = integer 32;
> #snip
> host inferior {
>   hardware ethernet 00:03:6d:00:18:40;
>   fixed-address 10.0.0.100;
>   next-server 10.0.0.1;
>   filename "/misc/diskless/kernel";
>   option root-path "10.0.0.1:/misc/diskless";
>   option swap-path "10.0.0.1:/misc/diskless/netswap";
>   option swap-size 128000;
> }
> 
> *kernel config for DISKLESS:
> machine         i386
> #cpu            I486_CPU
> #cpu            I586_CPU
> cpu             I686_CPU
> ident           DISKLESS
> maxusers        0
> 
> options         INET                    #InterNETworking
> options         INET6                   #IPv6 communications protocols
> options         FFS                     #Berkeley Fast Filesystem
> options         SOFTUPDATES             #Enable FFS soft updates support
> options         UFS_ACL                 #Support for access control lists
> options         UFS_DIRHASH             #Improve performance on big directories
> options         MD_ROOT                 #MD is a potential root device
> options         NFSCLIENT               #Network Filesystem Client
> options         NFSSERVER               #Network Filesystem Server
> options         NFS_ROOT                #NFS usable as root device, requires 
> options         BOOTP
> options         BOOTP_NFSROOT
> options         BOOTP_COMPAT
> #that's all that seems pertinent
> 
> -I have diskless root at /misc/diskless:
> [cash@boxH50:~]# ls /misc/diskless/
> bin             conf            kernel          sbin            tmp
> boot            dev             mnt             stand           usr
> cdrom           etc             proc            swap.10.0.0.100 var
> compat          home            root            sys
> 
> -I compiled DISKLESS kernel like so:
> make buildkernel KERNCONF=DISKLESS CPUTYPE=p3
> #i also had CPUTYPE=p3 in make.conf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44d6gqs7j1.fsf>