<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.jcihosting.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=69.43.169.159</id>
	<title>JCWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.jcihosting.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=69.43.169.159"/>
	<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Special:Contributions/69.43.169.159"/>
	<updated>2026-05-02T03:18:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.jcihosting.com/index.php?title=Jail_Server_Install&amp;diff=1206</id>
		<title>Jail Server Install</title>
		<link rel="alternate" type="text/html" href="https://wiki.jcihosting.com/index.php?title=Jail_Server_Install&amp;diff=1206"/>
		<updated>2013-04-06T01:04:30Z</updated>

		<summary type="html">&lt;p&gt;69.43.169.159: /* populate /etc/resolv.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 9.x =&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
&lt;br /&gt;
Setup instructions below assume this is DELL 2950 with an LSI-based SAS RAID card.&lt;br /&gt;
&lt;br /&gt;
Server is at castle, connected to pub, private, serial and DRAC&lt;br /&gt;
&lt;br /&gt;
Assuming OS loading done via IPKVM with ISO mounted via USB&lt;br /&gt;
&lt;br /&gt;
Assumes at 4 drives, 2 mirrors&lt;br /&gt;
&lt;br /&gt;
== Configure server BIOS ==&lt;br /&gt;
&lt;br /&gt;
setup console redirect, speed 115200&lt;br /&gt;
&lt;br /&gt;
set LCD string to name of server &amp;quot;jail8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set date to GMT&lt;br /&gt;
&lt;br /&gt;
go into RAID bios and setup mirrors&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Setup DRAC ==&lt;br /&gt;
[[DRAC/RMM#DRAC_setup|DRAC setup]]&lt;br /&gt;
&lt;br /&gt;
== Install OS (sysinstall) ==&lt;br /&gt;
&lt;br /&gt;
boot to bootonly disk for AMD version of FreeBSD, i.e. &amp;lt;tt&amp;gt;FreeBSD-8.3-RELEASE-amd64-bootonly.iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when the install menu appears, choose &amp;lt;tt&amp;gt;custom install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partition menu ===&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen). If there is only 1 mirror, there will be no option to select a specifit drive: mfid0 will be selected.&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;freebsd standard mbr&#039;&lt;br /&gt;
&lt;br /&gt;
space to &#039;&#039;&#039;un&#039;&#039;&#039;select mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
cursor down to mfid1&amp;lt;br&amp;gt;&lt;br /&gt;
hit space&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;none&#039; for boot mgr (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
space&amp;lt;br&amp;gt;&lt;br /&gt;
(takes you into part. Screen again) &#039;q&#039; to exit&amp;lt;br&amp;gt;&lt;br /&gt;
none for boot mgr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure both drives (mfid0 and mfid1) are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
=== Label menu ===&lt;br /&gt;
&lt;br /&gt;
Make sure mfid0 is highlighted at the top of the screen, setup the following partitions&lt;br /&gt;
&lt;br /&gt;
/ 512M&amp;lt;br&amp;gt;&lt;br /&gt;
swap 6G&amp;lt;br&amp;gt;&lt;br /&gt;
/var 1G &amp;lt;br&amp;gt;&lt;br /&gt;
/tmp 256M&amp;lt;br&amp;gt;&lt;br /&gt;
/usr 8G&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data1 remaining space &lt;br /&gt;
&lt;br /&gt;
All partitions except / should be setup for soft updates. If not, type &#039;s&#039; to enable for soft updates on all except for / (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1 at the top of the screen&amp;lt;br&amp;gt;&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data2 remaining space &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;q&#039; to save and exit&lt;br /&gt;
&lt;br /&gt;
=== distributions ===&lt;br /&gt;
Choose the following distribudions&lt;br /&gt;
&lt;br /&gt;
* developer (ok to install ports)&lt;br /&gt;
* custom -&amp;gt; lib32&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
=== media ===&lt;br /&gt;
if you are installing via a cd, no need to enter this menu or change anything. Otherwise, choose ftp to install via ftp. You will be prompted to setup networking. You will need to choose a nic (typically bce0 or bce1). Say no to DHCP and IPv6. Hopefully the public nic cable was installed in bce0 so start with that nic and provide the hostname, (public) IP, netmask, gateway and DNS. When configured, it should start pinging. If it doesn&#039;t, have the NOC swap cables. Select any FTP server, usually Main or ftp4.&lt;br /&gt;
&lt;br /&gt;
=== commit ===&lt;br /&gt;
&lt;br /&gt;
this usually takes 12mins&amp;lt;br&amp;gt;&lt;br /&gt;
during the process you may need to select a new ftp mirror, this is not a problem.&amp;lt;br&amp;gt;&lt;br /&gt;
at the conclution of the install you will be prompted to enter the root password (2x) and returned to the configuration menu.&lt;br /&gt;
&lt;br /&gt;
=== add user ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add&#039;&#039;&#039; user &#039;user&#039;. Defaults for everything is fine, just remember to enter &#039;wheel&#039; in the member group field.&lt;br /&gt;
Do set the password.&lt;br /&gt;
&lt;br /&gt;
=== Setup timezone ===&lt;br /&gt;
&lt;br /&gt;
PT&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
page down to the bottom and enable &#039;[X]&#039; sshd&lt;br /&gt;
&lt;br /&gt;
If you installed via cd, you will need to visit:&amp;lt;br&amp;gt;&lt;br /&gt;
interfaces-&amp;gt;bce0-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
No IPV6&amp;lt;br&amp;gt;&lt;br /&gt;
dhcp=no&amp;lt;br&amp;gt;&lt;br /&gt;
Set hostname, IP, DNS, gateway&amp;lt;br&amp;gt;&lt;br /&gt;
(i.e. setup the nic as indicated above)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exit the install and if you installed via CD, take it out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
== Configure OS, kernel, userland, jail ==&lt;br /&gt;
&lt;br /&gt;
=== double check the date/time ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot; search johncompanies.com \&lt;br /&gt;
 nameserver 69.55.225.225 \&lt;br /&gt;
 nameserver 69.55.230.3&lt;br /&gt;
 nameserver 69.55.229.3&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
=== edit /etc/make.conf ===&lt;br /&gt;
 echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
 KERNCONF=jail4 \&lt;br /&gt;
 BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
=== setup bootloader for console, etc ===&lt;br /&gt;
&lt;br /&gt;
add settings to /boot/loader.conf and /boot.config:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
 echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
 boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable login via serial console ===&lt;br /&gt;
turn off all ttyv&#039;s except 0 and 1 in /etc/ttys and turn on ttyd0, change type to vt100:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
The changed lines should look like:&lt;br /&gt;
&lt;br /&gt;
 ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 # Serial terminals&lt;br /&gt;
 # The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
 ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure &lt;br /&gt;
&lt;br /&gt;
Restart init&lt;br /&gt;
 kill -1 1&lt;br /&gt;
&lt;br /&gt;
At this point you should have a login on console.&lt;br /&gt;
&lt;br /&gt;
To configure serial console access, login to the console server as root and run:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/remote&lt;br /&gt;
&lt;br /&gt;
following examples there, rename port to server&#039;s hostname, depending on where and which digi box this server is plugged into. Make sure to get speed right too: 115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate hosts ===&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create ssh key, upload to backup servers ===&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create &amp;amp; populate binaries/scripts dirs ===&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd8.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
ln -s /usr/local/jail/bin/preboot_md preboot&lt;br /&gt;
ln -s /usr/local/jail/bin/startjail_md startjail&lt;br /&gt;
ln -s /usr/local/jail/bin/stopjail_md stopjail&lt;br /&gt;
&lt;br /&gt;
rehash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit root&#039;s path and login script ===&lt;br /&gt;
&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
alias cjb       cd /usr/local/jail/bin&lt;br /&gt;
alias cd1       cd /mnt/data1&lt;br /&gt;
alias cd2       cd /mnt/data2&lt;br /&gt;
alias cd3       cd /mnt/data3&lt;br /&gt;
alias jtop      jtop lj&lt;br /&gt;
alias j         jobs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to path be careful to leave a space after bin and make sure the wrapping isn&#039;t broken:  &lt;br /&gt;
 /usr/local/jail/bin &lt;br /&gt;
&lt;br /&gt;
alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
&amp;lt;pre&amp;gt;set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the new settings active in current shell:&lt;br /&gt;
 source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== update ports ===&lt;br /&gt;
&lt;br /&gt;
 portsnap fetch&lt;br /&gt;
 portsnap extract&lt;br /&gt;
&lt;br /&gt;
To update later on:&lt;br /&gt;
 portsnap fetch&lt;br /&gt;
 portsnap update&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install svn ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setenv PACKAGESITE &amp;quot;ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-9-current/Latest/&amp;quot;&lt;br /&gt;
pkg_add subversion&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== get latest sources for this release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /usr&lt;br /&gt;
mv src/ src.orig&lt;br /&gt;
svn checkout svn://svn.FreeBSD.org/base/stable/9 /usr/src&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update:&lt;br /&gt;
 make update SVN_UPDATE=yes&lt;br /&gt;
&lt;br /&gt;
=== configure new kernel ===&lt;br /&gt;
&lt;br /&gt;
Pull down the kernel config we are using for this distribution. In this case we use an 8.2 kernel config on 8.3, which is valid. The local file should be the same name as host- &amp;lt;tt&amp;gt;jail3&amp;lt;/tt&amp;gt; in this example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-8.2-amd64 ./jail3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
 vi jail3&lt;br /&gt;
 ident           jail3&lt;br /&gt;
&lt;br /&gt;
Optional, edit &amp;lt;tt&amp;gt;/sys/conf/newvers.sh&amp;lt;/tt&amp;gt; to add &amp;lt;tt&amp;gt;–jc2&amp;lt;/tt&amp;gt; to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
 vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes on kernel configuring: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install patches ===&lt;br /&gt;
&lt;br /&gt;
We don&#039;t have any patches right now. Refer to older FreeBSD version build docs on how that is/was done.&lt;br /&gt;
&lt;br /&gt;
=== build, install kernel and world ===&lt;br /&gt;
&lt;br /&gt;
Rename current generic kernel so it will always be available to boot from. Save room by removing non-needed kernel modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
mv zfs.* hold/&lt;br /&gt;
mv opensolaris* hold/&lt;br /&gt;
&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
Note on -DWITHOUT_CLANG: try to do it without including that directive, it may work for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
make -DWITHOUT_CLANG buildworld KERNCONF=jail4; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~38mins&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 mergemaster -p&lt;br /&gt;
You will be prompted to merge, replace or ignore files changed by the src update. In most cases you can &#039;&#039;&#039;d&#039;&#039;&#039;elete the temp (new) files.&lt;br /&gt;
&lt;br /&gt;
 make -DWITHOUT_CLANG installworld&lt;br /&gt;
~34min&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ONLY if this will be a zfs system (not currently used in 8.x):&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
cd /sys/modules/opensolaris&lt;br /&gt;
make &lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  populate devfs ruleset ===&lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/devfs.rules.8x /etc/devfs.rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/rc.conf with IPs and service settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.103&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.103 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bce0=&amp;quot;inet 69.55.229.7 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_bce0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
#rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
#zfs_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modify IPs, hostname, gateway for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure sysctls are set and preserved upon boot ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=500\&lt;br /&gt;
security.bsd.unprivileged_read_msgbuf=0\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuning note: watch vfs.numvnodes while the server is live to get guidance on where to set maxvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mount procfs ===&lt;br /&gt;
 echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mkdir -p /usr/compat/linux/proc&lt;br /&gt;
 mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable noatime option ===&lt;br /&gt;
data1 and data2 should look something like (add &#039;,noatime&#039; after &#039;rw&#039;):&lt;br /&gt;
 /dev/mfid0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
 /dev/mfid1s1d           /mnt/data2      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== reboot. Confirm new kernel is loaded, devfs in place ===&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
	&lt;br /&gt;
Check devfs rules&lt;br /&gt;
 devfs rule showsets&lt;br /&gt;
 devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
Should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#  devfs rule showsets&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
#  devfs rule -s 3 show&lt;br /&gt;
100 include 1&lt;br /&gt;
207 path pts* unhide&lt;br /&gt;
217 path fd unhide&lt;br /&gt;
218 path fd/* unhide&lt;br /&gt;
300 path ttyp* unhide&lt;br /&gt;
301 path ttyq* unhide&lt;br /&gt;
302 path ttyr* unhide&lt;br /&gt;
303 path ttys* unhide&lt;br /&gt;
304 path ttyP* unhide&lt;br /&gt;
305 path ttyQ* unhide&lt;br /&gt;
306 path ttyR* unhide&lt;br /&gt;
307 path ttyS* unhide&lt;br /&gt;
400 path null unhide&lt;br /&gt;
500 path zero unhide&lt;br /&gt;
600 path random unhide&lt;br /&gt;
610 path urandom unhide&lt;br /&gt;
700 path mem unhide&lt;br /&gt;
710 path kmem unhide&lt;br /&gt;
810 path mdctl unhide&lt;br /&gt;
900 path stdin unhide&lt;br /&gt;
910 path stdout unhide&lt;br /&gt;
920 path stderr unhide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install raid mgmt tool ===&lt;br /&gt;
&lt;br /&gt;
==== Perc5/i, 6/i ====&lt;br /&gt;
Pull over cli from previous system (jail9)&lt;br /&gt;
 scp root@10.1.4.109:&amp;quot;/usr/local/sbin/mega* /usr/local/sbin/&lt;br /&gt;
 scp root@10.1.4.109:/usr/local/libexec/MegaCli /usr/local/libexec/MegaCli &lt;br /&gt;
&lt;br /&gt;
These are linux-based tools. This will require linux base...which you might install via:&lt;br /&gt;
&lt;br /&gt;
 pkg_add -r linux_base&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 rehash; megacli ldinfo lall a0&lt;br /&gt;
or&lt;br /&gt;
 megarc -ldInfo -a0 -Lall&lt;br /&gt;
(2850)&lt;br /&gt;
&lt;br /&gt;
however, linux does seem to be installed already so we don&#039;t need to pkg_add or port install or rsync anything over from a current system.&lt;br /&gt;
&lt;br /&gt;
==== 2850 PERC 4e/Di- no linux ====&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://backup01.best-hosting.ru/pub/FreeBSD/ports/distfiles/dr_freebsd_1.51.zip&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
megarc -dispCfg -a0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install rsync from ports ===&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure inetd to respond to mrtg load queries ===&lt;br /&gt;
 echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install perl ===&lt;br /&gt;
 cd /usr/ports/lang/perl5.12&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install bb client ===&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. &lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;jail3,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
=== remove reserve space ===&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup rdate ===&lt;br /&gt;
 cd /usr/ports/sysutils/rdate&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0 0 * * * /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
We used to use ntpd, however it listens on jail IPs which is a security risk. So we stopped. Here&#039;s the old instructions:&lt;br /&gt;
install new ntp from ports&lt;br /&gt;
 /usr/ports/net/ntp&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make a data partition ===&lt;br /&gt;
&lt;br /&gt;
IF you didn&#039;t format the data partition during sysinstall:&lt;br /&gt;
&lt;br /&gt;
Create a g partition on 2nd mirror – bsdlabel no longer works (below shows d partition made with sysinstall):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;jail8 /usr/home/bb# gpart show&lt;br /&gt;
=&amp;gt;       63  285474735  mfid0  MBR  (136G)&lt;br /&gt;
         63  285458922      1  freebsd  [active]  (136G)&lt;br /&gt;
  285458985      15813         - free -  (7.7M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  285458922  mfid0s1  BSD  (136G)&lt;br /&gt;
          0     524288        1  freebsd-ufs  (256M)&lt;br /&gt;
     524288   12582912        2  freebsd-swap  (6.0G)&lt;br /&gt;
   13107200     524288        4  freebsd-ufs  (256M)&lt;br /&gt;
   13631488     524288        5  freebsd-ufs  (256M)&lt;br /&gt;
   14155776    8388608        6  freebsd-ufs  (4.0G)&lt;br /&gt;
   22544384  262914538        7  freebsd-ufs  (125G)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;       63  584843175  mfid1  MBR  (279G)&lt;br /&gt;
         63  584830197      1  freebsd  [active]  (279G)&lt;br /&gt;
  584830260      12978         - free -  (6.3M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
jail8 /usr/home/bb# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart list mfid1s1&lt;br /&gt;
&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
2. Name: mfid1s1d&lt;br /&gt;
   Mediasize: 290843126272 (271G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r0w0e0&lt;br /&gt;
   rawtype: 7&lt;br /&gt;
   length: 290843126272&lt;br /&gt;
   offset: 8589934592&lt;br /&gt;
   type: freebsd-ufs&lt;br /&gt;
   index: 4&lt;br /&gt;
   end: 584830196&lt;br /&gt;
   start: 16777216&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart delete -i 4 mfid1s1&lt;br /&gt;
mfid1s1d deleted&lt;br /&gt;
jail8 /usr/home/bb# gpart list mfid1s1&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981           - free -  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart add  -t freebsd-ufs -i 7 mfid1s1&lt;br /&gt;
mfid1s1g added&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        7  freebsd-ufs  (271G)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how we USED to do it with bsdlabel:&lt;br /&gt;
&lt;br /&gt;
 bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
&amp;lt;pre&amp;gt;# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&amp;lt;br&amp;gt;&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&amp;lt;br&amp;gt;&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
&lt;br /&gt;
So:&amp;lt;br&amp;gt;&lt;br /&gt;
 g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create the jail template ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jailutils&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
Create an md device to hold the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /mnt/data1/jail-template20g&lt;br /&gt;
mdconfig -a -t vnode -s 20g -f /mnt/data1/jail-template20g -u 0&lt;br /&gt;
newfs -O 1 /dev/md0&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0 /mnt/data1/jail-DIR&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build world into the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; taskdone&amp;lt;/pre&amp;gt;&lt;br /&gt;
~1hr&lt;br /&gt;
&lt;br /&gt;
Make /etc into the jail, mount dev, copy in jkill:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter into jail to do configuration:&lt;br /&gt;
 jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
 csh&lt;br /&gt;
&lt;br /&gt;
Create fstab:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit crontab:&lt;br /&gt;
 vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
 # IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check and remove any crap in /tmp&lt;br /&gt;
&lt;br /&gt;
 vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: &amp;lt;tt&amp;gt;MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
with: &amp;lt;tt&amp;gt;MP=&#039;/&#039;&amp;lt;/tt&amp;gt; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
Add account for user. Output/response:&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set TERM:&lt;br /&gt;
 vi /usr/home/user/.profile &lt;br /&gt;
 TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
Set time zone to PT:&lt;br /&gt;
 tzsetup&lt;br /&gt;
&lt;br /&gt;
Reload aliases:&lt;br /&gt;
 newaliases &lt;br /&gt;
&lt;br /&gt;
Replace reboot/halt:&lt;br /&gt;
 rm /sbin/halt /sbin/reboot&lt;br /&gt;
 ln /sbin/jkill /sbin/halt&lt;br /&gt;
 ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
Redirect console output, comment out console and move to /var/log/messages:&lt;br /&gt;
 vi /etc/syslog.conf&lt;br /&gt;
 #*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
 *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Lib32 compat library:&lt;br /&gt;
 cd libexec&lt;br /&gt;
 chflags noschg ld-elf32.so.1&lt;br /&gt;
 chflags noschg ld-elf.so.1&lt;br /&gt;
 mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
 ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
 chflags schg ld-elf.so.1&lt;br /&gt;
 chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
Replace traceroute:&lt;br /&gt;
 mv /mnt/data1/jail-DIR/usr/sbin/traceroute /mnt/data1/jail-DIR/usr/sbin/_traceroute&lt;br /&gt;
 echo &#039;#\!/bin/sh\&lt;br /&gt;
 /usr/sbin/_traceroute -i bce0 $1&#039; &amp;gt;&amp;gt; /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
 chmod +x /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
&lt;br /&gt;
Modify &#039;bce0&#039; to reflect whichever nic is public on this hardware.&lt;br /&gt;
&lt;br /&gt;
Clean out ports before copying into the jail (~30mins):&lt;br /&gt;
 cd /usr/ports&lt;br /&gt;
 make -DNOCLEANDEPENDS clean &lt;br /&gt;
 rm -fr /usr/ports/distfiles/*&lt;br /&gt;
 cp -r /usr/ports /mnt/data1/jail-DIR/usr &lt;br /&gt;
&lt;br /&gt;
 rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
Umount the jail and dump it:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/template /dev/md0&lt;br /&gt;
umount /dev/md0&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
mdconfig -d -u 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== setup backups ===&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail3\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit to reflect backup server and jail hostname&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/jail3/0&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 backup1# vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
 vi /usr/local/jail/bin/backup.md&lt;br /&gt;
adjust df so it includes all relevant drives, currently &amp;lt;tt&amp;gt;df &amp;gt; /etc/df.bak&amp;lt;/tt&amp;gt; is fine. Also, make sure the binary/script source is pulling from the right dir on backup2:&lt;br /&gt;
 /usr/local/bin/rsync -a backup2:/mnt/data4/bin/freebsd8.x/ /usr/local/jail/bin/&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/jail/bin/backup.md /usr/local/jail/bin/backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create /root/logs ===&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit sshd_config ===&lt;br /&gt;
 vi /etc/ssh/sshd_config&lt;br /&gt;
 ListenAddress 69.55.229.7&lt;br /&gt;
 ListenAddress 10.1.2.103&lt;br /&gt;
&lt;br /&gt;
Adjust to pub/private IP for jail.&lt;br /&gt;
&lt;br /&gt;
Restart sshd:&lt;br /&gt;
 kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== add crontab entries ===&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
0 0,6,12,18 * * * /usr/local/jail/bin/sync_jail_names&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On 2950:&lt;br /&gt;
 */5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
