==== Installing Npemwin on a Soekris NET5501 ==== The Soekris net5501 is a small form-factor computer based on a 586 class processor. Its low power requirements, fanless operation and wide operating temperature of zero to 60 C make it a great system to run Npemwin. The model used in this deployment is a net5501-70. It has a 500 Mhz AMD Geode LX CPU, 512 Mbyte DDR-SDRAM and four Ethernet ports. The system uses comBIOS for full headless operation over a serial port. Although the net5501 is fully capable of booting embedded OS distributions from its compact flash interface, this deployment also includes the optional SATA drive mounting kit and a 64GB SATA SSD. The SSD permits using a regular OS distribution without quickly experiencing the write limits of compact flash media. Since the net5501 is based on a 32-bit processor, FreeBSD 9.0 i386 and the FreeBSD 9.0 i386 Npemwin package were used for this installation. === Connecting to the Soekris === Because the Soekris computer is DTE, one must use use a null modem serial cable to connect to it from another computer. The default baud rate on the Soekris is 19,200 while FreeBSD is 9600. For convenience and to simplify operation, change the Soekris to 9600 using the comBIOS console: CTRL-P on boot and then the following from the Command Line Interface set ConSpeed 9600 reboot === Installing and Preparing the Operating System === The net5501 supports booting from its single SATA interface, a Compact Flash Card or using PXE. It cannot boot from its USB interface. This makes OS installation a little challenging. Without a taking the time to deploy a PXE server, one can take a shortcut by temporarily mounting the SSD in regular PC to complete the OS installation there. Use the generic kernel. Before removing the SSD and mounting it in the Soekris, make the following changes: * Edit /etc/ttys - Change the ttyu0 entry from dialup to vt100 and from **off** to **on** * Add the following lines to **/boot/loader.conf** (create it if necessary): comconsole_speed="9600" console="comconsole" === Special Consideration for Network Interface Configuration === If the network card in your installation PC is something other than VIA Rhine, Rhine II, modify **/etc/rc.conf** to specify **ifconfig_vr0**. === Npemwin installation === With the SSD installed in the Soekris, download the FreeBSD 9.0 Npemwin i386 package from noaaport.net and complete the installation as normal. === Performance Observations === A sample of the top command shows load averages: 0.67, 0.71, 0.63. This seems typical. When the programs that run under tclsh8.6 fire up periodically, as one might expect, they take advantage of all of the processing power of the 500Mhz Geode CPU. For example, CPU: 68.9% user, 0.0% nice, 31.1% system, 0.0% interrupt, 0.0% idle === Storage Notes === The Soekris net5501 is capable of booting via a compact flash card, an internal 2.5 inch hard drive or PXE. One can even install the OS on a compact flash card and use the installed 2.5 inch drive as the primary storage volume for npemwin. Instead, consider a simple installation with the OS, application and data on a 2.5 inch SSD. Otherwise the performance of the system will generally track to the slower performance characteristics of the compact flash card instead of the faster 2.5 inch SSD. When selecting an SSD for the net5501, consider an SLC SSD instead of one of the more common MLC-based drives available. In short, SLC-based drives typically exhibit higher performance and longer life--at a higher cost, though. For background: [[http://en.wikipedia.org/wiki/Multi-level_cell#Single-level_cell|Single-Level Cell]] at Wikipedia. The Intel 313 series is worth investigating. === Final Thoughts === To achieve the best performance on the net5501 with FreeBSD, one should compile and use a customized kernel. Add "options CPU_SOEKRIS" and "options CPU_GEODE" to the kernel configuration file. For more specific guidance, visit the [[http://wiki.soekris.info/Installing_FreeBSD#net5501|Soekris Wiki]]. For additional information, the FreeBSD Handbook has a very helpful section entitled [[http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html|"Building and Installing a Custom Kernel"]] ----- C Fincher - Tue, 25 Dec 2012