Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Oct 2005 19:18:58 -0400
From:      Miles Nordin <carton@Ivy.NET>
To:        freebsd-sparc64@freebsd.org
Subject:   Re: Is there a nice diskless HOWTO?
Message-ID:  <oqd5m3zq8t.fsf@castrovalva.Ivy.NET>
In-Reply-To: Bruce O'Neel's message of "Mon, 17 Oct 2005 08:24:39 %2B0000"
References:  <20051017082439.GA9372@SDF.LONESTAR.ORG> <oqll3uox1n.fsf@castrovalva.Ivy.NET> <20050726161047.GJ62369@funkthat.com> <20050726162755.GA67178@xor.obsecurity.org> <20050726120052.7EFAE16A41F@hub.freebsd.org> <42E7119B.5010101@alaska.net> <200507270515.j6R5Fhj17277@hobbit.sirius.net.au> <oqzms7naaq.fsf_-_@castrovalva.Ivy.NET>

next in thread | previous in thread | raw e-mail | index | archive | help
--pgp-sign-Multipart_Mon_Oct_17_19:18:48_2005-1
Content-Type: text/plain; charset=US-ASCII

>>>>> "bo" == Bruce O'Neel <edoneel@sdf.lonestar.org> writes:

    bo> Hi, Is there a nice diskless HOWTO? 

AFAICT no.

I believe you can install by hand just as on NetBSD, except while for
NetBSD you just extract the .tgz files, for FreeBSD you have to cat
together the blah.a{b,c,d,e,f} chunks, and then pipe that into gzip |
pax -rpe.  or is it bunzip2, i forget.

The three significant differences I found between FreeBSD and NetBSD
nfsroots are:

 * On NetBSD, the 'option root-path' option is a path only, not a
   server IP, and the IP address of the root NFS server if it differs
   from the 'next-server' goes into the 'option swap-server' field.
   NetBSD doesn't document this, but that's how it is.  On FreeBSD,
   the root-path option is "1.2.3.4:/path/to/root" as you'd expect.

 * FreeBSD is broken all over the place if the NFS server doesn't
   support locking.  like, 'vi' doesn't work for example.  and AFAICT
   it is impossible to disable the default locking-enabled mount
   options of an NFS root.  NetBSD doesn't use locking anywhere---I
   think there is no working NetBSD code written for NFS locking,
   client or server.

 * NetBSD NFSroot users like to make mfs's and tmpfs's for things like
   /dev, /tmp, /var/run.  FreeBSD doesn't have mount_mfs---it uses
   something else.  I couldn't get FreeBSD's mdmfs to work at all, but
   FreeBSD has a devfs so it's good there's no incentive to make a
   /dev mfs as on NetBSD.

-----8<-----
>>>>> "jg" == John-Mark Gurney <gurney_j@resnet.uoregon.edu> writes:
>>>>> "kk" == Kris Kennaway <kris@obsecurity.org> writes:
>>>>> "rw" == Royce Williams <royce@alaska.net> writes:
>>>>> "a" == alm  <alm@sirius.net.au> writes:

    jg> http://people.freebsd.org/~murray/sparc64/install.html
    kk> Here's a snippet from my dhcpd.conf
    rw> http://ezine.daemonnews.org/200301/sparc64-nfsroot.html
     a> -Configure a static DHCP lease for it: 
     a> host netboot { 
     a>   hardware ethernet <mac-addr> ; 
     a>   option host-name "<hostname>" ;
     a>   fixed-address <IP addr.> ; 
     a>   always-reply-rfc1048 on; 
     a>   filename "/boot/loader"; 
     a>   next-server <TFTP/NFS server> ; 
     a>   option root-path "<TFTP/NFS server>:/mnt" ;
     a> }

It turned out to be pretty easy just to get the system booted once
hearing that /boot/loader could be fed straight to OpenPROM over tftp.

This:

     a> boot net:dhcp

behaved the same on my sparc64 as 'boot net'.  The OpenPROM used RARP
(not DHCP) to find the second-stage loader even with 'boot net:dhcp'.
Then it TFTPs to whatever machine replied to the RARP.  I wonder if
net:dhcp is a cue to Solaris's inetboot?  They have this massively
complicated 'wanboot' framework now, too, including multiple
cryptographic keys and CGI scripts on web servers.  <shudder>.

I put /boot/loader in the tftpboot directory and named it C0A8017C to
match the IP of my Sun, 192.168.1.124.  /boot/loader then used DHCP
(not bootparams) to get just one option, root-path:

host amber {
  fixed-address amber;
  hardware ethernet 08:00:20:xx:xx:xx;
  option root-path "69.31.131.61:/export0/nbnfs/amber";
}

and /boot/loader loaded loader.conf and whatever else it needed over
NFS rather than TFTP.  The only thing loaded over TFTP was
the file C0A8017C (a copy of /boot/loader).

     a> lofiadm

I didn't end up using this nor the mfsroot, because I didn't use
sysinstall.  I just extracted all the {base,doc,src,..}.{aa,ab,ac...}
files by hand.  But it's good to have those instructions written down
because others will probably want to netboot into sysinstall.

Now I have three more problems:

 1. The NetBSD NFS server I'm using doesn't support locking, so I
    can't run vipw or pwd_mkdb, and vi always says 'UNLOCKED' in the
    status bar.  I can't 'mount -u -o -L 69.31.131.61:/ex.... /'
    because the -L option is documented, obeyed only on initial mount,
    not for remount.  Is there a way to get this option turned on for
    the initial root mount?

 2. I tried 'mdmfs -s 32m md /tmp' and it never returned to the
    prompt.  ^C doesn't work, and I can't get to 'ok' or to 'ddb>' by
    pressing BREAK.  Is there a sysctl to obey BREAK?

 3. Boot hung after ``waiting 15 seconds for SCSI devices to settle''
    when I have my Firewire card installed.  The Install CD boots
    successfully with the card installed and even makes an fwe0.  Is
    there a way to use the loader to disable a broken device like this
    SCSI-over-Firewire?  I tried commands like 'disable-module sbp'
    but it always says 'sbp not found'.

sorry for all the questions.  I'm just getting started.


--pgp-sign-Multipart_Mon_Oct_17_19:18:48_2005-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.6 (NetBSD)

iQCVAwUAQ1QxYonCBbTaW/4dAQKS+QP/ZpM3L223fijmWzuS/NpUHl+5Hss7pRWg
eyrwD7s+aKrhPHSI5EC1ho5niQJfP3UeM604rOxHrlVHTmM+9rdjdArPU03eczTH
8X1Irb2g3q96diQ3O9VbD68S/SwluXpmjvhKl3cI5DFWvUKzbYyRcN/dq+JKckiS
R4YOmTpRzVo=
=MqRP
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Mon_Oct_17_19:18:48_2005-1--



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