Diskless Operation Question

Lowell Gilbert freebsd-questions-local at be-well.no-ip.com
Fri Jul 4 07:15:01 PDT 2003


"Benjamin Polidore" <polidore at 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 at 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 at 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


More information about the freebsd-questions mailing list