Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Aug 1995 15:30:29 -0700 (PDT)
From:      ambrisko@tcs.com (Douglas Ambrisko)
To:        matte@sdf.luth.se (Karlsson Mattias)
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Autoinstall for FreeBSD???
Message-ID:  <9508072230.AA00708@cozumel.tcs.com>
In-Reply-To: <199508072137.XAA12849@alkinoos.sdf.luth.se> from "Karlsson Mattias" at Aug 7, 95 11:37:31 pm

next in thread | previous in thread | raw e-mail | index | archive | help
Karlsson Mattias writes:
| 
|   Hello hackers!
| 
| I was thinking to make an autoinstall feature for FreeBSD, almost 
| like the autoinstall for Solaris. 
| 
| Which would partition, install the operating system, config the kernel,
| setup the config files and install aditional software (ports,packages) etc. 
| 
| I have looked at the install and config section and that part will not be the
| hardest part. The trickiest part will probably be to know when a netbooting 
| computer is in "install mode" so what do you think about passing a flag to
| the kernel and then make a program that could check what flags that where 
| passed to the kernel. And if the kernel whas passed the install flag it would
| instead of starting init start a install script which would do the install and
| partitioning and config work. 

Here is some insight on what I have done before to manage a cluster of 
UNIX boxes, with no sysadm and worked really well.
	- modify bootpd so that it sends a query to a network manager with
	  the ethernet hardware address and use the reply from the network 
	  manager server instead of the bootptab file.
	- build a network manager server (I had little system icons etc to
	  identify systems) to listen for the hardware ether address.  When
	  it gets a request from a new computer on the net (ie new hardware
	  ether addess) assign is an IP out of a pool of IP's and tell it
	  to load a special installation kernel (this could be very
	  similar to the floppy kernel) and give it a rootfs like the 
	  floppy kernel.  Modify sysinstall to do your default auto install
	  and take some of the default info from the netboot config file.
	  You can get the network config info to setup /etc/sysconfig vi
	  the netboot config file.  Reboot when you're done and now 
	  you should have a configured system on the net.  [I also changed
	  the colour of the icons to indicate the state of the machine]
	  I also made a special kernel that would only boot off the 
	  local file-system.  This was then passed to any machine that had
	  already been loaded by the server.  [the reason we did this was
	  to eliminate net-traffic for the basic OS stuff]

[we wanted each machine to boot the kernel from the net so we would know
when a machine paniced and wouldn't need to do anything with special boot
CD's etc. so we did this ...]
	- setup each work-station to boot of the net.  This is basically
	  done if you burn the netboot into the eprom and put that in the 
	  ethernet card. 

Now I did this on a totaly different UNIX platform, but clearly all the
hooks needed are mostly there now.  You also have the source to finish the
10% left to do -- if that. 
 
| Now i would like to get some comments, ideas and if any one have a better 
| idea to make the autoinstall then feel free to say so also feel free to 
| tell me what you think about this idea.
| 
| If this is an idea you like, I would like to have some help with adding the 
| kernel flag and the program that checks the passed flags to the kernel.  

I think a system like this would be extremely helpfull in a student lab
full of PC's running FreeBSD.  You could disable the BIOS from booting the
floppy (I think you can set a BIOS passwd to protect that) then it should 
be fairly safe except for net tampering etc.

Doug A.



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