On 3ware-based servers:&lt;br /&gt;
 0 0 * * * /usr/local/jail/bin/3wraidchk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reboot notify script ===&lt;br /&gt;
 ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== patch jail against starting jails with rtprio ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure mail works ===&lt;br /&gt;
If there are map errors:&lt;br /&gt;
 cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== recover space on /usr (optional) ===&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jps ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/local/sbin/jps /usr/local/sbin/jps_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jls ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jls /usr/sbin/jls_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jexec ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jexec /usr/sbin/jexec_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install jtop ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jtop&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== block jails from reaching private net ===&lt;br /&gt;
 echo &#039;ipfw add 1 deny ip from 69.55.224.0/20 to 10.1.4.0/24&#039; &amp;gt; /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
&lt;br /&gt;
== add to management infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== mail ===&lt;br /&gt;
&lt;br /&gt;
==== add to management db ====&lt;br /&gt;
&lt;br /&gt;
tables: jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
on jail run:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Which shows something like:&lt;br /&gt;
 8.3-RELEASE-p2&lt;br /&gt;
&lt;br /&gt;
Insert into db:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;insert into ref_machines values (null,&#039;jail3&#039;,&#039;mx3.johncompanies.com&#039;,0,&#039;f8&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail3&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039;8.3-RELEASE-jc2&#039;,35,&#039;FreeBSD 8.3&#039;,1);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== add to bb server ====&lt;br /&gt;
 vi /usr/home/bb/bbsrc/bb1.9i-btf/etc/bb-hosts&lt;br /&gt;
 10.1.4.109 jail9.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
In the case of an i2b server, use real ip:&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update backupgraph ====&lt;br /&gt;
 vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
==== Update load mrtg ====&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
=== ns1c ===&lt;br /&gt;
fwd and reverse lookups:&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
&lt;br /&gt;
 vi internal.johncompanies.com&lt;br /&gt;
 rndc reload johncompanies.com IN private&lt;br /&gt;
&lt;br /&gt;
 ptr 69.55.227.x&lt;br /&gt;
&lt;br /&gt;
=== wiki ===&lt;br /&gt;
add to server/cabinet map&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
 00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
 00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
 ipfw add 00109 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 } to 69.55.232.3&lt;br /&gt;
 ipfw add 00109 deny ip from any to 69.55.232.3&lt;br /&gt;
&lt;br /&gt;
=== select some customers for castle probe map ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 8.x =&lt;br /&gt;
&lt;br /&gt;
== Assumptions ==&lt;br /&gt;
&lt;br /&gt;
Setup instructions below assume this is DELL 2950 with an LSI-based SAS RAID card.&lt;br /&gt;
&lt;br /&gt;
Server is at castle, connected to pub, private, serial and DRAC&lt;br /&gt;
&lt;br /&gt;
Assuming OS loading done via IPKVM with ISO mounted via USB&lt;br /&gt;
&lt;br /&gt;
Assumes at 4 drives, 2 mirrors&lt;br /&gt;
&lt;br /&gt;
== Configure server BIOS ==&lt;br /&gt;
&lt;br /&gt;
setup console redirect, speed 115200&lt;br /&gt;
&lt;br /&gt;
set LCD string to name of server &amp;quot;jail8&amp;quot;&lt;br /&gt;
&lt;br /&gt;
set date to GMT&lt;br /&gt;
&lt;br /&gt;
go into RAID bios and setup mirrors&lt;br /&gt;
&lt;br /&gt;
configure DRAC: TODO&lt;br /&gt;
&lt;br /&gt;
== Install OS (sysinstall) ==&lt;br /&gt;
&lt;br /&gt;
boot to bootonly disk for AMD version of FreeBSD, i.e. &amp;lt;tt&amp;gt;FreeBSD-8.3-RELEASE-amd64-bootonly.iso&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
when the install menu appears, choose &amp;lt;tt&amp;gt;custom install&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== partition menu ===&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen). If there is only 1 mirror, there will be no option to select a specifit drive: mfid0 will be selected.&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;freebsd standard mbr&#039;&lt;br /&gt;
&lt;br /&gt;
space to &#039;&#039;&#039;un&#039;&#039;&#039;select mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
cursor down to mfid1&amp;lt;br&amp;gt;&lt;br /&gt;
hit space&lt;br /&gt;
&lt;br /&gt;
type &#039;a&#039; to use entire disk&amp;lt;br&amp;gt;&lt;br /&gt;
type &#039;q&#039; to quit and save&amp;lt;br&amp;gt;&lt;br /&gt;
choose &#039;none&#039; for boot mgr (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&amp;lt;br&amp;gt;&lt;br /&gt;
space&amp;lt;br&amp;gt;&lt;br /&gt;
(takes you into part. Screen again) &#039;q&#039; to exit&amp;lt;br&amp;gt;&lt;br /&gt;
none for boot mgr&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure both drives (mfid0 and mfid1) are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
=== Label menu ===&lt;br /&gt;
&lt;br /&gt;
Make sure mfid0 is highlighted at the top of the screen, setup the following partitions&lt;br /&gt;
&lt;br /&gt;
/ 512M&amp;lt;br&amp;gt;&lt;br /&gt;
swap 6G&amp;lt;br&amp;gt;&lt;br /&gt;
/var 256M &amp;lt;br&amp;gt;&lt;br /&gt;
/tmp 256M&amp;lt;br&amp;gt;&lt;br /&gt;
/usr 5G&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data1 remaining space &lt;br /&gt;
&lt;br /&gt;
All partitions except / should be setup for soft updates. If not, type &#039;s&#039; to enable for soft updates on all except for / (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1 at the top of the screen&amp;lt;br&amp;gt;&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&amp;lt;br&amp;gt;&lt;br /&gt;
/mnt/data2 remaining space &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;q&#039; to save and exit&lt;br /&gt;
&lt;br /&gt;
=== distributions ===&lt;br /&gt;
Choose the following distribudions&lt;br /&gt;
&lt;br /&gt;
* developer (ok to install ports)&lt;br /&gt;
* custom -&amp;gt; lib32&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
=== media ===&lt;br /&gt;
if you are installing via a cd, no need to enter this menu or change anything. Otherwise, choose ftp to install via ftp. You will be prompted to setup networking. You will need to choose a nic (typically bce0 or bce1). Say no to DHCP and IPv6. Hopefully the public nic cable was installed in bce0 so start with that nic and provide the hostname, (public) IP, netmask, gateway and DNS. When configured, it should start pinging. If it doesn&#039;t, have the NOC swap cables. Select any FTP server, usually Main or ftp4.&lt;br /&gt;
&lt;br /&gt;
=== commit ===&lt;br /&gt;
&lt;br /&gt;
this usually takes 12mins&amp;lt;br&amp;gt;&lt;br /&gt;
during the process you may need to select a new ftp mirror, this is not a problem.&amp;lt;br&amp;gt;&lt;br /&gt;
at the conclution of the install you will be prompted to enter the root password (2x) and returned to the configuration menu.&lt;br /&gt;
&lt;br /&gt;
=== add user ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Add&#039;&#039;&#039; user &#039;user&#039;. Defaults for everything is fine, just remember to enter &#039;wheel&#039; in the member group field.&lt;br /&gt;
Do set the password.&lt;br /&gt;
&lt;br /&gt;
=== Setup timezone ===&lt;br /&gt;
&lt;br /&gt;
PT&lt;br /&gt;
&lt;br /&gt;
=== Networking === &lt;br /&gt;
page down to the bottom and enable &#039;[X]&#039; sshd&lt;br /&gt;
&lt;br /&gt;
If you installed via cd, you will need to visit:&amp;lt;br&amp;gt;&lt;br /&gt;
interfaces-&amp;gt;bce0-&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
No IPV6&amp;lt;br&amp;gt;&lt;br /&gt;
dhcp=no&amp;lt;br&amp;gt;&lt;br /&gt;
Set hostname, IP, DNS, gateway&amp;lt;br&amp;gt;&lt;br /&gt;
(i.e. setup the nic as indicated above)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Exit the install and if you installed via CD, take it out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
== Configure OS, kernel, userland, jail ==&lt;br /&gt;
&lt;br /&gt;
=== double check the date/time ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/resolv.conf ===&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
 nameserver 69.55.230.3&lt;br /&gt;
 nameserver 69.55.229.3&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit /etc/make.conf ===&lt;br /&gt;
 echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
 KERNCONF=jail3 \&lt;br /&gt;
 BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup bootloader for console, etc ===&lt;br /&gt;
&lt;br /&gt;
add settings to /boot/loader.conf and /boot.config:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
 echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
 boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
 comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable login via serial console ===&lt;br /&gt;
turn off all ttyv&#039;s except 0 and 1 in /etc/ttys and turn on ttyd0, change type to vt100:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
The changed lines should look like:&lt;br /&gt;
&lt;br /&gt;
 ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
 # Serial terminals&lt;br /&gt;
 # The &#039;dialup&#039; keyword identifies dialin lines to login, fingerd etc.&lt;br /&gt;
 ttyu0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure &lt;br /&gt;
&lt;br /&gt;
Restart init&lt;br /&gt;
 kill -1 1&lt;br /&gt;
&lt;br /&gt;
At this point you should have a login on console.&lt;br /&gt;
&lt;br /&gt;
To configure serial console access, login to the console server as root and run:&lt;br /&gt;
&lt;br /&gt;
 # vi /etc/remote&lt;br /&gt;
&lt;br /&gt;
following examples there, rename port to server&#039;s hostname, depending on where and which digi box this server is plugged into. Make sure to get speed right too: 115200&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate hosts ===&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.10 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;10.1.2.3 backup3&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
 echo &amp;quot;69.55.230.11 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create ssh key, upload to backup servers ===&lt;br /&gt;
 cd&lt;br /&gt;
 ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
If server is at castle:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
If server is at i2b:&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup3 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
 cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
 ssh backup2 hostname&lt;br /&gt;
 ssh backup1 hostname&lt;br /&gt;
 ssh backup3 hostname&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create &amp;amp; populate binaries/scripts dirs ===&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd8.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
ln -s /usr/local/jail/bin/preboot_md preboot&lt;br /&gt;
ln -s /usr/local/jail/bin/startjail_md startjail&lt;br /&gt;
ln -s /usr/local/jail/bin/stopjail_md stopjail&lt;br /&gt;
&lt;br /&gt;
rehash&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit root&#039;s path and login script ===&lt;br /&gt;
&lt;br /&gt;
 vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
alias cjb       cd /usr/local/jail/bin&lt;br /&gt;
alias cd1       cd /mnt/data1&lt;br /&gt;
alias cd2       cd /mnt/data2&lt;br /&gt;
alias cd3       cd /mnt/data3&lt;br /&gt;
alias jtop      jtop lj&lt;br /&gt;
alias j         jobs&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
add to path be careful to leave a space after bin and make sure the wrapping isn&#039;t broken:  &lt;br /&gt;
 /usr/local/jail/bin &lt;br /&gt;
&lt;br /&gt;
alter the prompt, set the following:&lt;br /&gt;
 set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
&amp;lt;pre&amp;gt;set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make the new settings active in current shell:&lt;br /&gt;
 source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install cvsup ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
stand by for gettext options (use defaults). this process takes approx 22mins- hence the email/page notice above. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== get latest sources for this release ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to run stable (cause release is broken or some other reason) make the sup file look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; support@johncompanies.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
time varies, 10-20mins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure new kernel ===&lt;br /&gt;
&lt;br /&gt;
Pull down the kernel config we are using for this distribution. In this case we use an 8.2 kernel config on 8.3, which is valid. The local file should be the same name as host- &amp;lt;tt&amp;gt;jail3&amp;lt;/tt&amp;gt; in this example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-8.2-amd64 ./jail3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
 vi jail3&lt;br /&gt;
 ident           jail3&lt;br /&gt;
&lt;br /&gt;
Optional, edit &amp;lt;tt&amp;gt;/sys/conf/newvers.sh&amp;lt;/tt&amp;gt; to add &amp;lt;tt&amp;gt;–jc2&amp;lt;/tt&amp;gt; to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
 vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes on kernel configuring: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install patches ===&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
there are no patches we use for 8.x, but here would be the commands:&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/8.0/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches, i.e. the &amp;lt;tt&amp;gt;jls-patch&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== build, install kernel and world ===&lt;br /&gt;
&lt;br /&gt;
Rename current generic kernel so it will always be available to boot from. Save room by removing non-needed kernel modules:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /boot&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
mv zfs.* hold/&lt;br /&gt;
mv opensolaris* hold/&lt;br /&gt;
&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~38mins&lt;br /&gt;
&lt;br /&gt;
 make installworld &lt;br /&gt;
~34min&lt;br /&gt;
&lt;br /&gt;
 mergemaster -i&lt;br /&gt;
You will be prompted to merge, replace or ignore files changed by the src update. In most cases you can &#039;&#039;&#039;d&#039;&#039;&#039;elete the temp (new) files.&lt;br /&gt;
&lt;br /&gt;
ONLY if this will be a zfs system (not currently used in 8.x):&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
cd /sys/modules/opensolaris&lt;br /&gt;
make &lt;br /&gt;
make install&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===  populate devfs ruleset ===&lt;br /&gt;
 scp backup2:/mnt/data4/build/freebsd/devfs.rules.8x /etc/devfs.rules&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== populate /etc/rc.conf with IPs and service settings ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.2.103&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_bce1=&amp;quot;inet 10.1.2.103 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_bce0=&amp;quot;inet 69.55.229.7 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_bce0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
#rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
#zfs_enable=&amp;quot;YES&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modify IPs, hostname, gateway for this box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure sysctls are set and preserved upon boot ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=500\&lt;br /&gt;
security.bsd.unprivileged_read_msgbuf=0\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tuning note: watch vfs.numvnodes while the server is live to get guidance on where to set maxvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== mount procfs ===&lt;br /&gt;
 echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
 mkdir -p /usr/compat/linux/proc&lt;br /&gt;
 mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enable noatime option ===&lt;br /&gt;
