How To Build Server Appliance by Using Microsoft Server Appliance Kit (SAK) 2.0 in Windows 2000 (301294)



The information in this article applies to:

  • Microsoft Windows 2000 Server

This article was previously published under Q301294

SUMMARY

The Microsoft Server Appliance Kit version 2.0 enables original equipment manufacturers (OEMs) to quickly create headless, fixed-function server appliance products that are based on the Microsoft Windows operating system. This article describes the preparations for manufacturing a Network Attached Storage (NAS) appliance.

back to the top

Recommended Requirements

The following items describe the recommended hardware, software, network infrastructure, skills and knowledge, and service packs that you will need.
  • Hardware platform that is identical to what will be manufactured
  • Microsoft Windows 2000 Server, Advanced Server, or Windows Powered CD
  • Most recent Windows 2000 service pack CD
  • Windows 2000 OEM pre-install kit CD
  • OEM-specific Product Identification (ID)
  • Server Appliance Kit 2.0 CD
  • Microsoft Services for UNIX CD
  • Microsoft Service for Netware CD (optional)
back to the top

Building a Server Appliance Using the Microsoft Server Appliance Kit

  1. Install Windows 2000 on the boot drive and partition of the server appliance hardware platform. Use the following table to determine what components should be enabled or disabled.

    The components that are selected by default for each type of server appliance are as follows:
    NAS  Web   Custom    Feature         Subfeature         Description
    -------------------------------------------------------------------------------------------------
    x     x      x       Development                        This provides documentation and sample code to
                            tools                           allow the server appliance to be
                                                            customized.
     
    x     x      x       Initialization                     This software component allows you to
                                                            customize the out-of-computer experience for
                                                            the user. The appliance can be configured 
                                                            to search for a floppy disk at first
                                                            boot, which can contain a configuration
                                                            file to set host name, administrator
                                                            password, and IP settings for static IP
                                                            environments. If the file is not found
                                                            at boot time, the appliance boots
                                                            either as a DHCP client or with auto IP
                                                            settings. In this case, you can provide
                                                            a unique default host name and
                                                            administrator password.
    
    x    x       x       Local UI          Local            The user can set the IP settings, host name,
                                           configuration    and administrator password by using the
                                                            local user interface on the appliance.
    
    x    x       x       Local UI          Local UI         The Local UI framework allows you to
                                           framework        develop your own content to plug into
                                                            the Server Appliance Kit's local 
                                                            UI, without requiring any code changes
                                                            to the local UI framework code. The
                                                            optional local display can be a simple
                                                            bank of LEDs, or a 64x128 pixel bitmapped
                                                            LCD. The framework provides a navigation
                                                            scheme using a six-key keypad on the
                                                            front of the appliance, including four
                                                            directional keys as well as ENTER and
                                                            CANCEL keys.
    
    x   x       x        Reliability       Reliability      To provide the highest level of uptime,
                                           framework        you can add optional hardware watchdog
                                                            timers to your appliance. A watchdog
                                                            timer driver is then provided to allow
                                                            the watchdog to plug into the reliability
                                                            framework. The reliability framework is
                                                            responsible for periodically resetting
                                                            the watchdog timer and for taking
                                                            corrective action if critical system
                                                            resources, such as free memory, exceed
                                                            particular thresholds.
    
    x                     Web UI            Disks and       This feature allows the end customer to
                                            volumes         manage disks and volumes on the Windows
                                                            Powered server appliance. The feature
                                                            uses an ActiveX Control for the Windows
                                                            Terminal Services client to provide
                                                            access to the disk management Microsoft
                                                            Management Console (MMC) snap-in on the
                                                            appliance. The disk management snap-in is
                                                            accessed through the appliance's Web
                                                            management UI from a Windows-based client
                                                            computer. This feature is otherwise
                                                            identical to the capability provided on
                                                            Windows 2000 Server and Windows 2000
                                                            Advanced Server.
    
    x                     Web UI            Folders and     The folders component allows folders on
                                            shares          the appliance to be created and deleted.
                                                            Various folder properties can also be set, 
                                                            including compression, encryption, and
                                                            security.
      
                                                            The shares component allows shares to be
                                                            created on the appliance by using a browser.
                                                            The shares feature aggregates the
                                                            management of all shares no matter what
                                                            file-sharing protocol you use, including
                                                            CIFS, network file system (NFS), FTP,
                                                            NetWare and AppleShare. This is different
                                                            from the standard Windows file share
                                                            management, where each share type has its
                                                            own interface. In the Server Appliance
                                                            Kit's Web UI, a common property subset
                                                            is exposed to simplify the management of
                                                            shares. Properties specific to a
                                                            protocol, such as CIFS or NFS, are
                                                            presented on separate property pages. 
    
         x               Web UI             FTP management  TBD
     
         x               Web UI             IIS management  TBD
    
    x    x      x        Web UI             Logs            This feature allows users to view, clear,
                                                            download, and configure logs on the
                                                            server appliance. Third-party developers
                                                            can add to logs in the Web UI so that
                                                            they can be viewed, downloaded,
                                                            configured, and cleared by the user. Web
                                                            UI plug-ins for specific logs are
                                                            provided in the Server Appliance Kit,
                                                            including Windows 2000 system,
                                                            application, and security event logs as
                                                            well as NFS, WWW, and FTP logs.
    
    x   x      x         Web UI           Network setup     This allows the user to join the appliance
                                                            into a workgroup or domain, set the
                                                            hostname, configure DNS servers, 
                                                            configure individual network interface
                                                            cards (NICs) on the appliance, and change the
                                                            administrator password.
    
    x                    Web UI           Services          This allows critical system services such as
                                                            network protocols to be enabled,
                                                            disabled, and configured. Third-party
                                                            developers can add service components to
                                                            the Web UI so that they can be enabled, 
                                                            disabled, and configured by the user. Web
                                                            UI components for specific services are
                                                            provided in the Kit, including WWW
                                                            publishing, CIFS, Telnet, NFS, File
                                                            Server for Macintosh, NetWare, Indexing,
                                                            and Telnet services.
    
    x   x       x        Web UI           Set date          This component allows the date and time
                                          and time          to be set on the server appliance. 
    
    x   x       x        Web UI           Set language      This feature detects the language of the
                                                            first browser that connects to the
                                                            appliance after first boot and
                                                            automatically sets the appliance's
                                                            language accordingly. A Web UI component
                                                            is also provided that allows the user to
                                                            change the language of the appliance
                                                            manually.
    
    x   x       x        Web UI           Shutdown          This Web UI component allows the user to
                                                            remotely shut down or restart the 
                                                            appliance by using a Web browser.
    
    x   x       x        Web UI           Software update   This Web UI component allows the
                                                            appliance software to be updated by the
                                                            user through a remote client computer.
                                                            You can use this feature to control the
                                                            software update process on the appliances
                                                            that you create.
    
    x   x       x        Web UI           System backup     This feature allows the user to back up
                                          and restore       and restore the operating system files.
                                                            The feature uses an ActiveX Control for 
                                                            the Windows Terminal Services Client to
                                                            provide a system backup capability 
                                                            through the Web management UI from a
                                                            Windows-based client computer. This 
                                                            feature is otherwise identical to the
                                                            capability provided on Windows 2000 
                                                            Server and Advanced Server.
    
    x           x        Web UI           Users and groups  This component allows the user to create,
                                                            delete, and edit properties for local
                                                            users and groups on the appliance by using
                                                            a Web browser on a remote client
                                                            computer.
    
    x   x       x        Web UI           Web UI framework  The Web UI framework allows you to
                                                            develop your own Web content, which will
                                                            plug into the management Web UI of the
                                                            Server Appliance Kit without requiring
                                                            any code changes to the Server Appliance
                                                            Kit framework code. The framework
                                                            provides a navigation scheme that uses
                                                            a two-level tab structure with a set of
                                                            main tabs, each of which contains its own
                                                            set of tabs. These tabs are then used to
                                                            broswe to various management task pages
                                                            that can be used to configure and monitor
                                                            the appliance. 
    
    
    					
  2. Install Services for UNIX. You must install Services for UNIX before you install the Server Appliance Kit components. The following Services for UNIX components must be installed and enabled:
    • Server for NFS
    • User name mapping
    • Server for NFS authentication
    If you are installing Services for UNIX by using the Services for UNIX wizard, do the following:

    1. Under Authentication Tools for NFS, select Customized Installation and select User Name Mapping.
    2. Clear Client for NFS, Shell and Unix Utilities, and Telnet Client.
    3. When prompted, set the User Name Mapping server to localhost and accept the default install location. NFS logging should be enabled and use the default log file.
    If you are installing from the command shell, use the following command:

    msiexec /i "sfusetup.msi" ADDLOCAL="NFSServer,NFSServerAuth,Mapsvc" SFUDIR="C:\SFU" /qb

  3. Optional: Install Services for NetWare. Microsoft Services for NetWare are optional and may be installed after you install the Server Appliance Kit components. The following Services for NetWare components must be installed and enabled:

    • Internetwork Packet Exchange (IPX)
    • NetWare client
    • File and Print Services for NetWare (FPNW)
    • Microsoft Directory Service Synchronization (MSDSS)
    To install Services for NetWare, follow these steps:

    1. Install the IPX protocol. Click Start, point to Settings, and then click Network and Dial-up Connections.
    2. Select a network adapter. Right-click the network interface card (NIC) name, click Properties, point to Install, point to Protocol, and then click Add.
    3. Select NWLink IPX and choose OK.
    4. Repeat steps 2-3 for each NIC card.
    To install FPNW from the Services for NetWare distribution CD, follow these steps:

    1. Click Start, point to Settings, click Network and Dial-up Connections, and select a network adapter.
    2. Right-click the NIC name of the chosen network adapter.
    3. Click Properties, and then click Install.
    4. Click Service, point to Add, and select Have Disk.
    5. Type the path for the FPNW folder on the Services for NetWare CD.
    6. Open the FPNW folder and click File, then click Print Services for NetWare.
  4. Install the latest service pack for Windows 2000.
  5. Install any quick fix engineering (QFE) updates.
  6. Configure the administrator account.
  7. Secure the configuration.
  8. Install the Server Appliance Kit. From the Setup Wizard, select NAS as the type of server appliance you would like to create, and accept the default components.

    To install the Server Appliance Kit components, follow these steps:
    1. Run Sasetup.exe from the root folder of the Server Appliance Kit CD.
    2. Select the type of appliance (for example, Network Access Server (NAS), Web, or custom appliance).
    3. Select the components that you want to install based on the type of server appliance that you are creating. The preceding table shows which components are selected by default for each type of server appliance. The features that are selected during setup can only be installed locally. Installing on first use and installing from a network are not supported.
    4. If you have installed the Web user interface (UI) framework, you can access it by opening a browser on the target appliance and typing http:\\localhost in the address field. You can also access the Web UI remotely by opening a browser on a client computer and typing the host name of the Windows Powered server appliance in the address field.
  9. Install the language resource files for the Server Appliance Kit 2.0.
  10. Optional: Add custom or third-party add-ins according to the developer's instructions.
  11. Optional: Install custom branding.
  12. Optional: Install OEMConfigDll.
  13. Run SaPrep.
  14. Run SysPrep.
  15. Optional: If you have added failover capability to your appliance, install the failover operating system by repeating steps 1-12 on the failover partition of the boot drive.

    If the primary operating system (OS) fails to boot, you can use a failover algorithm to make the Windows Powered server appliance failover to another OS in a variety of ways. The algorithm must detect a boot failure, and then boot the server appliance from another partition or volume. See the "Pitfalls" section for details.
  16. Shut down the appliance and remove the boot hard drive, which now serves as the master image.

    NOTE: Never boot from the master disk directly. Only boot using copies of the master disk.
  17. Copy the master image onto your test units.
  18. Test the units thoroughly.
