135 | | == Installing a PXE boot loader == |
| 135 | === Setting up MFS images to use the serial console === |
| 136 | |
| 137 | By default, the MFS images are set to use the video card as the console device. Before you start, please familiarize yourself with [http://www.freebsd.org/doc/en/books/handbook/serialconsole-setup.html the basics of FreeBSD serial consoles]. |
| 138 | |
| 139 | ==== Figure out which serial port you will be using ==== |
| 140 | |
| 141 | A serial console is typically used in conjunction with IPMI. Sometimes IPMI gives access to the COM1 serial interface of a machine (for example HP DL160G6 servers use COM1). Other systems dedicate the COM2 port to the IPMI embedded server. You will have to figure out how your particular hardware is setup. Some of these steps will be handled by the setup_mfs script in the future. |
| 142 | |
| 143 | ==== Set the proper baud rate in your systems BIOS ==== |
| 144 | |
| 145 | By default, we use 115200 as the baud rate for all MFS images. This is a compile time value, so it is best to use 115200. |
| 146 | |
| 147 | ==== Installing a PXE boot loader ==== |
141 | | * pxeboot.emu-null : Does not display pxeloader prompt |
142 | | * pxeboot.emu-sio : Displays pxeloader prompt via COM1 serial port |
143 | | * pxeboot.emu-sio2 : Displays pxeloader prompt via COM2 serial port |
144 | | * pxeboot.emu-vga : Displays pxeloader prompt via video out |
145 | | |
146 | | Pick a loader that best suits your installation and copy it: |
147 | | |
148 | | {{{ |
| 153 | * pxeboot-null.emul : Does not display pxeloader prompt |
| 154 | * pxeboot-com1.emu : Displays pxeloader prompt via COM1 serial port |
| 155 | * pxeboot-com2.emu : Displays pxeloader prompt via COM2 serial port |
| 156 | * pxeboot.emu : Displays pxeloader prompt via video out |
| 157 | |
| 158 | Pick a loader that best suits your installation and copy it (backing up the VGA boot loader first): |
| 159 | |
| 160 | {{{ |
| 161 | cp /tftpboot/pxeboot.emu /tftpboot/pxeboot-vga.emu |
152 | | You can also look at modifying '''/usr/local/etc/dhcpd.conf.template'''. You will have to generate a new dhcpd.conf configuration using '''/usr/testbed/sbin/dhcpd_makeconf > /usr/local/etc/dhcpd.conf''' and restarting dhcpd. |
| 165 | You can also look at modifying '''/usr/local/etc/dhcpd.conf.template'''. You will have to generate a new dhcpd.conf configuration using '''/usr/testbed/sbin/dhcpd_makeconf -i -r'''. |
| 166 | |
| 167 | |
| 168 | ==== Setting up a MFS image to use the serial console ===== |
| 169 | |
| 170 | Edit the file loader.conf.orig for each MFS image: |
| 171 | |
| 172 | {{{ |
| 173 | [jjh@boss /tftpboot]$ find /tftpboot/ -name loader.conf.orig |
| 174 | /tftpboot/freebsd/boot/loader.conf.orig |
| 175 | /tftpboot/freebsd.newnode/boot/loader.conf.orig |
| 176 | /tftpboot/frisbee/boot/loader.conf.orig |
| 177 | }}} |
| 178 | |
| 179 | At the top of the loader.conf.orig file you will be presented with three choices: |
| 180 | |
| 181 | {{{ |
| 182 | ## |
| 183 | ## Pick a console: |
| 184 | ## |
| 185 | ## "comconsole" If you are using a serial port as your console |
| 186 | ## "vidconsole" If you are using the VGA as your console on your nodes |
| 187 | ## "nullconsole" If you don't have VGA or serial lines, and it appears that |
| 188 | ## nodes are not booting, try using this, which gives you a |
| 189 | ## non-interactive version of the boot loader. Some sites |
| 190 | ## have had problems with "phantom" serial line input from a |
| 191 | ## non-existant serial line causing the comconsole version of |
| 192 | ## the boot loader to drop into interactive mode. |
| 193 | ## |
| 194 | console="comconsole" |
| 195 | #console="vidconsole" |
| 196 | #console="nullconsole" |
| 197 | }}} |
| 198 | |
| 199 | ==== Setting up a MFS image to use the second COM port ==== |
| 200 | |
| 201 | FreeBSD picks the serial console based on a special flag for the UART. |
| 202 | |
| 203 | {{{ |
| 204 | [jjh@boss /tftpboot]$ find . -name device.hints -exec grep flags {} \; | grep uart |
| 205 | hint.uart.0.flags="0x10" |
| 206 | hint.uart.0.flags="0x10" |
| 207 | hint.uart.0.flags="0x10" |
| 208 | }}} |
| 209 | |
| 210 | To use COM2, the second UART, change the '''hint.uart.0.flags''' to '''hint.uart.1.flags''' |
| 211 | |
| 212 | ==== Making the configuration changes for each image stick ==== |
| 213 | |
| 214 | You will have to run the '''prepare''' script in each boot directory after changing loader.conf.orig or the device.hints file. |
| 215 | |
| 216 | {{{ |
| 217 | root@boss:/tftpboot/freebsd/boot # ./prepare |
| 218 | loader.conf: loader.conf.gz updated... |
| 219 | loader.rc: |
| 220 | kernel: |
| 221 | mfsroot: |
| 222 | }}} |