data1 and data2 should look something like (add &#039;,noatime&#039; after &#039;rw&#039;):&lt;br /&gt;
 /dev/mfid0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
 /dev/mfid1s1d           /mnt/data2      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== reboot. Confirm new kernel is loaded, devfs in place ===&lt;br /&gt;
&lt;br /&gt;
 uname -a&lt;br /&gt;
	&lt;br /&gt;
Check devfs rules&lt;br /&gt;
 devfs rule showsets&lt;br /&gt;
 devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
Should see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#  devfs rule showsets&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&lt;br /&gt;
#  devfs rule -s 3 show&lt;br /&gt;
100 include 1&lt;br /&gt;
207 path pts* unhide&lt;br /&gt;
217 path fd unhide&lt;br /&gt;
218 path fd/* unhide&lt;br /&gt;
300 path ttyp* unhide&lt;br /&gt;
301 path ttyq* unhide&lt;br /&gt;
302 path ttyr* unhide&lt;br /&gt;
303 path ttys* unhide&lt;br /&gt;
304 path ttyP* unhide&lt;br /&gt;
305 path ttyQ* unhide&lt;br /&gt;
306 path ttyR* unhide&lt;br /&gt;
307 path ttyS* unhide&lt;br /&gt;
400 path null unhide&lt;br /&gt;
500 path zero unhide&lt;br /&gt;
600 path random unhide&lt;br /&gt;
610 path urandom unhide&lt;br /&gt;
700 path mem unhide&lt;br /&gt;
710 path kmem unhide&lt;br /&gt;
810 path mdctl unhide&lt;br /&gt;
900 path stdin unhide&lt;br /&gt;
910 path stdout unhide&lt;br /&gt;
920 path stderr unhide&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== update ports ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_8_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; support@johncompanies.com &amp;lt; /dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
~24mins&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Install raid mgmt tool ===&lt;br /&gt;
&lt;br /&gt;
==== Perc5/i, 6/i ====&lt;br /&gt;
Pull over cli from previous system (jail9)&lt;br /&gt;
 scp /usr/local/sbin/mega* root@10.1.4.109:/usr/local/sbin/&lt;br /&gt;
 scp /usr/local/libexec/MegaCli root@10.1.4.109:/usr/local/libexec/MegaCli&lt;br /&gt;
These are linux-based tools. This will require linux base which we would normally install from ports, but since it&#039;s failing lately, we just pull in the compat libraries from another system:&lt;br /&gt;
&lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.109:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
 rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
DEPRECATED: Assuming it worked, here&#039;s how we &#039;&#039;used to&#039;&#039; install linux_base:&lt;br /&gt;
----&lt;br /&gt;
 cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
 make install clean &lt;br /&gt;
(didnt succeed due to libtool requirement)&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/distfiles&lt;br /&gt;
 fetch http://www.lsi.com/DistributionSystem/AssetDocument/support/downloads/megaraid/miscellaneous/linux/2.00.15_Linux_MegaCLI.zip&lt;br /&gt;
 cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
 make install clean&lt;br /&gt;
(also failed due to libtool)&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2850 PERC 4e/Di- no linux ====&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/ports/distfiles/&lt;br /&gt;
fetch http://backup01.best-hosting.ru/pub/FreeBSD/ports/distfiles/dr_freebsd_1.51.zip&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
megarc -dispCfg -a0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install rsync from ports ===&lt;br /&gt;
 cd /usr/ports/net/rsync&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== configure inetd to respond to mrtg load queries ===&lt;br /&gt;
 echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
 echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install perl ===&lt;br /&gt;
 cd /usr/ports/lang/perl5.12&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
choose defaults&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install bb client ===&lt;br /&gt;
&lt;br /&gt;
Compiling from source on AMD64 will not work. So, we use a linux-compiled version and rely on linux compat. Per [[#Perc5.2Fi.2C_6.2Fi|above]], linux compat won&#039;t install on 8.x - libtool 2.4 need. So, instead we copy(ed) over linux: &lt;br /&gt;
 rsync -aSHv --exclude=proc --exclude=sys 10.1.4.108:/usr/compat/linux/ /usr/compat/linux/&lt;br /&gt;
&lt;br /&gt;
 adduser&lt;br /&gt;
&lt;br /&gt;
Output/response:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 cd /usr/home/bb&lt;br /&gt;
 scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
 tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
&lt;br /&gt;
 echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
Edit for machine name and private IP.&lt;br /&gt;
&lt;br /&gt;
if this machine is at i2b:&lt;br /&gt;
 echo &amp;quot;69.55.230.2 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
&lt;br /&gt;
MACHINE=&amp;quot;jail3,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&amp;lt;/pre&amp;gt;&lt;br /&gt;
Edit for machine name.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Put in script to start bb @ boot:&lt;br /&gt;
 echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
 chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== remove reserve space ===&lt;br /&gt;
&amp;lt;pre&amp;gt;cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup rdate ===&lt;br /&gt;
 cd /usr/ports/sysutils/rdate&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
 crontab -e&lt;br /&gt;
 0 0 * * * /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
 /usr/local/sbin/rdate -s utcnist.colorado.edu&lt;br /&gt;
&lt;br /&gt;
We used to use ntpd, however it listens on jail IPs which is a security risk. So we stopped. Here&#039;s the old instructions:&lt;br /&gt;
install new ntp from ports&lt;br /&gt;
 /usr/ports/net/ntp&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&amp;lt;/pre&amp;gt;(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make a data partition ===&lt;br /&gt;
&lt;br /&gt;
IF you didn&#039;t format the data partition during sysinstall:&lt;br /&gt;
&lt;br /&gt;
Create a g partition on 2nd mirror – bsdlabel no longer works (below shows d partition made with sysinstall):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;jail8 /usr/home/bb# gpart show&lt;br /&gt;
=&amp;gt;       63  285474735  mfid0  MBR  (136G)&lt;br /&gt;
         63  285458922      1  freebsd  [active]  (136G)&lt;br /&gt;
  285458985      15813         - free -  (7.7M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  285458922  mfid0s1  BSD  (136G)&lt;br /&gt;
          0     524288        1  freebsd-ufs  (256M)&lt;br /&gt;
     524288   12582912        2  freebsd-swap  (6.0G)&lt;br /&gt;
   13107200     524288        4  freebsd-ufs  (256M)&lt;br /&gt;
   13631488     524288        5  freebsd-ufs  (256M)&lt;br /&gt;
   14155776    8388608        6  freebsd-ufs  (4.0G)&lt;br /&gt;
   22544384  262914538        7  freebsd-ufs  (125G)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;       63  584843175  mfid1  MBR  (279G)&lt;br /&gt;
         63  584830197      1  freebsd  [active]  (279G)&lt;br /&gt;
  584830260      12978         - free -  (6.3M)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
jail8 /usr/home/bb# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        4  freebsd-ufs  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart list mfid1s1&lt;br /&gt;
&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
2. Name: mfid1s1d&lt;br /&gt;
   Mediasize: 290843126272 (271G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r0w0e0&lt;br /&gt;
   rawtype: 7&lt;br /&gt;
   length: 290843126272&lt;br /&gt;
   offset: 8589934592&lt;br /&gt;
   type: freebsd-ufs&lt;br /&gt;
   index: 4&lt;br /&gt;
   end: 584830196&lt;br /&gt;
   start: 16777216&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart delete -i 4 mfid1s1&lt;br /&gt;
mfid1s1d deleted&lt;br /&gt;
jail8 /usr/home/bb# gpart list mfid1s1&lt;br /&gt;
Geom name: mfid1s1&lt;br /&gt;
fwheads: 255&lt;br /&gt;
fwsectors: 63&lt;br /&gt;
last: 584830196&lt;br /&gt;
first: 0&lt;br /&gt;
entries: 8&lt;br /&gt;
scheme: BSD&lt;br /&gt;
Providers:&lt;br /&gt;
1. Name: mfid1s1b&lt;br /&gt;
   Mediasize: 8589934592 (8.0G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e0&lt;br /&gt;
   rawtype: 1&lt;br /&gt;
   length: 8589934592&lt;br /&gt;
   offset: 0&lt;br /&gt;
   type: freebsd-swap&lt;br /&gt;
   index: 2&lt;br /&gt;
   end: 16777215&lt;br /&gt;
   start: 0&lt;br /&gt;
Consumers:&lt;br /&gt;
1. Name: mfid1s1&lt;br /&gt;
   Mediasize: 299433060864 (279G)&lt;br /&gt;
   Sectorsize: 512&lt;br /&gt;
   Mode: r1w1e1&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981           - free -  (271G)&lt;br /&gt;
&lt;br /&gt;
# gpart add  -t freebsd-ufs -i 7 mfid1s1&lt;br /&gt;
mfid1s1g added&lt;br /&gt;
&lt;br /&gt;
# gpart show mfid1s1&lt;br /&gt;
=&amp;gt;        0  584830197  mfid1s1  BSD  (279G)&lt;br /&gt;
          0   16777216        2  freebsd-swap  (8.0G)&lt;br /&gt;
   16777216  568052981        7  freebsd-ufs  (271G)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s how we USED to do it with bsdlabel:&lt;br /&gt;
&lt;br /&gt;
 bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
&amp;lt;pre&amp;gt;# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&amp;lt;br&amp;gt;&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&amp;lt;br&amp;gt;&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
&lt;br /&gt;
So:&amp;lt;br&amp;gt;&lt;br /&gt;
 g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create the jail template ===&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Create an md device to hold the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /mnt/data1/jail-template20g&lt;br /&gt;
mdconfig -a -t vnode -s 20g -f /mnt/data1/jail-template20g -u 0&lt;br /&gt;
newfs -O 1 /dev/md0&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0 /mnt/data1/jail-DIR&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Build world into the jail:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; taskdone&amp;lt;/pre&amp;gt;&lt;br /&gt;
~1hr&lt;br /&gt;
&lt;br /&gt;
Make /etc into the jail, mount dev, copy in jkill:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter into jail to do configuration:&lt;br /&gt;
 jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
 csh&lt;br /&gt;
&lt;br /&gt;
Create fstab:&lt;br /&gt;
&amp;lt;pre&amp;gt;touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit crontab:&lt;br /&gt;
 vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
 # IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
 rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check and remove any crap in /tmp&lt;br /&gt;
&lt;br /&gt;
 vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: &amp;lt;tt&amp;gt;MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
with: &amp;lt;tt&amp;gt;MP=&#039;/&#039;&amp;lt;/tt&amp;gt; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
 mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
Add account for user. Output/response:&lt;br /&gt;
&amp;lt;pre&amp;gt;adduser&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set TERM:&lt;br /&gt;
 vi /usr/home/user/.profile &lt;br /&gt;
 TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
Set time zone to PT:&lt;br /&gt;
 tzsetup&lt;br /&gt;
&lt;br /&gt;
Reload aliases:&lt;br /&gt;
 newaliases &lt;br /&gt;
&lt;br /&gt;
Replace reboot/halt:&lt;br /&gt;
 rm /sbin/halt /sbin/reboot&lt;br /&gt;
 ln /sbin/jkill /sbin/halt&lt;br /&gt;
 ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
Redirect console output, comment out console and move to /var/log/messages:&lt;br /&gt;
 vi /etc/syslog.conf&lt;br /&gt;
 #*.err;kern.warning;auth.notice;mail.crit               /dev/console&lt;br /&gt;
 *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
 exit&lt;br /&gt;
 exit&lt;br /&gt;
&lt;br /&gt;
Lib32 compat library:&lt;br /&gt;
 cd libexec&lt;br /&gt;
 chflags noschg ld-elf32.so.1&lt;br /&gt;
 chflags noschg ld-elf.so.1&lt;br /&gt;
 mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
 ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
 chflags schg ld-elf.so.1&lt;br /&gt;
 chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
Replace traceroute:&lt;br /&gt;
 mv /mnt/data1/jail-DIR/usr/sbin/traceroute /mnt/data1/jail-DIR/usr/sbin/_traceroute&lt;br /&gt;
 echo &#039;#\!/bin/sh\&lt;br /&gt;
 /usr/sbin/_traceroute -i bce0 $1&#039; &amp;gt;&amp;gt; /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
 chmod +x /mnt/data1/jail-DIR/usr/sbin/traceroute &lt;br /&gt;
&lt;br /&gt;
Modify &#039;bce0&#039; to reflect whichever nic is public on this hardware.&lt;br /&gt;
&lt;br /&gt;
Clean out ports before copying into the jail (~30mins):&lt;br /&gt;
 cd /usr/ports&lt;br /&gt;
 make -DNOCLEANDEPENDS clean &lt;br /&gt;
 rm -fr /usr/ports/distfiles/*&lt;br /&gt;
 cp -r /usr/ports /mnt/data1/jail-DIR/usr &lt;br /&gt;
&lt;br /&gt;
 rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
Umount the jail and dump it:&lt;br /&gt;
&amp;lt;pre&amp;gt;cd /&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/template /dev/md0&lt;br /&gt;
umount /dev/md0&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
mdconfig -d -u 0&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== setup backups ===&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail3\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit to reflect backup server and jail hostname&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 ssh backup1 mkdir -p /data/jail3/0&lt;br /&gt;
&lt;br /&gt;
On backup server, setup backup dirs:&lt;br /&gt;
 backup1# vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
 vi /usr/local/jail/bin/backup.md&lt;br /&gt;
adjust df so it includes all relevant drives, currently &amp;lt;tt&amp;gt;df &amp;gt; /etc/df.bak&amp;lt;/tt&amp;gt; is fine. Also, make sure the binary/script source is pulling from the right dir on backup2:&lt;br /&gt;
 /usr/local/bin/rsync -a backup2:/mnt/data4/bin/freebsd8.x/ /usr/local/jail/bin/&lt;br /&gt;
&lt;br /&gt;
 cp /usr/local/jail/bin/backup.md /usr/local/jail/bin/backup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== create /root/logs ===&lt;br /&gt;
 mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edit sshd_config ===&lt;br /&gt;
 vi /etc/ssh/sshd_config&lt;br /&gt;
 ListenAddress 69.55.229.7&lt;br /&gt;
 ListenAddress 10.1.2.103&lt;br /&gt;
&lt;br /&gt;
Adjust to pub/private IP for jail.&lt;br /&gt;
&lt;br /&gt;
Restart sshd:&lt;br /&gt;
 kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== add crontab entries ===&lt;br /&gt;
&amp;lt;pre&amp;gt;crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
0 0,6,12,18 * * * /usr/local/jail/bin/sync_jail_names&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On 2950:&lt;br /&gt;
 */5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
On 3ware-based servers:&lt;br /&gt;
 0 0 * * * /usr/local/jail/bin/3wraidchk&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Reboot notify script ===&lt;br /&gt;
 ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== patch jail against starting jails with rtprio ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== make sure mail works ===&lt;br /&gt;
If there are map errors:&lt;br /&gt;
 cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== recover space on /usr (optional) ===&lt;br /&gt;
&lt;br /&gt;
 rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jps ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/local/sbin/jps /usr/local/sbin/jps_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jls ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jls /usr/sbin/jls_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wrapper for jexec ===&lt;br /&gt;
&lt;br /&gt;
 mv /usr/sbin/jexec /usr/sbin/jexec_&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== install jtop ===&lt;br /&gt;
&lt;br /&gt;
 cd /usr/ports/sysutils/jtop&lt;br /&gt;
 make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== block jails from reaching private net ===&lt;br /&gt;
 echo &#039;ipfw add 1 deny ip from 69.55.224.0/20 to 10.1.4.0/24&#039; &amp;gt; /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
 chmod 0700 /usr/local/etc/rc.d/ipfw.sh&lt;br /&gt;
&lt;br /&gt;
== add to management infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== mail ===&lt;br /&gt;
&lt;br /&gt;
==== add to management db ====&lt;br /&gt;
&lt;br /&gt;
tables: jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
on jail run:&lt;br /&gt;
 uname -r&lt;br /&gt;
&lt;br /&gt;
Which shows something like:&lt;br /&gt;
 8.3-RELEASE-p2&lt;br /&gt;
&lt;br /&gt;
Insert into db:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;insert into ref_machines values (null,&#039;jail3&#039;,&#039;mx3.johncompanies.com&#039;,0,&#039;f8&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail3&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039;8.3-RELEASE-jc2&#039;,35,&#039;FreeBSD 8.3&#039;,1);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== add to bb server ====&lt;br /&gt;
 vi /usr/home/bb/bbsrc/bb1.9i-btf/etc/bb-hosts&lt;br /&gt;
 10.1.4.109 jail9.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
In the case of an i2b server, use real ip:&lt;br /&gt;
 69.55.229.7 jail3.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Update backupgraph ====&lt;br /&gt;
 vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
==== Update load mrtg ====&lt;br /&gt;
 vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
=== ns1c ===&lt;br /&gt;
fwd and reverse lookups:&lt;br /&gt;
 vr johncompanies.com&lt;br /&gt;
&lt;br /&gt;
 vi internal.johncompanies.com&lt;br /&gt;
 rndc reload johncompanies.com IN private&lt;br /&gt;
&lt;br /&gt;
 ptr 69.55.227.x&lt;br /&gt;
&lt;br /&gt;
=== wiki ===&lt;br /&gt;
add to server/cabinet map&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
 00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
 00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
 ipfw add 00109 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 } to 69.55.232.3&lt;br /&gt;
 ipfw add 00109 deny ip from any to 69.55.232.3&lt;br /&gt;
&lt;br /&gt;
=== select some customers for castle probe map ===&lt;br /&gt;
&lt;br /&gt;
= 4.11 =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
4.11&lt;br /&gt;
Last updated 2006-1-26&lt;br /&gt;
&lt;br /&gt;
All time extimates below assume disks aren’t scrubbing&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: off&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
	&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 4.11 &lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
partition&lt;br /&gt;
move cursor to aacd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over aacd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
label&lt;br /&gt;
Make sure aacd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 4G&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3G&lt;br /&gt;
/mnt/data1 remaining space&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS+S Y under the Newfs column)&lt;br /&gt;
Set the noatime option&lt;br /&gt;
&lt;br /&gt;
move cursor to aacd1&lt;br /&gt;
swap 4G&lt;br /&gt;
/mnt/data2 remaining space&lt;br /&gt;
Set the noatime option&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
media&lt;br /&gt;
cd&lt;br /&gt;
commit&lt;br /&gt;
yes&lt;br /&gt;
(2450: 16mins, supermicro: 11mins)&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot;&lt;br /&gt;
Set root pwd&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
Set tz&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=yes&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
&lt;br /&gt;
Startup services:&lt;br /&gt;
Disble usbd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install&lt;br /&gt;
yes&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. put some temp settings in /etc/rc.conf:&lt;br /&gt;
usbd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
4. reboot&lt;br /&gt;
&lt;br /&gt;
5. double check the date/time&lt;br /&gt;
&lt;br /&gt;
6. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
WITHOUT_X11=yes&lt;br /&gt;
KERNCONF=jail18&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=38400&lt;br /&gt;
&lt;br /&gt;
7. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean (stay close for gettext options, 2450: 21mins, supermicro: 14mins)&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
8. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
cat &amp;gt; sup&lt;br /&gt;
*default host=cvsup4.freebsd.org&lt;br /&gt;
*default base=/usr&lt;br /&gt;
*default prefix=/usr&lt;br /&gt;
*default release=cvs tag=RELENG_4_11&lt;br /&gt;
*default delete use-rel-suffix&lt;br /&gt;
*default compress&lt;br /&gt;
src-all&lt;br /&gt;
&lt;br /&gt;
cvsup sup (2450, 4.10: 13mins, supermicro, 4.11: 11mins)&lt;br /&gt;
&lt;br /&gt;
9. populate hosts&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
10.1.4.3	backup2&lt;br /&gt;
&lt;br /&gt;
10. put key in authorized_keys on backup2&lt;br /&gt;
ssh-keygen -t dsa -b 1024 (default location, leave password blank)&lt;br /&gt;
scp /root/.ssh/id_dsa.pub user@backup2:/tmp/jail18pub&lt;br /&gt;
on backup2:&lt;br /&gt;
cat /tmp/jail18pub &amp;gt;&amp;gt; /root/.ssh/authorized_keys&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
11. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build (name the kernel config the same as the jail, ex jail4):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-4.11 ./jail18&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
ident           jail4&lt;br /&gt;
&lt;br /&gt;
IMPORTANT CUSTOMIZATION:&lt;br /&gt;
for machines with &amp;gt;4G RAM, add to the config:&lt;br /&gt;
options         PAE&lt;br /&gt;
&lt;br /&gt;
for supermicro mobo’s with broadcom nics, add to the config:&lt;br /&gt;
device          bge             # Broadcom BCM570x (``Tigon III&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
for machines where lots of postgres might be running, change SHMMAXPGS:&lt;br /&gt;
options         SHMMAXPGS=40960&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-p9-jc2)&lt;br /&gt;
&lt;br /&gt;
12. bring over patches from backup2&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/4.11/*&amp;quot; .&lt;br /&gt;
jail_proc_patch      100% |*************************************************|  2593    00:00&lt;br /&gt;
restore-patch        100% |*************************************************|  3295    00:00&lt;br /&gt;
411ps-jail-patch     100% |*************************************************|  2602    00:00&lt;br /&gt;
jail_rtprio_patch    100% |*************************************************|   301    00:00&lt;br /&gt;
udp-patch            100% |*************************************************|   594    00:00&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch &amp;lt; 411ps-jail-patch&lt;br /&gt;
patch &amp;lt; jail_proc_patch&lt;br /&gt;
patch &amp;lt; restore-patch&lt;br /&gt;
patch &amp;lt; jail_rtprio_patch&lt;br /&gt;
patch &amp;lt; udp-patch&lt;br /&gt;
&lt;br /&gt;
13. build, install kernel and world&lt;br /&gt;
make buildworld buildkernel installkernel (2450: 48min, supermicro: 20mins)&lt;br /&gt;
(Any compile errors can be looked up in /usr/include/sys/signal.h, other errors, do a rm -R /usr/obj/*)&lt;br /&gt;
make installworld (2450: 2min, supermicro: 1mins)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
(answer no to most of it)&lt;br /&gt;
&lt;br /&gt;
14. reboot. Confirm new kernel is loaded (uname -a)&lt;br /&gt;
&lt;br /&gt;
15. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
cat &amp;gt; sup&lt;br /&gt;
*default host=cvsup4.FreeBSD.org&lt;br /&gt;
*default base=/usr&lt;br /&gt;
*default prefix=/usr&lt;br /&gt;
*default release=cvs tag=RELENG_4&lt;br /&gt;
*default delete use-rel-suffix&lt;br /&gt;
*default compress&lt;br /&gt;
ports-all tag=.&lt;br /&gt;
&lt;br /&gt;
cvsup sup (2450: 26mins, supermicro: 26mins)&lt;br /&gt;
&lt;br /&gt;
16. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
cat &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
console=&amp;quot;comconsole&amp;quot;&lt;br /&gt;
&lt;br /&gt;
17. edit /etc/ttys and turn off all ttyv&#039;s except 0 and 1&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail4 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
18. install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base&lt;br /&gt;
make install clean (2450: 7min, supermicro: 2mins)&lt;br /&gt;
&lt;br /&gt;
reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
19. install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
cd /dev&lt;br /&gt;
sh MAKEDEV aac0&lt;br /&gt;
&lt;br /&gt;
test out /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
20. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: /usr/local/jail/bin /compat/linux/usr/sbin&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`ps auxwJ | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`ps cauxJ | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
21. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
22. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
23. configure inetd to respond to mrtg load queries&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
load            12384/tcp&lt;br /&gt;
&lt;br /&gt;
kill -HUP `cat /var/run/inetd.pid`&lt;br /&gt;
&lt;br /&gt;
24. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/etc/mrtg/mrtg1.cfg&lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
25. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.104 jail4.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd /usr/home/bb/bbsrc/bb1.9e-btf&lt;br /&gt;
./runbb.sh stop&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser -group 1984 -shell /bin/csh -uid 1984 bb&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
10.1.4.105 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh&lt;br /&gt;
10.1.4.118 jail18.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles   and change:&lt;br /&gt;
MACHINE=&amp;quot;jail18,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh&lt;br /&gt;
./bbchkhosts.sh (ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd bbc1.9e-btf/&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT (look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
27. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
28. configure ntp&lt;br /&gt;
cat &amp;gt; /etc/ntp.conf&lt;br /&gt;
server 10.1.4.105&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
29. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
31. fwd and reverse lookups on ns1c&lt;br /&gt;
vi johncompanies.com&lt;br /&gt;
rr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
32. create all /dev/vn and /dev/pty files in /dev&lt;br /&gt;
cat &amp;gt; /tmp/runme.sh&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
cd /dev&lt;br /&gt;
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done&lt;br /&gt;
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ; do sh MAKEDEV vn$i ; done&lt;br /&gt;
&lt;br /&gt;
NOTE: there are only 4 lines in the above output - however the lines may be wrapped on your terminal - make sure that there are only four lines in the script you make.&lt;br /&gt;
&lt;br /&gt;
chmod +x /tmp/runme.sh&lt;br /&gt;
/tmp/runme.sh&lt;br /&gt;
&lt;br /&gt;
rm /tmp/runme.sh&lt;br /&gt;
&lt;br /&gt;
ls /dev/vn*|wc -l (make sure the output is a high number – larger than 128)&lt;br /&gt;
ls /dev/pty*|wc -l (make sure the output is exactly 256)&lt;br /&gt;
&lt;br /&gt;
33. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.104&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.104 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
34. make sure sysctls are set and preserved after reboot&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
kern.consmute=0&lt;br /&gt;
jail.sysvipc_allowed=1&lt;br /&gt;
kern.ipc.shm_use_phys=1&lt;br /&gt;
kern.ipc.shmall=65535&lt;br /&gt;
kern.ipc.shmmax=134217728&lt;br /&gt;
net.inet.tcp.syncookies=0&lt;br /&gt;
kern.maxfiles=32768&lt;br /&gt;
kern.fallback_elf_brand=3&lt;br /&gt;
kern.maxprocperuid=4000&lt;br /&gt;
jail.max_procs_per_jail: 1026&lt;br /&gt;
&lt;br /&gt;
35. reboot&lt;br /&gt;
&lt;br /&gt;
36. create the jail template&lt;br /&gt;
vnconfig -T -S 1g -Z -s labels -c /dev/vn1 /mnt/data1/jail&lt;br /&gt;
disklabel -r -w vn1 auto&lt;br /&gt;
newfs /dev/vn1c&lt;br /&gt;
cd /usr/src&lt;br /&gt;
mkdir -p /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/vn1c /mnt/data1/jail-DIR&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR (2450: 45mins, supermicro: 19mins)&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR -DNO_MAKEDEV_RUN&lt;br /&gt;
cd /mnt/data1/jail-DIR/dev&lt;br /&gt;
sh MAKEDEV jail&lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
cat &amp;gt; /etc/rc.conf&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
network_interfaces=&amp;quot;&amp;quot;&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
nameserver 69.55.225.225&lt;br /&gt;
nameserver 69.55.230.3&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
mv /bin/df /bin/df_&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /bin/df&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
/bin/df_ $* .&lt;br /&gt;
&lt;br /&gt;
chmod +x /bin/df&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; /sbin/mount&lt;br /&gt;
echo `df | tail -1 | awk &#039;{print $1 &amp;quot; on &amp;quot; $6 &amp;quot; (ufs, local)&amp;quot;}&#039;`&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039;&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user)&lt;br /&gt;
&lt;br /&gt;
put user in wheel group&lt;br /&gt;
vi /etc/group&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
cd /etc&lt;br /&gt;
vipw -d .&lt;br /&gt;
root:$1$krszPxhk$xkCepSnz3mIikT3vCtJCt0:0:0::0:0:Charlie &amp;amp;:/root:/bin/csh&lt;br /&gt;
user:$1$Mx9p5Npk$QdMU6c8YQqp2FW2M3irEh/:1001:1001::0:0:User &amp;amp;:/home/user:/bin/sh&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
chflags schg /dev/*mem&lt;br /&gt;
&lt;br /&gt;
cd /dev&lt;br /&gt;
rm console&lt;br /&gt;
ln -s null console&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean (2450: 47mins , supermicro: 17mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr&lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/jail-DIR/dev&lt;br /&gt;
rm kmem&lt;br /&gt;
mknod kmem c 2 1 root:kmem&lt;br /&gt;
chmod 640 kmem&lt;br /&gt;
rm mem&lt;br /&gt;
mknod mem c 2 0 root:kmem&lt;br /&gt;
chmod 640 mem&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for i in 1 2 3 4 5 6 7 ; do sh MAKEDEV pty$i ; done&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /mnt/data1/jail-DIR/usr/compat/linux/dev&lt;br /&gt;
mknod null c 2 2&lt;br /&gt;
mknod random c 2 3&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
mkdir /usr/local/jail/template/&lt;br /&gt;
dump -0a -f /usr/local/jail/template/411template /dev/vn1&lt;br /&gt;
&lt;br /&gt;
umount /dev/vn1c&lt;br /&gt;
vnconfig -u /dev/vn1&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail&lt;br /&gt;
rm -fr /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
37. setup backups&lt;br /&gt;
cat &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
backupdir=/mnt/data2/jail18_rsync&lt;br /&gt;
&lt;br /&gt;
## ENTRY /etc&lt;br /&gt;
## ENTRY /usr/local/etc&lt;br /&gt;
## ENTRY /usr/local/jail&lt;br /&gt;
## ENTRY /root/logs&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/0_today&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/1_yesterday&lt;br /&gt;
mkdir -p /mnt/data2/jail18_rsync/2_two_day&lt;br /&gt;
&lt;br /&gt;
add the system to /mnt/data1/bin/rsync_houseclean &lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
38. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
39. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.101&lt;br /&gt;
ListenAddress 10.1.4.104&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
40. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
41. Reboot notify script&lt;br /&gt;
cat &amp;gt; /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
echo &amp;quot;`/bin/hostname` rebooted&amp;quot; | /usr/bin/mail reboot@johncompanies.com&lt;br /&gt;
&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/notify.sh&lt;br /&gt;
&lt;br /&gt;
42. copy jailmake from prev system&lt;br /&gt;
scp user@10.1.4.118:/usr/local/jail/bin/jailmake /usr/local/jail/bin&lt;br /&gt;
rehash&lt;br /&gt;
NOTE: remove df altering code from jailmake since we put the correct df in the template, and make sure path to template file is right&lt;br /&gt;
&lt;br /&gt;
43. add to templates via mgmt system&lt;br /&gt;
&lt;br /&gt;
44. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
45. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.2&lt;br /&gt;
00117 deny ip from any to 69.55.228.2&lt;br /&gt;
&lt;br /&gt;
jail4 would be 00104...&lt;br /&gt;
ipfw add 00118 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.140&lt;br /&gt;
ipfw add 00118 deny ip from any to 69.55.228.140&lt;br /&gt;
&lt;br /&gt;
46. select customers for probe map&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6.1 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2006-05-09&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: off&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over aacd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure aacd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 2G&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3G&lt;br /&gt;
/mnt/data1 remaining space&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to aacd1&lt;br /&gt;
swap 2G&lt;br /&gt;
/mnt/data2 remaining space&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
when it comes back up, enter junk when it asks for key seed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail19 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=38400&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
echo &amp;quot;console=&amp;quot;&amp;quot;comconsole&amp;quot;&amp;quot;&amp;quot; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins)&lt;br /&gt;
&lt;br /&gt;
8. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup &lt;br /&gt;
(2450, ~12mins, supermicro, 27mins)&lt;br /&gt;
&lt;br /&gt;
9. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
10. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
scp /root/.ssh/id_dsa.pub user@backup2:/tmp/jailkey&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
11. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.1 ./jail19&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail14&lt;br /&gt;
ident           jail14&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
12. bring over patches from backup2&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.1/*&amp;quot; .&lt;br /&gt;
jail_proc_patch      100% |*************************************************|  2593    00:00&lt;br /&gt;
restore-patch        100% |*************************************************|  3295    00:00&lt;br /&gt;
54ps-jail-patch      100% |*************************************************|  2602    00:00&lt;br /&gt;
jail_rtprio_patch    100% |*************************************************|   301    00:00&lt;br /&gt;
udp-patch            100% |*************************************************|   594    00:00&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch &amp;lt; 54ps-jail-patch&lt;br /&gt;
patch &amp;lt; jail_proc_patch&lt;br /&gt;
patch &amp;lt; restore-patch&lt;br /&gt;
patch &amp;lt; jail_rtprio_patch&lt;br /&gt;
patch &amp;lt; udp-patch&lt;br /&gt;
&lt;br /&gt;
13. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel &lt;br /&gt;
(2450: 1:56min, supermicro::59mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
14. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
15. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup &lt;br /&gt;
(2450: 18mins, supermicro: 19mins)&lt;br /&gt;
&lt;br /&gt;
18. (only applies if adaptec card installed)&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins)&lt;br /&gt;
&lt;br /&gt;
reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh --excludepath=/dev /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
21. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
21. install perl from ports&lt;br /&gt;
PROB NOT NECESSARY – INSTALLED WITH LINUX I THINK&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
22. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd6.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
23. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.105 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.103 jail3.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail19,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh (y to questions)&lt;br /&gt;
./bbchkhosts.sh (ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
modify bb-msgtab to look for raid failures&lt;br /&gt;
&lt;br /&gt;
24. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
25. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.119 jail19.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
27. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
28. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.105&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
29. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
31. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
33. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.119&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.118 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
34. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.max_procs_per_jail: 1026\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
35. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
36. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
36. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
35. reboot&lt;br /&gt;
Check rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
36. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/aacd0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
For a 73G drive (after OS), we can fit 31 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/aacd0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (-4G for swap), we can fit 66 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 3rd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
Label should be:&lt;br /&gt;
# /dev/aacd2s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  c: 143299737        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  g: 143299721        16    unused        0     0&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/aacd2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. create the jail template&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make clean&lt;br /&gt;
rm -fr /usr/obj/&lt;br /&gt;
make world DESTDIR=/mnt/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins)&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/jail&lt;br /&gt;
mount_devfs devfs /mnt/jail/dev&lt;br /&gt;
devfs -m /mnt/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/jail/usr (2450: 2:00 mins , supermicro: 15mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
mkdir /usr/local/jail/template/&lt;br /&gt;
dump -0a -f /usr/local/jail/template/61template /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
umount /mnt/jail/dev&lt;br /&gt;
umount /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
rm -fr /mnt/jail&lt;br /&gt;
&lt;br /&gt;
37. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/mnt/data3jail3_rsync\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data3/jail3/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /mnt/data4/bin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
38. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
39. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.101&lt;br /&gt;
ListenAddress 10.1.4.118&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
40. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
41. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
42. copy jailmake from prev system&lt;br /&gt;
scp user@10.1.4.119:/usr/local/jail/bin/jailmake /usr/local/jail/bin&lt;br /&gt;
rehash&lt;br /&gt;
NOTE: remove df altering code from jailmake since we put the correct df in the template, and make sure path to template file is right&lt;br /&gt;
&lt;br /&gt;
43. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
5.4-RELEASE-p2-jc2&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;jail19&#039;,&#039;jail19.johncompanies.com&#039;,0,&#039;l&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail19&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 6.2-RELEASE-jc1&#039;,5,&#039;FreeBSD 6.2&#039;,0);&lt;br /&gt;
&lt;br /&gt;
44. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
45. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00119 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00119 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00119 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
ipfw add 00119 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
46. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. install raid monitor&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/asr-utils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
48. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gconcat label -v somelabel /dev/gvinum/a /dev/gvinum/b&lt;br /&gt;
bsdlabel -r -w /dev/concat/somelabel&lt;br /&gt;
newfs /dev/concat/somelabela&lt;br /&gt;
mount /dev/concat/somelabel /mount/point&lt;br /&gt;
&lt;br /&gt;
umount /dev/concat/somelabel&lt;br /&gt;
gconcat stop somelabel&lt;br /&gt;
gconcat label -v /dev/gvinum/a /dev/gvinum/b /dev/gvinum/c /dev/gvinum/d&lt;br /&gt;
growfs /dev/concat/somelabel&lt;br /&gt;
mount /dev/concat/somelabel /mount/point&lt;br /&gt;
&lt;br /&gt;
volume f&lt;br /&gt;
        plex org concat&lt;br /&gt;
        sd length 30449m drive data1&lt;br /&gt;
&lt;br /&gt;
where f is &lt;br /&gt;
&lt;br /&gt;
D data1                 State: up       /dev/aacd0s1g   A: 30449/64241 MB (47%)&lt;br /&gt;
&lt;br /&gt;
gvinum rm -r f&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so i setup 2 machines with 6.1. A had 2 logical drives and gv&#039;s created across both. B had 1 logical drive and gv&#039;s across the 1 drive.  &lt;br /&gt;
the labeling for the gv&#039;s was v1-vN (till i ran out of space) &lt;br /&gt;
when i moved aac1 from A to B, the gv&#039;s on A&#039;s aac1, took precedence over the similarly labeled gv&#039;s on B&#039;s aac0. in other words. B&#039;s aac0 used to have v1-v30. A&#039;s aac1 had vn6-vn30. when A&#039;s aac1 was moved to B, v1-v5 were linked to B&#039;s aac0, and v6-v30 linked to A&#039;s aac1 &lt;br /&gt;
i relabeled B&#039;s aac0 gv&#039;s to something different (not v1-vN) and tried again and they all showed up.  &lt;br /&gt;
i tried the experiment again this time moving A&#039;s aac0 to B. at that point nothing worked. i moved A&#039;s aac0 back to A and renamed the device (data1) to something else, then tried the test again. still no beans.  &lt;br /&gt;
it&#039;s hazy what i did after that cause the machine&#039;s weren&#039;t cooperating and i was trying to rename the device but basically i think i need to repeat the test and see if i can re-define the device, and probably also give it a unique name and i bet it would have worked.  &lt;br /&gt;
also interesting- A&#039;s aac1 contained data about A&#039;s aac0 which showed up when i put aac1 into B &lt;br /&gt;
skeeter:	as for the gv stuff, it definitely sounds like using some sort of serial numbering scheme would be the way to go if you want to be able to move disks around.... &lt;br /&gt;
that overlap is still an issue  (aac1&#039;s device was &#039;data2&#039;)  when i had A&#039;s aac0 in B nothing worked both disks gv devices were called data1 &lt;br /&gt;
skeeter:	I suppose you could serialize those names as well...&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 6.2 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2007-10-15&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure amrd0 is highlighted&lt;br /&gt;
a to start with defaults&lt;br /&gt;
&lt;br /&gt;
john likes:&lt;br /&gt;
/1g&lt;br /&gt;
/var 256m&lt;br /&gt;
&lt;br /&gt;
Glenn likes:&lt;br /&gt;
/128&lt;br /&gt;
/var 256&lt;br /&gt;
/usr 3g&lt;br /&gt;
/tmp 256&lt;br /&gt;
&lt;br /&gt;
We do:&lt;br /&gt;
delete everything&lt;br /&gt;
/ 128M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 3.5G (3584M)&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to amrd1&lt;br /&gt;
swap 4G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail7 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
5. add console=&amp;quot;comconsole&amp;quot; to /boot/loader.conf&lt;br /&gt;
echo &amp;quot;console=&amp;quot;&amp;quot;comconsole&amp;quot;&amp;quot;&amp;quot; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd6.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2 ./jail7&lt;br /&gt;
&lt;br /&gt;
or for PAE&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2-PAE ./jail7&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail7&lt;br /&gt;
ident           jail7&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
Apply these only to 2950 with PAE:&lt;br /&gt;
patch -p0 &amp;lt; mfi-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-staticcompile-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-bin-patch&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.119&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.118 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.101 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.max_procs_per_jail: 1026\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
 (for adaptec)&lt;br /&gt;
This didn’t work: reibuild rpmdb cause we had probs installing aacapps&lt;br /&gt;
cd /compat/linux/bin&lt;br /&gt;
./rpm --initdb&lt;br /&gt;
./rpm --rebuilddb&lt;br /&gt;
&lt;br /&gt;
Install of linux-base lead to broken rpm on 6.2 so:&lt;br /&gt;
install aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/aacapps-4.1-0.i386.rpm /tmp/.&lt;br /&gt;
/compat/linux/bin/rpm -ivh --excludepath=/dev /tmp/aacapps-4.1-0.i386.rpm&lt;br /&gt;
scp user@10.1.4.107:/compat/linux/usr/sbin/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
rpm didn’t even install on latest so just scp’d over aaccli and it worked&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
24. install perl from ports&lt;br /&gt;
Not necessary if linux_base is installed&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xvf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.107 jail7.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail19,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.119 jail19.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
31. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
reboot&lt;br /&gt;
&lt;br /&gt;
34. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
For a 73G drive (after OS), we can fit 31 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/aacd0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 31 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (-4G for swap), we can fit 66 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/amrd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 3rd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
Label should be:&lt;br /&gt;
# /dev/aacd2s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  c: 143299737        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  g: 143299721        16    unused        0     0&lt;br /&gt;
&lt;br /&gt;
/dev/aacd1s1d&lt;br /&gt;
echo &#039;drive data3 device /dev/aacd2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 2G swap), we can fit 33 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 2nd 73G drive (after 4G swap), we can fit 32 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/aacd1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For a 3nd 73G drive, we can fit 34 2G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/mfid2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
2950:&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For 1st drive (146G)&lt;br /&gt;
echo &#039;drive data1 device /dev/mfid0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
&lt;br /&gt;
Usually there’s 2040m leftover so create one more smaller vol:&lt;br /&gt;
echo &#039;volume v64\&lt;br /&gt;
plex org concat\&lt;br /&gt;
sd length 2040m drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
For 2nd drive (146G)&lt;br /&gt;
echo &#039;drive data2 device /dev/mfid1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
sh&lt;br /&gt;
for f in 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130;\&lt;br /&gt;
do echo &amp;quot;volume v$f&amp;quot; &amp;gt;&amp;gt; /tmp/cgv; echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
echo &#039;sd length 2g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv; done; exit&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make clean&lt;br /&gt;
rm -fr /usr/obj/&lt;br /&gt;
make buildworld &lt;br /&gt;
(2450: 2:28mins, supermicro: 53mins, 2950: 36min)&lt;br /&gt;
make world DESTDIR=/mnt/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/jail&lt;br /&gt;
mount_devfs devfs /mnt/jail/dev&lt;br /&gt;
devfs -m /mnt/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
&lt;br /&gt;
jail /mnt/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# DO NOT UNCOMMENT THESE&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 24mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/jail/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
dump -0a -f /usr/local/jail/template/61template /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
umount /mnt/jail/dev&lt;br /&gt;
umount /dev/gvinum/v1&lt;br /&gt;
&lt;br /&gt;
rm -fr /mnt/jail&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/mnt/data4/jail7\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jai7\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup2:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /mnt/data2/jail7/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /mnt/data4/bin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup to use the right drives&lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.226.128&lt;br /&gt;
ListenAddress 10.1.4.114&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
55 10,23 * * * /usr/local/jail/bin/trafficwatch.pl&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;jail19&#039;,&#039;jail19.johncompanies.com&#039;,0,&#039;l&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;jail19&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 6.2-RELEASE-jc1&#039;,15,&#039;FreeBSD 6.2&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
45. install raid monitor (LSI 320 only):&lt;br /&gt;
&lt;br /&gt;
scp backup2:/d4/build/megaraid/MegaMonitor1.02.tgz /tmp&lt;br /&gt;
pkg_add MegaMonitor1.02.tgz&lt;br /&gt;
&lt;br /&gt;
edit line in /usr/local/etc/rc.d/megamonitor.sh to look like:&lt;br /&gt;
/usr/sbin/MegaCtrl -start -log /var/log/messages  -disChkCon -SMART9999 &amp;gt; /megamonitor.out&lt;br /&gt;
&lt;br /&gt;
comment out:&lt;br /&gt;
localhost: /var/log/messages : : : **Monitor** : &lt;br /&gt;
In /usr/home/bb/bbc1.9e-btf/etc/bb-msgstab&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
46. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
If they start stale:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 64 ]\&lt;br /&gt;
do\&lt;br /&gt;
        gvinum start v$i\&lt;br /&gt;
        i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
sh /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 6.2 -&amp;gt; 6.3 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2008-08-07&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. remove old src&lt;br /&gt;
cd /usr&lt;br /&gt;
rm –fr src/*&lt;br /&gt;
&lt;br /&gt;
2.  get latest sources for this release:&lt;br /&gt;
&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_6_3\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; pagedave&lt;br /&gt;
(20min)&lt;br /&gt;
&lt;br /&gt;
3. configure new kernel. Get config from similar machine or there may be a master copy somewhere under /mnt/data4/build/freebsd (name the kernel config the same as the jail, ex jail18):&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2 ./jail7&lt;br /&gt;
&lt;br /&gt;
or for PAE&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-6.2-PAE ./jail7&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail7&lt;br /&gt;
ident           jail7&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc1 to the end of the BRANCH string (RELEASE-jc1)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
3. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/6.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
Apply these only to 2950 with PAE:&lt;br /&gt;
patch -p0 &amp;lt; gvinum-staticcompile-patch&lt;br /&gt;
patch -p0 &amp;lt; gvinum-bin-patch&lt;br /&gt;
&lt;br /&gt;
4. build, install kernel&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel;  pagedave&lt;br /&gt;
(2min)&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
mv kernel.old kernel.old.old&lt;br /&gt;
(optional move old kernel out of the way)&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make installkernel&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
mv kernel.old kernel.6.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. take ½ of mirror and test (boot up) in new hardware&lt;br /&gt;
&lt;br /&gt;
6. improved loader configs:&lt;br /&gt;
&lt;br /&gt;
/boot/loader.conf:&lt;br /&gt;
console=&amp;quot;comconsole,vidconsole&amp;quot;&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot;&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
7. build userland&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld; pagedave&lt;br /&gt;
(33mins)&lt;br /&gt;
make installworld &lt;br /&gt;
&lt;br /&gt;
mergemaster –i&lt;br /&gt;
reboot&lt;br /&gt;
8. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7.0 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2008-04-30&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
(leave out the speed and mfi lines for 2450s)&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_zfs jailmake&lt;br /&gt;
--OR--&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_geom jailmake&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/local/jail/bin/js_zfs js&lt;br /&gt;
--OR--&lt;br /&gt;
ln -s /usr/local/jail/bin/js_geom js&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
for i386:&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-PAE ./mx2&lt;br /&gt;
&lt;br /&gt;
-or-&lt;br /&gt;
for amd64:&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-amd64 ./jail2&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail2&lt;br /&gt;
ident           jail2&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildworld buildkernel installkernel; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/modules/zfs&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
hostname=&amp;quot;jail2.johncompanies.com&amp;quot;&lt;br /&gt;
ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
defaultrouter=&amp;quot;69.55.228.1&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
zfs_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=65535\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
kern.maxvnodes=400000&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname –a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_0\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
24. install perl from ports&lt;br /&gt;
Not necessary if linux_base is installed&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/lang/perl5.8/&lt;br /&gt;
make install clean; rehash&lt;br /&gt;
(supermicro: 5min)&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd.tar .&lt;br /&gt;
tar xf bb-freebsd.tar&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.108 jail2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf/src&lt;br /&gt;
make; make install&lt;br /&gt;
cd ..&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.108 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
31. mrtg switch graphs&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. create zpools&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zpool create pool1 mfid0s1g&lt;br /&gt;
zpool create pool2 mfid1s1g&lt;br /&gt;
zfs set atime=off pool1&lt;br /&gt;
zfs set atime=off pool2&lt;br /&gt;
&lt;br /&gt;
echo &#039; vfs.zfs.prefetch_disable=&amp;quot;1&amp;quot; \&lt;br /&gt;
vfs.zfs.arc_min=16777216 \&lt;br /&gt;
vfs.zfs.arc_max=33554432 \&lt;br /&gt;
vm.kmem_size_max=&amp;quot;1G&amp;quot; # for i386\&lt;br /&gt;
vm.kmem_size=&amp;quot;1G&amp;quot; # for i386\&lt;br /&gt;
vm.kmem_size_max=&amp;quot;1.5G&amp;quot; # for amd64\&lt;br /&gt;
vm.kmem_size=&amp;quot;1.5G&amp;quot; # for amd64\&lt;br /&gt;
vfs.zfs.zil_disable=&amp;quot;1&amp;quot; &#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
zfs create -o mountpoint=/mnt/data1/jail -o quota=4G pool1/jail&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail/dev&lt;br /&gt;
devfs -m /mnt/data1/jail/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
cd /libexec&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 24mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
zfs snapshot pool1/jail@now&lt;br /&gt;
zfs send pool1/jail@now | cat &amp;gt; /usr/local/jail/template/70template &lt;br /&gt;
zfs destroy pool1/jail@now&lt;br /&gt;
&lt;br /&gt;
zfs destroy pool1/jail&lt;br /&gt;
&lt;br /&gt;
rmdir /mnt/data1/jail&lt;br /&gt;
f&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup to use the right drives&lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.238.233&lt;br /&gt;
ListenAddress 10.1.4.108&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.zfs&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
49. move and pare down generic kernel&lt;br /&gt;
mv kernel.old/ kernel.GENERIC&lt;br /&gt;
&lt;br /&gt;
/  too full, remove old kernel modules except for:&lt;br /&gt;
&lt;br /&gt;
Id Refs Address            Size     Name&lt;br /&gt;
 1   14 0xffffffff80100000 ac6c08   kernel&lt;br /&gt;
 2    1 0xffffffff80bc8000 1128     mfi_linux.ko&lt;br /&gt;
 3    4 0xffffffff80bca000 39138    linux.ko&lt;br /&gt;
 4    1 0xffffffffb48f8000 358c     linprocfs.ko&lt;br /&gt;
 5    1 0xffffffffb48fc000 9d3      linsysfs.ko&lt;br /&gt;
 6    1 0xffffffffb490c000 80ee8    zfs.ko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7.1 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2009-02-16&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
Supermicro:&lt;br /&gt;
Console redirection:&lt;br /&gt;
Com port addr: on-board COM A&lt;br /&gt;
Baud: 38400&lt;br /&gt;
Console type: vt100&lt;br /&gt;
Flow control: none&lt;br /&gt;
Console connection: direct&lt;br /&gt;
Continue cr after post: on&lt;br /&gt;
&lt;br /&gt;
2450:&lt;br /&gt;
Make sure running bios A09&lt;br /&gt;
Console Redirection: VT100/VT220&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 5.4&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to amrd0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
&lt;br /&gt;
NOTE&lt;br /&gt;
For gvin probs made 2 slices, 1st 8960M&lt;br /&gt;
Freebsd boot mgr&lt;br /&gt;
&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect amrd0&lt;br /&gt;
cursor over amrd1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over amrd0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf (only add the console speed line if this is a supermicro capable of outputting BIOS redirect at that speed – 2450’s can only do 9600)&lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail2 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
(leave out the speed and mfi lines for 2450s)&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch quad2&lt;br /&gt;
touch quad3&lt;br /&gt;
touch quad4&lt;br /&gt;
touch safe1&lt;br /&gt;
touch safe2&lt;br /&gt;
touch safe3&lt;br /&gt;
touch safe4&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad2 quad2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad3 quad3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad4 quad4&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe1 safe1&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe2 safe2&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe3 safe3&lt;br /&gt;
ln -s /usr/local/jail/rc.d/safe4 safe4&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_geom jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_geom js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_geom canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_geom jailmakeempty&lt;br /&gt;
&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
(stable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
for i386:&lt;br /&gt;
cd /usr/src/sys/i386/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.0-PAE ./mx2&lt;br /&gt;
&lt;br /&gt;
-or-&lt;br /&gt;
&lt;br /&gt;
for amd64:&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.1-amd64 ./jail2&lt;br /&gt;
&lt;br /&gt;
-------&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail2&lt;br /&gt;
ident           jail2&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.x/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;kernel build done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /sys/modules/geom/geom_vinum&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/proc&lt;br /&gt;
mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_1\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i, 6/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli2&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail2,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
33. create gvinum volumes&lt;br /&gt;
&lt;br /&gt;
Make a g partition:&lt;br /&gt;
&lt;br /&gt;
2950:&lt;br /&gt;
bsdlabel -e /dev/mfid0s1&lt;br /&gt;
bsdlabel -e /dev/mfid1s1&lt;br /&gt;
bsdlabel -e /dev/mfid2s1&lt;br /&gt;
&lt;br /&gt;
given:&lt;br /&gt;
# /dev/aacd0s1:&lt;br /&gt;
8 partitions:&lt;br /&gt;
#        size   offset    fstype   [fsize bsize bps/cpg]&lt;br /&gt;
  a:   262144        0    4.2BSD     2048 16384 16392&lt;br /&gt;
  b:  4194304   262144      swap&lt;br /&gt;
  c: 143363997        0    unused        0     0         # &amp;quot;raw&amp;quot; part, don&#039;t edit&lt;br /&gt;
  d:   524288  4456448    4.2BSD     2048 16384 32776&lt;br /&gt;
  e:   524288  4980736    4.2BSD     2048 16384 32776&lt;br /&gt;
  f:  6291456  5505024    4.2BSD     2048 16384 28552&lt;br /&gt;
&lt;br /&gt;
new offset = 6291456 + 5505024 = 11796480&lt;br /&gt;
new size is size for &#039;c&#039; partition minus the new start from above&lt;br /&gt;
143363997 - 11796480 = 131567517&lt;br /&gt;
So:&lt;br /&gt;
g: 131567517 11796480 unused 0 0&lt;br /&gt;
&lt;br /&gt;
bsdlabel -e /dev/amrd1s1&lt;br /&gt;
change d to g&lt;br /&gt;
&lt;br /&gt;
For a 146G drive (after OS and 4G swap), we can fit 127 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data1 device /dev/mfid0s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
volume 1&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 3g drive data1&lt;br /&gt;
volume 2&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 5g drive data1&lt;br /&gt;
volume 3&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 8g drive data1&lt;br /&gt;
volume 4&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 6g drive data1&lt;br /&gt;
volume 5&lt;br /&gt;
plex org concat&lt;br /&gt;
sd length 10g drive data1&lt;br /&gt;
&lt;br /&gt;
for f in 1 2 3 4 5; do bsdlabel -rw /dev/gvinum/$f; done&lt;br /&gt;
for f in 1 2 3 4 5; do newfs /dev/gvinum/${f}a; done&lt;br /&gt;
for f in 1 2 3 4 5; do mkdir /mnt/data1/$f; mount /dev/gvinum/${f}a /mnt/data1/$f;done&lt;br /&gt;
for f in 1 2 3 4 5; do dd if=/dev/zero of=/mnt/data1/$f/this_is_$f bs=1m count=$f; done&lt;br /&gt;
for f in 1 2 3 4 5; do ll -h /mnt/data1/$f/; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 300G drive (after OS and 4G swap), we can fit 273 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data2 device /dev/mfid1s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;128&amp;quot;\&lt;br /&gt;
while [ $i -le 401 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data2&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For a 300G drive (after OS and 4G swap), we can fit 273 1G volumes so:&lt;br /&gt;
&lt;br /&gt;
echo &#039;drive data3 device /dev/mfid2s1g&#039; &amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;402&amp;quot;\&lt;br /&gt;
while [ $i -le 675 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;volume v$i&amp;quot; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;plex org concat&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
  echo &#039;sd length 1g drive data3&#039; &amp;gt;&amp;gt; /tmp/cgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkcgv&lt;br /&gt;
sh /tmp/mkcgv&lt;br /&gt;
gvinum create /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
Sometimes there’s 2040m leftover so create one more smaller vol:&lt;br /&gt;
echo &#039;volume v64\&lt;br /&gt;
plex org concat\&lt;br /&gt;
sd length 2040m drive data1&#039; &amp;gt;&amp;gt; /tmp/cgv&lt;br /&gt;
&lt;br /&gt;
To delete:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
  echo &amp;quot;gvinum rm -r v$i&amp;quot; &amp;gt;&amp;gt; /tmp/dgv;\&lt;br /&gt;
i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/mkdgv&lt;br /&gt;
sh /tmp/mkdgv&lt;br /&gt;
sh /tmp/dgv&lt;br /&gt;
&lt;br /&gt;
dd if=/dev/zero of=/dev/sdb seek=285474816 bs=512&lt;br /&gt;
dd if=/dev/zero of=/dev/mfid0s2 bs=1m count=1000 (do this to all drives)&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch /mnt/data1/jail &lt;br /&gt;
mdconfig -a -t vnode -s 1g -f /mnt/data1/jail -u 0&lt;br /&gt;
bsdlabel -rw md0 &lt;br /&gt;
newfs4x /dev/md0c&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0c /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
user/root passwd: 8ico2987&lt;br /&gt;
&lt;br /&gt;
Set root password&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd libexec&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
may have to run:&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
then&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 18mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
dump -0a -f /usr/local/jail/template/71template /dev/md0c&lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
umount /dev/md0c&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup1 mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.53&lt;br /&gt;
ListenAddress 10.1.4.102&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.md&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
46. make gv start on boot&lt;br /&gt;
&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/gvinum /etc/rc.d/gvinum&lt;br /&gt;
&lt;br /&gt;
If they start stale:&lt;br /&gt;
&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
i=&amp;quot;1&amp;quot;\&lt;br /&gt;
while [ $i -le 127 ]\&lt;br /&gt;
do\&lt;br /&gt;
        gvinum start v$i\&lt;br /&gt;
        i=`expr $i + 1`\&lt;br /&gt;
done&#039; &amp;gt; /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
sh /tmp/startgv&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
49. move and pare down generic kernel&lt;br /&gt;
mv kernel.old/ kernel.GENERIC&lt;br /&gt;
&lt;br /&gt;
/  too full, remove old kernel modules except for:&lt;br /&gt;
&lt;br /&gt;
Id Refs Address            Size     Name&lt;br /&gt;
 1   14 0xffffffff80100000 ac6c08   kernel&lt;br /&gt;
 2    1 0xffffffff80bc8000 1128     mfi_linux.ko&lt;br /&gt;
 3    4 0xffffffff80bca000 39138    linux.ko&lt;br /&gt;
 4    1 0xffffffffb48f8000 358c     linprocfs.ko&lt;br /&gt;
 5    1 0xffffffffb48fc000 9d3      linsysfs.ko&lt;br /&gt;
 6    1 0xffffffffb490c000 80ee8    zfs.ko&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= 7.2 =&lt;br /&gt;
&lt;br /&gt;
Last updated 2009-06-18&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;All time extimates below assume disks aren’t scrubbing. Setup instructions below are for LSI card:&lt;br /&gt;
&lt;br /&gt;
1. make sure bios is setup for bios console redirect&lt;br /&gt;
2950:&lt;br /&gt;
Console redirection:&lt;br /&gt;
LCD string..&lt;br /&gt;
Date to GMT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. assuming mirrors (or at least disks) created (if not, refer to this), boot to disk 1 of 7.2&lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
&lt;br /&gt;
partition -&amp;gt;&lt;br /&gt;
move cursor to mfid0, hit space (takes you to partition map screen)&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
standard mbr (no boot manager)&lt;br /&gt;
space to unselect mfid0&lt;br /&gt;
cursor over mfid1&lt;br /&gt;
space&lt;br /&gt;
a for entire disk&lt;br /&gt;
q to quit and save&lt;br /&gt;
none (leave untouched)&lt;br /&gt;
&lt;br /&gt;
cursor over mfid0&lt;br /&gt;
space&lt;br /&gt;
(takes you into part. Screen again) q to exit&lt;br /&gt;
none&lt;br /&gt;
Make sure both are checked and tab to ok&lt;br /&gt;
&lt;br /&gt;
Label -&amp;gt;&lt;br /&gt;
Make sure mfid0 is highlighted&lt;br /&gt;
&lt;br /&gt;
/ 256M&lt;br /&gt;
swap 2G (for 2950 make it 4G)&lt;br /&gt;
/var 256M (4.6G)&lt;br /&gt;
/tmp 256M&lt;br /&gt;
/usr 4G&lt;br /&gt;
/mnt/data1 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
Make sure to toggle S for soft updates on all (should look like UFS2+S Y under the Newfs column)&lt;br /&gt;
&lt;br /&gt;
move cursor to mfid1&lt;br /&gt;
swap 8G (or 4G if there’s a 3rd drive)&lt;br /&gt;
/mnt/data2 remaining space (no need to newfs)&lt;br /&gt;
&lt;br /&gt;
q to save and exit&lt;br /&gt;
&lt;br /&gt;
distributions -&amp;gt;&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
media -&amp;gt;&lt;br /&gt;
cd&lt;br /&gt;
&lt;br /&gt;
commit -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
(2450: 14mins, supermicro: 12mins)&lt;br /&gt;
&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot; -&amp;gt;&lt;br /&gt;
Set root pwd&lt;br /&gt;
&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
&lt;br /&gt;
Set tz&lt;br /&gt;
&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0 -&amp;gt;&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=no&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
Enable sshd&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install -&amp;gt;&lt;br /&gt;
yes&lt;br /&gt;
&lt;br /&gt;
take the cd out and let the machine reboot&lt;br /&gt;
&lt;br /&gt;
3. double check the date/time&lt;br /&gt;
&lt;br /&gt;
4. edit /etc/make.conf &lt;br /&gt;
echo &amp;quot;WITHOUT_X11=yes \&lt;br /&gt;
KERNCONF=jail8 \&lt;br /&gt;
BOOT_COMCONSOLE_SPEED=115200&amp;quot; &amp;gt;&amp;gt; /etc/make.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. add settings to /boot/loader.conf and /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;-Dh&amp;quot; &amp;gt;&amp;gt; /boot.config&lt;br /&gt;
&lt;br /&gt;
echo &#039;console=&amp;quot;comconsole,vidconsole&amp;quot; \&lt;br /&gt;
boot_multicons=&amp;quot;YES&amp;quot; \&lt;br /&gt;
boot_serial=&amp;quot;YES&amp;quot; \&lt;br /&gt;
mfi_linux_load=&amp;quot;YES&amp;quot; \&lt;br /&gt;
comconsole_speed=&amp;quot;115200&amp;quot;&#039; &amp;gt;&amp;gt; /boot/loader.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. turn off all ttyv&#039;s except 0 and 1 in /etc/ttys&lt;br /&gt;
also turn on ttyd0, change type to vt100:&lt;br /&gt;
vi /etc/ttys&lt;br /&gt;
&lt;br /&gt;
ttyv2   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv3   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv4   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv5   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv6   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
ttyv7   &amp;quot;/usr/libexec/getty Pc&amp;quot;         cons25  off secure&lt;br /&gt;
&lt;br /&gt;
ttyd0   &amp;quot;/usr/libexec/getty std.9600&amp;quot;  vt100   on secure&lt;br /&gt;
&lt;br /&gt;
kill -1 1&lt;br /&gt;
&lt;br /&gt;
on console server:&lt;br /&gt;
vi /etc/remote&lt;br /&gt;
(rename port to jail18 depending on where and which digi plugged into)&lt;br /&gt;
test serial console&lt;br /&gt;
&lt;br /&gt;
7. populate hosts&lt;br /&gt;
echo &amp;quot;10.1.4.3 backup2&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
echo &amp;quot;10.1.4.8 backup1&amp;quot; &amp;gt;&amp;gt; /etc/hosts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
8. put key in authorized_keys on backup2&lt;br /&gt;
cd&lt;br /&gt;
ssh-keygen -t dsa -b 1024 &lt;br /&gt;
(default location, leave password blank)&lt;br /&gt;
&lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup2 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039; &lt;br /&gt;
cat /root/.ssh/id_dsa.pub | ssh backup1 &#039;cat - &amp;gt;&amp;gt; /root/.ssh/authorized_keys&#039;&lt;br /&gt;
&lt;br /&gt;
confirm that you can ssh to backup2 and backup1 without getting a login prompt&lt;br /&gt;
&lt;br /&gt;
ssh backup2 hostname&lt;br /&gt;
&lt;br /&gt;
ssh backup1 hostname&lt;br /&gt;
&lt;br /&gt;
9. create &amp;amp; populate binaries/scripts dirs&lt;br /&gt;
mkdir -p /usr/local/jail/bin&lt;br /&gt;
mkdir -p /usr/local/jail/rc.d&lt;br /&gt;
mkdir -p /usr/local/jail/template/&lt;br /&gt;
mkdir /mnt/data1&lt;br /&gt;
mkdir /mnt/data2&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/bin/freebsd7.x/*&amp;quot; /usr/local/jail/bin&lt;br /&gt;
cd /usr/local/jail/rc.d/&lt;br /&gt;
touch quad1&lt;br /&gt;
touch deprecated&lt;br /&gt;
chmod +x *&lt;br /&gt;
cd /usr/local/jail/bin&lt;br /&gt;
ln -s /usr/local/jail/rc.d/quad1 quad1&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmake_md jailmake&lt;br /&gt;
ln -s /usr/local/jail/bin/js_md js&lt;br /&gt;
ln -s /usr/local/jail/bin/canceljail_md canceljail&lt;br /&gt;
ln -s /usr/local/jail/bin/jailmakeempty_md jailmakeempty&lt;br /&gt;
ln -s /usr/local/jail/bin/postboot_md postboot&lt;br /&gt;
&lt;br /&gt;
rehash&lt;br /&gt;
&lt;br /&gt;
10. edit root&#039;s path and login script:&lt;br /&gt;
vi /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
Change alias entries (add G):&lt;br /&gt;
alias la        ls -aG&lt;br /&gt;
alias lf        ls -FAG&lt;br /&gt;
alias ll        ls -lAG&lt;br /&gt;
alias ls        ls -AG&lt;br /&gt;
alias mbm       mb mount&lt;br /&gt;
alias mbu       mb umount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add to path: &lt;br /&gt;
/usr/local/jail/bin &lt;br /&gt;
(if adaptec card installed, also add /compat/linux/usr/sbin)&lt;br /&gt;
&lt;br /&gt;
and alter the prompt, set the following:&lt;br /&gt;
set prompt = &amp;quot;`/bin/hostname -s` %/# &amp;quot;&lt;br /&gt;
&lt;br /&gt;
at the bottom of the file add:&lt;br /&gt;
set sshtty=`who am i|awk &#039;{print $2}&#039;`&lt;br /&gt;
/usr/sbin/rtprio 3 -`psj | grep $sshtty | awk &#039;{print $2}&#039;`&lt;br /&gt;
&lt;br /&gt;
set shortty=`who am i | awk &#039;{print $2}&#039; | sed -E &#039;s/.*(..)$/\1/&#039;`&lt;br /&gt;
foreach x (`psj | grep sh | grep $shortty | awk &#039;{print $2}&#039;`)&lt;br /&gt;
/usr/sbin/rtprio 2 -$x&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
To load the new file:&lt;br /&gt;
source /root/.cshrc&lt;br /&gt;
&lt;br /&gt;
11. install cvsup&lt;br /&gt;
cd /usr/ports/net/cvsup-without-gui &lt;br /&gt;
make install clean; rehash; mail -s &#039;cvs installed&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(stay close for gettext options, 2450: 27mins, supermicro: 17mins, 2950: 22mins)&lt;br /&gt;
&lt;br /&gt;
12. get latest sources for this release:&lt;br /&gt;
cd /usr/src &lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
-OR-&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.freebsd.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
src-all&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
(stable)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cvsup sup ; mail -s &#039;cvs sup done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450, ~12mins, supermicro, 27mins, 2950: 7mins)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
13. configure new kernel. &lt;br /&gt;
&lt;br /&gt;
cd /usr/src/sys/amd64/conf &lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/kern_config-7.1-amd64 ./jail8&lt;br /&gt;
&lt;br /&gt;
edit the kernel config and change ident to be the name of the jail:&lt;br /&gt;
vi jail8&lt;br /&gt;
ident           jail8&lt;br /&gt;
&lt;br /&gt;
edit /sys/conf/newvers.sh to add –jc2 to the end of the BRANCH string (RELEASE-jc2)&lt;br /&gt;
vi /sys/conf/newvers.sh&lt;br /&gt;
&lt;br /&gt;
notes: http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html&lt;br /&gt;
&lt;br /&gt;
14. bring over patches from backup2&lt;br /&gt;
&lt;br /&gt;
The various patches are in /mnt/data4/build/freebsd/patches on backup2. There are dirs for each version. Not all dirs are populated, but patches for later versions work on older ones unless there is a new patch in the older dir.&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
scp backup2:&amp;quot;/mnt/data4/build/freebsd/patches/7.2/*&amp;quot; .&lt;br /&gt;
&lt;br /&gt;
Apply patches:&lt;br /&gt;
patch -l &amp;lt; jls-patch&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
15. build, install kernel and world&lt;br /&gt;
&lt;br /&gt;
cd /boot&lt;br /&gt;
&lt;br /&gt;
mv kernel kernel.GENERIC&lt;br /&gt;
cd kernel.GENERIC&lt;br /&gt;
mkdir hold&lt;br /&gt;
mv mfi_linux.ko hold/&lt;br /&gt;
mv linux.ko hold/&lt;br /&gt;
mv linprocfs.ko hold/&lt;br /&gt;
mv linsysfs.ko hold/&lt;br /&gt;
mv geom_vinum.ko hold/&lt;br /&gt;
mv geom_concat.ko hold/&lt;br /&gt;
rm *.ko&lt;br /&gt;
rm *.symbols&lt;br /&gt;
mv hold/* .&lt;br /&gt;
rmdir hold/&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make buildkernel installkernel&lt;br /&gt;
&lt;br /&gt;
make buildworld ; mail -s &#039;buildworld done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
(2450: 1:56min, supermicro: 59mins, 2950: 38mins)&lt;br /&gt;
make installworld &lt;br /&gt;
(2450: 3min, supermicro: 1min, 2950: :34)&lt;br /&gt;
mergemaster -i&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
delete bsnmpd&lt;br /&gt;
delete temporary ./etc/hosts&lt;br /&gt;
delete temporary ./etc/motd&lt;br /&gt;
delete /var/tmp/temproot&lt;br /&gt;
&lt;br /&gt;
cd /sys/modules/geom/geom_vinum&lt;br /&gt;
make &lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
16. populate devfs ruleset&lt;br /&gt;
scp backup2:/mnt/data4/build/freebsd/devfs.rules /etc&lt;br /&gt;
&lt;br /&gt;
17. populate /etc/rc.conf with IPs and NFS settings&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
portmap_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
sendmail_enable=&amp;quot;NO&amp;quot;&lt;br /&gt;
usbd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
xntpd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_client_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
nfs_reserved_port_only=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
inetd_flags=&amp;quot;-wW -a 10.1.4.102&amp;quot;&lt;br /&gt;
devfs_system_ruleset=&amp;quot;devfsrules_show_all&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#ifconfig_xl0=&amp;quot;inet 10.1.4.102 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0=&amp;quot;inet 69.55.228.53 netmask 255.255.255.0&amp;quot;&lt;br /&gt;
#ifconfig_fxp0_alias0=&amp;quot;inet 69.55.2xx.xx netmask 255.255.255.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
static_routes=&amp;quot;t1 office&amp;quot;&lt;br /&gt;
route_t1=&amp;quot;-net 10.1.5 10.1.4.2&amp;quot;&lt;br /&gt;
route_office=&amp;quot;-net 10.1.6 10.1.4.2&amp;quot;&lt;br /&gt;
gvinum_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
fsck_y_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
background_fsck=&amp;quot;NO&amp;quot;&lt;br /&gt;
rc_mfi_raid_tty_log=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
18. make sure sysctls are set and preserved after reboot&lt;br /&gt;
echo &amp;quot;kern.consmute=0\&lt;br /&gt;
kern.ipc.shm_use_phys=1\&lt;br /&gt;
kern.ipc.shmall=131070\&lt;br /&gt;
kern.ipc.shmmax=134217728\&lt;br /&gt;
net.inet.tcp.syncookies=0\&lt;br /&gt;
kern.maxfiles=32768\&lt;br /&gt;
kern.fallback_elf_brand=3\&lt;br /&gt;
kern.maxprocperuid=4000\&lt;br /&gt;
security.jail.sysvipc_allowed=1\&lt;br /&gt;
security.jail.allow_raw_sockets=1\&lt;br /&gt;
security.jail.socket_unixiproute_only=1\&lt;br /&gt;
security.jail.chflags_allowed=0\&lt;br /&gt;
dev.amr.0.allow_volume_configure=1\&lt;br /&gt;
compat.linux.osrelease=2.6.12\&lt;br /&gt;
vm.pmap.shpgperproc=300&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
&lt;br /&gt;
19. mount procfs&lt;br /&gt;
echo &amp;quot;proc                    /proc           procfs  rw              0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950/2450:&lt;br /&gt;
echo &amp;quot;linprocfs               /usr/compat/linux/proc linprocfs rw     0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
For Dell 2950:&lt;br /&gt;
echo &amp;quot;linsysfs                /usr/compat/linux/sys linsysfs rw       0       0&amp;quot; &amp;gt;&amp;gt; /etc/fstab&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/proc&lt;br /&gt;
mkdir -p /usr/compat/linux/sys&lt;br /&gt;
&lt;br /&gt;
19. enable noatime option&lt;br /&gt;
NOT APPLICABLE IF RUNNING GVINUM&lt;br /&gt;
data1 and data2 should look something like:&lt;br /&gt;
/dev/amrd0s1g           /mnt/data1      ufs     rw,noatime      2       2&lt;br /&gt;
&lt;br /&gt;
20. reboot. Confirm new kernel is loaded&lt;br /&gt;
&lt;br /&gt;
uname -a&lt;br /&gt;
&lt;br /&gt;
Check devfs rules:&lt;br /&gt;
devfs rule showsets&lt;br /&gt;
devfs rule -s 3 show&lt;br /&gt;
&lt;br /&gt;
21. update ports:&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
echo &amp;quot;*default host=cvsup4.FreeBSD.org\&lt;br /&gt;
*default base=/usr\&lt;br /&gt;
*default prefix=/usr\&lt;br /&gt;
*default release=cvs tag=RELENG_7_2\&lt;br /&gt;
*default delete use-rel-suffix\&lt;br /&gt;
*default compress\&lt;br /&gt;
ports-all tag=.&amp;quot; &amp;gt; sup&lt;br /&gt;
&lt;br /&gt;
cvsup sup; mail -s &#039;cvs sup ports done&#039; dave.boodman@vtext.com &amp;lt; /dev/null&lt;br /&gt;
&lt;br /&gt;
(2450: 18mins, supermicro: 19mins; 2950: 24mins)&lt;br /&gt;
&lt;br /&gt;
22. Install raid mgmt tool&lt;br /&gt;
&lt;br /&gt;
For LSI based cards:&lt;br /&gt;
&lt;br /&gt;
install linux_base:&lt;br /&gt;
cd /usr/ports/emulators/linux_base-fc4&lt;br /&gt;
make install clean &lt;br /&gt;
(2450: 7min, supermicro: 3mins, 2950: 14mins)&lt;br /&gt;
&lt;br /&gt;
(for LSI)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megamgr&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/megarc&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
(for Perc5/i, 6/i)&lt;br /&gt;
cd /usr/ports/sysutils/linux-megacli2&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
Test:&lt;br /&gt;
rehash; megacli ldinfo lall a0&lt;br /&gt;
&lt;br /&gt;
For adaptec:&lt;br /&gt;
On jail18: &lt;br /&gt;
scp /compat/linux/usr/sbin/aaccli user@10.1.4.102:~&lt;br /&gt;
&lt;br /&gt;
mv ~user/aaccli /compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
/compat/linux/usr/sbin/aaccli&lt;br /&gt;
&lt;br /&gt;
For 3w9690:&lt;br /&gt;
scp backup2:/d4/build/3ware/tw_cli-freebsd-x86_64-9.5.0.1.tgz /usr/local/sbin&lt;br /&gt;
cd /usr/local/sbin xzvf tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
rm tw_cli-freebsd-x86_64-9.5.0.1.tgz&lt;br /&gt;
&lt;br /&gt;
test out;&lt;br /&gt;
./tw_cli /c0 show allstatus&lt;br /&gt;
&lt;br /&gt;
23. install rsync from ports&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
choose default options&lt;br /&gt;
&lt;br /&gt;
25. configure inetd to respond to mrtg load queries&lt;br /&gt;
echo &amp;quot;load    stream  tcp     nowait  user    /usr/local/jail/bin/load.pl  load.pl&amp;quot; &amp;gt;&amp;gt; /etc/inetd.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;load            12384/tcp&amp;quot; &amp;gt;&amp;gt; /etc/services&lt;br /&gt;
&lt;br /&gt;
26. install bb client&lt;br /&gt;
adduser&lt;br /&gt;
Username: bb&lt;br /&gt;
Full name: bb&lt;br /&gt;
Uid (Leave empty for default): 1984&lt;br /&gt;
Login group [bb]:&lt;br /&gt;
Login group is bb. Invite bb into other groups? []:&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]: &lt;br /&gt;
Home directory [/home/bb]:&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: yes&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : bb&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : bb&lt;br /&gt;
Uid        : 1984&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : bb&lt;br /&gt;
Home       : /home/bb&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): yes&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb&lt;br /&gt;
scp backup2:/mnt/data4/build/bb/bb-freebsd_linuxcompat.tgz .&lt;br /&gt;
tar xzf bb-freebsd_linuxcompat.tgz&lt;br /&gt;
&lt;br /&gt;
edit /home/bb/bbc1.9e-btf/etc/bb-hosts with something like:&lt;br /&gt;
echo &amp;quot;10.1.4.5 mail.johncompanies.com # BBPAGER BBNET BBDISPLAY smtp ssh \&lt;br /&gt;
10.1.4.108 jail8.johncompanies.com # ssh&amp;quot; &amp;gt; /home/bb/bbc1.9e-btf/etc/bb-hosts&lt;br /&gt;
&lt;br /&gt;
vi /home/bb/bbc1.9e-btf/ext/openfiles &lt;br /&gt;
MACHINE=&amp;quot;jail8,johncompanies,com&amp;quot;      # HAS TO BE IN A,B,C FORM&lt;br /&gt;
&lt;br /&gt;
cd /usr/home/bb/bbc1.9e-btf/etc&lt;br /&gt;
./bbchkcfg.sh &lt;br /&gt;
(y to questions)&lt;br /&gt;
./bbchkhosts.sh&lt;br /&gt;
(ignore ssh errors)&lt;br /&gt;
cd ../..&lt;br /&gt;
chown -R bb .&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
cd bbc1.9e-btf&lt;br /&gt;
./runbb.sh start&lt;br /&gt;
more BBOUT &lt;br /&gt;
(look for errors)&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
echo &#039;su - bb -c &amp;quot;cd /home/bb/bbc1.9e-btf; ./runbb.sh start&amp;quot;&#039; &amp;gt; /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
chmod +x /usr/local/etc/rc.d/bb.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
NOTE: to get bb working on amd, had to copy over bin dir from linux dist &lt;br /&gt;
&lt;br /&gt;
27. configure load mrtg, on mail&lt;br /&gt;
vi /usr/local/www/mgmt/mrtg/mrtg1.cfg &lt;br /&gt;
(add new entry to file following existing format)&lt;br /&gt;
&lt;br /&gt;
28. configure bb on mail:&lt;br /&gt;
vi /usr/home/bb/bbsrc/bb1.9e-btf/etc/bb-hosts&lt;br /&gt;
10.1.4.102 jail2.johncompanies.com # ssh&lt;br /&gt;
&lt;br /&gt;
su bb&lt;br /&gt;
cd&lt;br /&gt;
bbsrc/bb/runbb.sh restart ; exit&lt;br /&gt;
&lt;br /&gt;
29. remove reserve space, enable softupdates (probably already set, so not necessary)&lt;br /&gt;
NOT APPLICABLE IF USING GVINUM&lt;br /&gt;
cd&lt;br /&gt;
umount /mnt/data1&lt;br /&gt;
umount /mnt/data2&lt;br /&gt;
tunefs -m 0 /mnt/data1&lt;br /&gt;
tunefs -m 0 /mnt/data2&lt;br /&gt;
mount -a&lt;br /&gt;
&lt;br /&gt;
30. configure ntp&lt;br /&gt;
echo &amp;quot;server 10.1.4.5&amp;quot; &amp;gt; /etc/ntp.conf&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/ntpd -p /var/run/ntpd.pid&lt;br /&gt;
sleep 2; ntpq -p&lt;br /&gt;
(confirm it’s able to reach our time server)&lt;br /&gt;
&lt;br /&gt;
32. fwd and reverse lookups on ns1c&lt;br /&gt;
vr johncompanies.com&lt;br /&gt;
vi internal.johncompanies.com&lt;br /&gt;
rndc reload johncompanies.com IN private&lt;br /&gt;
(edit the PTR too)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
35. create the jail template&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
touch /mnt/data1/jail &lt;br /&gt;
mdconfig -a -t vnode -s 1g -f /mnt/data1/jail -u 0&lt;br /&gt;
bsdlabel -rw md0 &lt;br /&gt;
newfs4x -i 4096 /dev/md0c&lt;br /&gt;
mkdir /mnt/data1/jail-DIR&lt;br /&gt;
mount /dev/md0c /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/jailutils&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/src&lt;br /&gt;
make world DESTDIR=/mnt/data1/jail-DIR; pagedave&lt;br /&gt;
(2450: 2:28mins, supermicro: 55mins, 2950: 1h )&lt;br /&gt;
cd etc&lt;br /&gt;
make distribution DESTDIR=/mnt/data1/jail-DIR&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail-DIR/dev&lt;br /&gt;
devfs -m /mnt/data1/jail-DIR/dev rule -s 3 applyset &lt;br /&gt;
cd /mnt/data1/jail-DIR&lt;br /&gt;
ln -sf dev/null kernel&lt;br /&gt;
cp /usr/local/sbin/jkill /mnt/data1/jail-DIR/sbin&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail-DIR testhostname 192.168.11.100 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
touch /etc/fstab&lt;br /&gt;
echo &#039;network_interfaces=&amp;quot;&amp;quot;\&lt;br /&gt;
hostname=&amp;quot;newsystem&amp;quot;\&lt;br /&gt;
kern_securelevel_enable=&amp;quot;NO&amp;quot;\&lt;br /&gt;
sendmail_enable=&amp;quot;YES&amp;quot;\&lt;br /&gt;
sshd_enable=&amp;quot;YES&amp;quot;&#039; &amp;gt; /etc/rc.conf&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;nameserver 69.55.225.225\&lt;br /&gt;
nameserver 69.55.230.3&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vi /etc/crontab&lt;br /&gt;
remove the adjkerntz lines&lt;br /&gt;
comment out periodic’s and put this line above them:&lt;br /&gt;
# IF YOU UNCOMMENT THESE, PLEASE ADJUST THEIR RUN TIME&lt;br /&gt;
&lt;br /&gt;
rm -rf /etc/periodic/daily/400.status-disks&lt;br /&gt;
&lt;br /&gt;
check /tmp for crap&lt;br /&gt;
&lt;br /&gt;
vi /etc/periodic/security/100.chksetuid&lt;br /&gt;
replace: MP=`mount -t ufs | grep -v &amp;quot; nosuid&amp;quot; | awk &#039;{ print $3 }&#039; | sort`&lt;br /&gt;
with: MP=&#039;/&#039; (use single quotes)&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/compat/linux/dev&lt;br /&gt;
&lt;br /&gt;
adduser (Add account for user, make sure in wheel group)&lt;br /&gt;
&lt;br /&gt;
Username: user&lt;br /&gt;
Full name: user&lt;br /&gt;
Uid (Leave empty for default):&lt;br /&gt;
Login group [user]:&lt;br /&gt;
Login group is user. Invite user into other groups? []: wheel&lt;br /&gt;
Login class [default]:&lt;br /&gt;
Shell (sh csh tcsh nologin) [sh]:&lt;br /&gt;
Home directory [/home/user]:&lt;br /&gt;
Home directory permissions (Leave empty for default):&lt;br /&gt;
Use password-based authentication? [yes]:&lt;br /&gt;
Use an empty password? (yes/no) [no]:&lt;br /&gt;
Use a random password? (yes/no) [no]: y&lt;br /&gt;
Lock out the account after creation? [no]:&lt;br /&gt;
Username   : user&lt;br /&gt;
Password   : &amp;lt;random&amp;gt;&lt;br /&gt;
Full Name  : user&lt;br /&gt;
Uid        : 1001&lt;br /&gt;
Class      :&lt;br /&gt;
Groups     : user&lt;br /&gt;
Home       : /home/user&lt;br /&gt;
Home Mode  :&lt;br /&gt;
Shell      : /bin/sh&lt;br /&gt;
Locked     : no&lt;br /&gt;
OK? (yes/no): y&lt;br /&gt;
adduser: INFO: Successfully added (user) to the user database.&lt;br /&gt;
adduser: INFO: Password for (user) is: 901gmYjO&lt;br /&gt;
Add another user? (yes/no): n&lt;br /&gt;
Goodbye!&lt;br /&gt;
&lt;br /&gt;
vi /usr/home/user/.profile (and add to the file):&lt;br /&gt;
TERM=vt100;     export TERM&lt;br /&gt;
&lt;br /&gt;
tzsetup&lt;br /&gt;
&lt;br /&gt;
newaliases &lt;br /&gt;
&lt;br /&gt;
rm /sbin/halt /sbin/reboot&lt;br /&gt;
ln /sbin/jkill /sbin/halt&lt;br /&gt;
ln /sbin/jkill /sbin/reboot&lt;br /&gt;
&lt;br /&gt;
#cd /dev&lt;br /&gt;
#rm console&lt;br /&gt;
#ln -s null console&lt;br /&gt;
&lt;br /&gt;
vi /etc/syslog.conf (comment out console and move to /var/log/messages):&lt;br /&gt;
#*.err;kern.warning;auth.notice;mail.crit               /dev/console *.err;kern.warning;auth.notice;mail.crit                /var/log/messages &lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd libexec&lt;br /&gt;
chflags noschg ld-elf32.so.1&lt;br /&gt;
chflags noschg ld-elf.so.1&lt;br /&gt;
&lt;br /&gt;
mv ld-elf32.so.1 ld-elf32.so.1-orig&lt;br /&gt;
ln ld-elf.so.1 ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
chflags schg ld-elf.so.1&lt;br /&gt;
chflags schg ld-elf32.so.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports&lt;br /&gt;
make -DNOCLEANDEPENDS clean &lt;br /&gt;
(2450: 15mins , supermicro: 29mins, 2950: 18mins)&lt;br /&gt;
rm -fr /usr/ports/distfiles/*&lt;br /&gt;
cp -r /usr/ports /mnt/data1/jail-DIR/usr (2450: 2:00 mins , supermicro: 15mins, 2950: 3mins)&lt;br /&gt;
&lt;br /&gt;
rm /mnt/data1/jail-DIR/root/.history&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
umount /mnt/data1/jail-DIR/dev&lt;br /&gt;
dump -0a -f /usr/local/jail/template/72template /dev/md0c&lt;br /&gt;
umount /dev/md0c&lt;br /&gt;
rmdir /mnt/data1/jail-DIR&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
36. setup backups&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
backupdir=/data/jail2\&lt;br /&gt;
server=backup1\&lt;br /&gt;
\&lt;br /&gt;
## ENTRY /etc\&lt;br /&gt;
## ENTRY /usr/local/etc\&lt;br /&gt;
## ENTRY /usr/local/jail\&lt;br /&gt;
## ENTRY /root/logs&#039; &amp;gt; /usr/local/jail/bin/backup.config&lt;br /&gt;
&lt;br /&gt;
on backup1:&lt;br /&gt;
setup backup dirs:&lt;br /&gt;
ssh backup1 mkdir -p /data/jail2/0&lt;br /&gt;
&lt;br /&gt;
add the system to &lt;br /&gt;
vi /usr/local/sbin/snapshot_rotate&lt;br /&gt;
&lt;br /&gt;
on mail:&lt;br /&gt;
vi /usr/local/www/mgmt/cgi/backupgraph.pl&lt;br /&gt;
(add hostname)&lt;br /&gt;
&lt;br /&gt;
Edit /usr/local/jail/bin/backup.xxx to use the right drives and copy to /usr/local/jail/bin/backup &lt;br /&gt;
&lt;br /&gt;
37. mkdir /root/logs&lt;br /&gt;
&lt;br /&gt;
38. edit sshd_config for security&lt;br /&gt;
vi /etc/ssh/sshd_config&lt;br /&gt;
ListenAddress 69.55.228.53&lt;br /&gt;
ListenAddress 10.1.4.102&lt;br /&gt;
&lt;br /&gt;
kill -1 `cat /var/run/sshd.pid`&lt;br /&gt;
&lt;br /&gt;
39. add crontab entries&lt;br /&gt;
crontab -e&lt;br /&gt;
5 0 * * * /usr/local/jail/bin/backup.md&lt;br /&gt;
1 0 1 * * /usr/local/jail/bin/ipfwreset&lt;br /&gt;
0 18 * * * /usr/local/jail/bin/ipfwbackup&lt;br /&gt;
4,9,14,19,24,29,34,39,44,49,55,59 * * * * /usr/local/jail/bin/trafstats&lt;br /&gt;
&lt;br /&gt;
On 2950 with Perc5/i also add:&lt;br /&gt;
*/5 * * * * /usr/local/jail/bin/perc5iraidchk&lt;br /&gt;
&lt;br /&gt;
40. Reboot notify script&lt;br /&gt;
ln -s /usr/local/jail/bin/notify.sh /usr/local/etc/rc.d/notify.sh &lt;br /&gt;
&lt;br /&gt;
41. add to management db (on mail and devweb) jc.ref_machines and jc.ref_templates&lt;br /&gt;
&lt;br /&gt;
uname -r&lt;br /&gt;
6.2-RELEASE-jc1&lt;br /&gt;
&lt;br /&gt;
insert into ref_machines values (null,&#039;mx2&#039;,&#039;mx2.johncompanies.com&#039;,0,&#039;m&#039;);&lt;br /&gt;
select machine_id from ref_machines where host=&#039;mx2&#039;;&lt;br /&gt;
+------------+&lt;br /&gt;
| machine_id |&lt;br /&gt;
+------------+&lt;br /&gt;
|         35 |&lt;br /&gt;
+------------+&lt;br /&gt;
insert into ref_templates values (&#039;&#039;,&#039; 7.1-RELEASE-jc2&#039;,44,&#039;FreeBSD 7.1&#039;,0);&lt;br /&gt;
&lt;br /&gt;
42. add to server/cabinet map. On mail:&lt;br /&gt;
vi /usr/local/www/mgmt/html/cabinetmap.html&lt;br /&gt;
&lt;br /&gt;
43. add an outside blocking rule to the firewall, so this machine can only be reached from inside the firewall. Follow example already in firewall jail17 is:&lt;br /&gt;
 &lt;br /&gt;
00117 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.228.200&lt;br /&gt;
00117 deny ip from any to 69.55.228.200&lt;br /&gt;
&lt;br /&gt;
jail19 would be 00119...&lt;br /&gt;
ipfw add 00107 allow ip from { 69.55.230.2 or 69.55.230.10 or 69.55.225.225 or 69.55.238.150 } to 69.55.230.108&lt;br /&gt;
ipfw add 00107 deny ip from any to 69.55.220.108&lt;br /&gt;
&lt;br /&gt;
44. select customers for probe map&lt;br /&gt;
&lt;br /&gt;
47. patch jail against starting jails with rtprio&lt;br /&gt;
&lt;br /&gt;
mv /usr/sbin/jail /usr/sbin/jail_&lt;br /&gt;
echo &#039;#\!/bin/sh\&lt;br /&gt;
/usr/sbin/rtprio -t /usr/sbin/jail_ $*&#039; &amp;gt; /usr/sbin/jail&lt;br /&gt;
chmod +x /usr/sbin/jail&lt;br /&gt;
&lt;br /&gt;
48. make sure mail works&lt;br /&gt;
If there are map errors:&lt;br /&gt;
cd /etc/mail; make maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
50. ntp doesn’t seem to start from rc so,&lt;br /&gt;
&lt;br /&gt;
echo &#039;/usr/sbin/ntpd -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift&#039; &amp;gt; /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
chmod 0700 /usr/local/etc/rc.d/ntp.sh&lt;br /&gt;
&lt;br /&gt;
51. recover space on /usr&lt;br /&gt;
&lt;br /&gt;
rm -fr /usr/obj&lt;br /&gt;
&lt;br /&gt;
52. setup fuse&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/fusefs-kmod/&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
vi /etc/rc.conf&lt;br /&gt;
fusefs_enable=&amp;quot;YES&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sysctl vfs.usermount=1&lt;br /&gt;
&lt;br /&gt;
cd /usr/ports/sysutils/fusefs-sshfs&lt;br /&gt;
make install&lt;br /&gt;
&lt;br /&gt;
sshfs 1005@usw-s009.rsync.net: /mnt/data1/69.55.234.68-col00001-DIR/mnt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stress testing a 6.x jail =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mkdir /mnt/jail&lt;br /&gt;
newfs /dev/gvinum/v1&lt;br /&gt;
mount /dev/gvinum/v1 /mnt/jail&lt;br /&gt;
cd /mnt/jail&lt;br /&gt;
restore -r -f /path/to/61stress .&lt;br /&gt;
cd ..&lt;br /&gt;
umount /mnt/jail&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do mkdir /mnt/data1/$f; done&lt;br /&gt;
&lt;br /&gt;
gconcat label v3-v5 /dev/gvinum/v3 /dev/gvinum/v4 /dev/gvinum/v5&lt;br /&gt;
bsdlabel -r -w /dev/concat/v3-v5&lt;br /&gt;
newfs /dev/concat/v3-v5a&lt;br /&gt;
mount /dev/concat/v3-v5a /mnt/data1/1&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v10&lt;br /&gt;
newfs /dev/gvinum/v10a&lt;br /&gt;
mount /dev/gvinum/v10a /mnt/data1/2&lt;br /&gt;
gconcat label v23-v25 /dev/gvinum/v23 /dev/gvinum/v24 /dev/gvinum/v25&lt;br /&gt;
bsdlabel -r -w /dev/concat/v23-v25&lt;br /&gt;
newfs /dev/concat/v23-v25a&lt;br /&gt;
mount /dev/concat/v23-v25a /mnt/data1/3&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v50&lt;br /&gt;
newfs /dev/gvinum/v50a&lt;br /&gt;
mount /dev/gvinum/v50a /mnt/data1/4&lt;br /&gt;
gconcat label v63-v65 /dev/gvinum/v63 /dev/gvinum/v64 /dev/gvinum/v65&lt;br /&gt;
bsdlabel -r -w /dev/concat/v63-v65&lt;br /&gt;
newfs /dev/concat/v63-v65a&lt;br /&gt;
mount /dev/concat/v63-v65a /mnt/data1/5&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v70&lt;br /&gt;
newfs /dev/gvinum/v70a&lt;br /&gt;
mount /dev/gvinum/v70a /mnt/data1/6&lt;br /&gt;
gconcat label v83-v85 /dev/gvinum/v83 /dev/gvinum/v84 /dev/gvinum/v85&lt;br /&gt;
bsdlabel -r -w /dev/concat/v83-v85&lt;br /&gt;
newfs /dev/concat/v83-v85a&lt;br /&gt;
mount /dev/concat/v83-v85a /mnt/data1/7&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v100&lt;br /&gt;
newfs /dev/gvinum/v100a&lt;br /&gt;
mount /dev/gvinum//v100a /mnt/data1/8&lt;br /&gt;
gconcat label v123-v125 /dev/gvinum/v123 /dev/gvinum/v124 /dev/gvinum/v125&lt;br /&gt;
bsdlabel -r -w /dev/concat/v123-v125&lt;br /&gt;
mount /dev/concat/v123-v125a /mnt/data1/9&lt;br /&gt;
newfs /dev/concat/v123-v125a&lt;br /&gt;
mount /dev/concat/v123-v125a /mnt/data1/9&lt;br /&gt;
bsdlabel -r -w /dev/gvinum/v130&lt;br /&gt;
newfs /dev/gvinum/v130a&lt;br /&gt;
mount /dev/gvinum//v130a /mnt/data1/10&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do cd /mnt/data1/$f; dump -0a -f - /dev/gvinum/v1| restore -r -f - ; done&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 1 2 3 4 5 6 7 8 9 10; do mount_devfs devfs /mnt/data1/$f/dev; devfs -m /mnt/data1/$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 15 16 17 18 19 20 21 22 23 24; do ifconfig bce0 alias 10.1.6.$f netmask 255.255.255.255; done&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/1 testhostname1 10.1.6.15 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/2 testhostname2 10.1.6.16 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/3 testhostname3 10.1.6.17 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/4 testhostname4 10.1.6.18 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/5 testhostname5 10.1.6.19 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/6 testhostname6 10.1.6.20 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/7 testhostname7 10.1.6.21 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/8 testhostname8 10.1.6.22 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/9 testhostname9 10.1.6.23 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
jail /mnt/data1/10 testhostname10 10.1.6.24 /bin/sh /etc/rc 2&amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
systat -vmstat&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Stress testing zfs =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;zfs receive pool1/jail2 &amp;lt; /usr/local/jail/template/template&lt;br /&gt;
zfs set mountpoint=/mnt/data1/jail2 pool1/jail2&lt;br /&gt;
zfs set quota=4G pool1/jail2&lt;br /&gt;
zfs destroy pool1/jail2@now&amp;lt;/pre&amp;gt;&lt;br /&gt;
install apps that will run when jail started&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;cp -r /usr/src /mnt/data1/jail2/usr&lt;br /&gt;
rm -fr /mnt/data1/jail2/usr/obj&lt;br /&gt;
&lt;br /&gt;
mount -t devfs devfs /mnt/data1/jail2/dev; devfs -m /mnt/data1/jail2/dev rule -s 3 applyset;&lt;br /&gt;
&lt;br /&gt;
jail /mnt/data1/jail2 stress-test 69.55.234.86 /bin/sh&lt;br /&gt;
csh&lt;br /&gt;
cd /usr/ports/benchmarks/bonnie&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/sysutils/stress&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/net/rsync&lt;br /&gt;
make install clean&lt;br /&gt;
cd /usr/ports/lang/perl5.8&lt;br /&gt;
make install clean&lt;br /&gt;
&lt;br /&gt;
cd /usr/local/etc/rc.d/&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt;&amp;gt; boot.sh&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/buildworld &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/portindex &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/stress &amp;amp;&lt;br /&gt;
sleep 30 &amp;amp;&amp;amp; sh /usr/local/etc/rc.d/bonnie &amp;amp;&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; buildworld&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
while (true); do cd /usr/src; make buildworld; done&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; portindex&lt;br /&gt;
while (true); do cd /usr/ports/; make index; done&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; stress&lt;br /&gt;
/usr/local/bin/stress -c 1 -i 1 -m 1 -d 1 --vm-bytes 768M --hdd-bytes 128M&lt;br /&gt;
&lt;br /&gt;
cat &amp;gt; bonnie&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
while (true); do /usr/local/bin/bonnie -s 2g; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
chmod +x *&lt;br /&gt;
&lt;br /&gt;
exit&lt;br /&gt;
exit&lt;br /&gt;
&lt;br /&gt;
cd &lt;br /&gt;
zfs snapshot pool1/jail2@now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
sh&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do zfs send pool1/jail2@now | zfs receive pool1/jail$f;&lt;br /&gt;
zfs set quota=10G pool1/jail$f; &lt;br /&gt;
zfs set mountpoint=/mnt/data1/jail$f pool1/jail$f;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do zfs send pool1/jail2@now | zfs receive pool2/jail$f&lt;br /&gt;
zfs set quota=10G pool2/jail$f;&lt;br /&gt;
zfs set mountpoint=/mnt/data2/jail$f pool2/jail$f;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101; do chmod 0 /mnt/data1/jail$f/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0 /mnt/data1/jail$f/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 115 116 117 118 119 120 121 122 123 125 126 127; do chmod 0 /mnt/data2/jail$f/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0 /mnt/data2/jail$f/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do mount -t devfs devfs /mnt/data1/jail$f/dev; devfs -m /mnt/data1/jail$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mount -t devfs devfs /mnt/data2/jail$f/dev; devfs -m /mnt/data2/jail$f/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do jail /mnt/data1/jail$f testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do jail /mnt/data2/jail$f testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systat -vmstat&lt;br /&gt;
sysctl vfs.numvnodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do umount /mnt/data1/jail$f/dev; zfs destroy -r pool1/jail$f; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do umount /mnt/data2/jail$f/dev; zfs destroy -r pool2/jail$f; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do touch /mnt/data1/jail$f; &lt;br /&gt;
mdconfig -a -t vnode -s 10g -f /mnt/data1/jail$f -u $f;&lt;br /&gt;
bsdlabel -r -w md$f auto;&lt;br /&gt;
newfs -O 1 /dev/md${f}a;&lt;br /&gt;
mkdir /mnt/data1/jail$f-DIR;&lt;br /&gt;
mount /dev/md${f}a /mnt/data1/jail$f-DIR;&lt;br /&gt;
rsync -aSH /mnt/data2/jail2/ /mnt/data1/jail$f-DIR/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do touch /mnt/data2/jail$f; &lt;br /&gt;
mdconfig -a -t vnode -s 10g -f /mnt/data2/jail$f -u $f;&lt;br /&gt;
bsdlabel -r -w md$f auto;&lt;br /&gt;
newfs -O 1 /dev/md${f}a;&lt;br /&gt;
mkdir /mnt/data2/jail$f-DIR;&lt;br /&gt;
mount /dev/md${f}a /mnt/data2/jail$f-DIR;&lt;br /&gt;
rsync -aSH /mnt/data1/jail86-DIR/ /mnt/data2/jail$f-DIR/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101; do chmod 0 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 115 116 117 118 119 120 121 122 123 125 126 127; do chmod 0 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/bonnie; done&lt;br /&gt;
for f in 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/stress; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do mount -t devfs devfs /mnt/data1/jail$f-DIR/dev; devfs -m /mnt/data1/jail$f-DIR/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mount -t devfs devfs /mnt/data2/jail$f-DIR/dev; devfs -m /mnt/data2/jail$f-DIR/dev rule -s 3 applyset; done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do jail /mnt/data1/jail$f-DIR testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do jail /mnt/data2/jail$f-DIR testhostname$f 69.55.234.$f /bin/sh /etc/rc 2&amp;gt; /dev/null; done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; &lt;br /&gt;
do cp /mnt/data1/boot.sh /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/stress /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/bonnie /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; &lt;br /&gt;
do cp /mnt/data1/boot.sh /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/; &lt;br /&gt;
cp /mnt/data1/stress /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
cp /mnt/data1/bonnie /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do umount /mnt/data1/jail$f-DIR/dev; umount /mnt/data1/jail$f-DIR; mdconfig -d -u $f; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do umount /mnt/data2/jail$f-DIR/dev; umount /mnt/data2/jail$f-DIR; mdconfig -d -u $f;  done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do &lt;br /&gt;
mkdir /mnt/data1/jail$f-DIR/;&lt;br /&gt;
cd /mnt/data1/jail$f-DIR/;&lt;br /&gt;
dump -0a -f - /dev/md0a | restore -r -f -;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do mkdir /mnt/data2/jail$f-DIR/;&lt;br /&gt;
cd /mnt/data2/jail$f-DIR/;&lt;br /&gt;
dump -0a -f - /dev/md0a | restore -r -f -;&lt;br /&gt;
done&lt;br /&gt;
&lt;br /&gt;
for f in 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105; do chmod 0700 /mnt/data1/jail$f-DIR/usr/local/etc/rc.d/*; done&lt;br /&gt;
&lt;br /&gt;
for f in 106 107 108 114 115 116 117 118 119 120 121 122 123 125 126 127 128 129 130 131; do chmod 0700 /mnt/data2/jail$f-DIR/usr/local/etc/rc.d/*;  done&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--vm-bytes 300M&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Reloading FreeBSD (while preserving customer data) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2. assuming 2 mirrors, boot to disk 1 of 4.11 &lt;br /&gt;
skip kernel config (enter)&lt;br /&gt;
custom install&lt;br /&gt;
(skip partition)&lt;br /&gt;
label&lt;br /&gt;
move cursor to aacd0, hit space (takes you to partition map screen)&lt;br /&gt;
given this as the pre-existing partition map:&lt;br /&gt;
Filesystem    1K-blocks   Used    Avail Capacity  Mounted on&lt;br /&gt;
/dev/aacd0s1a    128990  36888    81784    31%    /&lt;br /&gt;
/dev/aacd0s1h  30499106      4 28059174     0%    /mnt/data1&lt;br /&gt;
/dev/aacd1s1e  69526550      4 63964422     0%    /mnt/data2&lt;br /&gt;
/dev/aacd0s1f    257998     10   237350     0%    /tmp&lt;br /&gt;
/dev/aacd0s1g   3096462 852082  1996664    30%    /usr&lt;br /&gt;
/dev/aacd0s1e    257998   1198   236162     1%    /var&lt;br /&gt;
procfs                4      4        0   100%    /proc&lt;br /&gt;
&lt;br /&gt;
relabel and all mount points according to prev settings&lt;br /&gt;
&lt;br /&gt;
or, delete all partitions except for data parts, re-create as necessary&lt;br /&gt;
&lt;br /&gt;
re-toggle newfs on all mount points except for /mnt/data1 - make sure under the Newfs column the data1 (and data2) partiotions look like: UFS+S Y&lt;br /&gt;
&lt;br /&gt;
make sure under the Newfs column the data1 (and data2) partiotions look like&lt;br /&gt;
UFS+S N&lt;br /&gt;
&lt;br /&gt;
space to unselect aacd0&lt;br /&gt;
cursor over aacd1&lt;br /&gt;
space&lt;br /&gt;
&lt;br /&gt;
Space to select both drives and tab to ok&lt;br /&gt;
&lt;br /&gt;
Continue installation as per normal&lt;br /&gt;
distributions&lt;br /&gt;
developer&lt;br /&gt;
yes to install ports&lt;br /&gt;
exit&lt;br /&gt;
media&lt;br /&gt;
cd&lt;br /&gt;
commit&lt;br /&gt;
yes&lt;br /&gt;
(2450: 16mins, supermicro: 11mins)&lt;br /&gt;
yes to &amp;quot;visit general config&amp;quot;&lt;br /&gt;
Set root pwd&lt;br /&gt;
Add user ‘user’ member group is wheel, set password&lt;br /&gt;
Set tz&lt;br /&gt;
Networking-&amp;gt;interfaces-&amp;gt;Fxp0&lt;br /&gt;
No IPV6&lt;br /&gt;
dhcp=yes&lt;br /&gt;
Set hostname &amp;amp; domain&lt;br /&gt;
&lt;br /&gt;
exit...&lt;br /&gt;
exit install&lt;br /&gt;
yes&lt;br /&gt;
take the cd out and let the machine reboot&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>69.43.169.159</name></author>
	</entry>
</feed>