back to the top

Troubleshooting

The following example process, consisting of a list of requirements along with a process flow chart, illustrates how to add a failover algorithm to the BIOS. Because adding a failover algorithm to the BIOS is a complex process, Microsoft recommends that you print this topic for reference before you begin designing the failover BIOS. If you are using another means of providing failover support, you may use the following process as a guide in your efforts.

back to the top

Required when BIOS Includes Failover

The following list describes what is required if the BIOS includes a failover algorithm:
  • Your Windows Powered server appliance must include nonvolatile RAM (NVRAM), a watchdog timer, and associated drivers.
  • The BIOS must detect whether a reboot is from an internal or external source. For example, a power failure is an external source.
  • If your target hardware includes a watchdog timer and the BIOS sets the initial counter value, set the initial watchdog timer counter value to 2 minutes + (2 x T). "T" represents the length of time the watchdog timer is enabled before the BIOS attempts to run the boot sector.
  • The BIOS must determine which disk drive to boot from by searching for a bootable partition or volume on the main disk drive, and then searching for the same partition or volume on the backup disk drive. On Advanced Technology Attachment (ATA) systems, the 0 primary device is searched first, and the 0 secondary device is searched second. Boot order is under investigation for SCSI systems.
  • The BIOS must use the following procedure to determine the system partition or volume from which to boot:
    1. Search for an active partition or volume with a system ID equal to 0x07, 0x87, or 0xc7 in the partition or volume table. The partition or volume table is located in the master boot record, which is the System1 partition or volume.
    2. Search for the boot counter value in the NVRAM that is associated with the System1 partition or volume.
    3. Determine if the boot counter associated with the partition or volume is less than, greater than, or equal to the boot counter threshold value:
      • If the boot counter is less than the threshold, the BIOS must increase the boot counter by 1 in the NVRAM that is associated with System1, and then attempt to boot from the partition or volume.
      • If the boot counter is greater than or equal to the threshold, the BIOS must attempt to boot from the first non-active partition or volume with system ID 0x07, 0x87, or 0xc7 in the partition or volume table in the master boot record.
      • If both partitions or volumes on the main disk fail to boot, the BIOS follows the same procedure on the backup disk.
  • The BIOS must set the drive number to 0x80 after it determines the disk from which the OS will boot.
  • If the OS fails to boot, the watchdog timer restarts the BIOS algorithm.

    -or-

    If the OS successfully boots, the OS uses the NVRAM driver to clear the boot counter that is stored in the NVRAM.
  • If the server appliance reboots from an external source, the BIOS must reset all boot counters and then restart the BIOS algorithm.
back to the top

Next Steps

After your Windows Powered NAS server appliance master operating system image and hardware have been validated, you are ready to begin manufacturing the server appliance in quantity.

back to the top

Modification Type:MinorLast Reviewed:7/2/2004
Keywords:kbhowto kbHOWTOmaster KB301294 kbAudITPro