1 2 BOOTP configuration mechanism 3 4 Matthew Dillon 5 dillon@backplane.com 6 7 BOOTP kernels automatically configure the machine's IP address, netmask, 8 optional NFS based swap, and NFS based root mount. The NFS server will 9 typically export a shared read-only /, /usr, and /var to any number of 10 workstations. The shared read-only root is typically either the server's 11 own root or, if you are more security concious, a contrived root. 12 13 The key issue with starting up a BOOTP kernel is that you typically want 14 to export read-only NFS partitions from the server, yet still be able to 15 customize each workstation ( or not ). 16
| 1 2 BOOTP configuration mechanism 3 4 Matthew Dillon 5 dillon@backplane.com 6 7 BOOTP kernels automatically configure the machine's IP address, netmask, 8 optional NFS based swap, and NFS based root mount. The NFS server will 9 typically export a shared read-only /, /usr, and /var to any number of 10 workstations. The shared read-only root is typically either the server's 11 own root or, if you are more security concious, a contrived root. 12 13 The key issue with starting up a BOOTP kernel is that you typically want 14 to export read-only NFS partitions from the server, yet still be able to 15 customize each workstation ( or not ). 16
|
17 The current /etc/rc.diskless file takes over the function of mounting 18 'disks' and retargets rc.conf.local and rc.local from /etc 19 to /conf/$IP_OF_WORKSTATION. The typical automatic configuration and 20 mounting of disks in /etc/rc is bypassed, but most if not all rc.conf 21 style options are left intact.
| 17 /etc/rc.diskless1 is responsible for doing core mounts and for retargeting 18 /conf/ME ( part of the read-only root NFS mount ) to /conf/$IP_OF_CLIENT. 19 /etc/rc.conf.local and /etc/rc.local, along with other machine-specific 20 configuration files, are typically softlinks to /conf/ME/<filename>.
|
22 23 In the BOOTP workstation /conf/$IP/rc.conf.local, you must typically 24 turn *OFF* most of the system option defaults in /etc/rc.conf as well 25 as do additional custom configuration of your environment 26 27 The /usr/src/share/examples/diskless directory contains a typical 28 X session / sshd based workstation configuration. The directories 29 involved are HT.DISKLESS/ and 192.157.86.12/. 30 31 Essentially, the $IP/ directory ( which rc.diskless looks for in 32 /conf/$IP/ ) contains all the junk. The HT.DISKLESS directory exists 33 to hold common elements of your custom configuration so you do not have 34 to repeat those elements for each workstation. The example /conf 35 structure included here shows how to create a working sshd setup ( so 36 you can sshd into the diskless workstation ), retarget xdm's pid and error 37 files to R+W directories if /usr is mounted read-only, and retarget 38 syslogd and other programs. This example is not designed to run out of 39 the box and some modifications are required. 40
| 21 22 In the BOOTP workstation /conf/$IP/rc.conf.local, you must typically 23 turn *OFF* most of the system option defaults in /etc/rc.conf as well 24 as do additional custom configuration of your environment 25 26 The /usr/src/share/examples/diskless directory contains a typical 27 X session / sshd based workstation configuration. The directories 28 involved are HT.DISKLESS/ and 192.157.86.12/. 29 30 Essentially, the $IP/ directory ( which rc.diskless looks for in 31 /conf/$IP/ ) contains all the junk. The HT.DISKLESS directory exists 32 to hold common elements of your custom configuration so you do not have 33 to repeat those elements for each workstation. The example /conf 34 structure included here shows how to create a working sshd setup ( so 35 you can sshd into the diskless workstation ), retarget xdm's pid and error 36 files to R+W directories if /usr is mounted read-only, and retarget 37 syslogd and other programs. This example is not designed to run out of 38 the box and some modifications are required. 39
|
| 40 >> NOTE << HT.DISKLESS/ttys contains the typical configuration required 41 to bring X up at boot time. Essentially, it runs xdm in the foreground 42 with the appropriate arguments rather then a getty on ttyv0. You must 43 run xdm on ttyv0 in order to prevent xdm racing with getty on a virtual 44 terminal. Such a race can cause your keyboard to be directed away from 45 the X session, essentially making the session unusable. 46
|
41 Typically you should start with a clean slate by tar-copying this example 42 directory to /conf and then hack on it in /conf rather then in 43 /usr/share/examples/diskless. 44 45 BOOTP CLIENT SETUP 46 47 Here is a typical kernel configuration. If you have only one ethernet 48 interface you do not need to wire BOOTP to a specific interface name.
--- 103 unchanged lines hidden --- | 47 Typically you should start with a clean slate by tar-copying this example 48 directory to /conf and then hack on it in /conf rather then in 49 /usr/share/examples/diskless. 50 51 BOOTP CLIENT SETUP 52 53 Here is a typical kernel configuration. If you have only one ethernet 54 interface you do not need to wire BOOTP to a specific interface name.
--- 103 unchanged lines hidden --- |