Skip to main content
This comprehensive guide walks you through deploying a custom operating system on your Latitude.sh bare metal server using IPMI (Intelligent Platform Management Interface) virtual media. This method provides a reliable alternative to iPXE scripts when you need to install custom operating systems that aren’t available in our standard image catalog.

What you’ll learn

By the end of this guide, you’ll be able to:
  • Access and configure IPMI virtual media functionality
  • Mount custom ISO files remotely via IPMI
  • Boot from virtual media and complete OS installations
  • Troubleshoot common IPMI deployment issues

Prerequisites

Before starting this guide, ensure you have:
  • A Latitude.sh bare metal server with IPMI access enabled
  • Custom OS ISO file downloaded and accessible on your local machine
  • Java Runtime Environment installed on your local machine (required for IPMI console)
  • VPN access configured for Remote Access
  • Basic familiarity with server boot processes and OS installation

Step 1: Prepare your custom OS ISO

First, download and prepare your custom operating system ISO file:
  1. Download your ISO: Obtain the custom OS ISO file and save it to an easily accessible location on your local machine
  2. Verify the ISO: Ensure the ISO file is not corrupted by checking its hash if provided by the OS vendor
  3. Note the file path: Make a note of the complete file path as you’ll need it during the mounting process
💡 Tip: Place the ISO file in a directory without spaces in the path to avoid potential issues with the IPMI interface.

Step 2: Configure VPN access (if required)

Important: IPMI interfaces are typically only accessible from within the data center’s secure network. Depending on your server’s configuration and location, you may need VPN access to reach the IPMI interface.

When VPN access is required

VPN access may be required if:
  • Your server is configured with restricted IPMI network access
  • Your location requires secure tunnel access to management interfaces
  • You’re accessing IPMI from outside the data center’s trusted network range

Setting up VPN access

If VPN access is required for your server:
  1. Contact Latitude.sh support to request VPN access credentials for your server’s location
  2. Provide the following information:
    • Your server hostname or ID
    • The specific location/data center
    • Business justification for IPMI access
    • Your public IP address for allowlisting (if applicable)
  3. Configure your VPN client with the provided credentials:
    • Install your preferred VPN client (OpenVPN, WireGuard, etc.)
    • Import the configuration file provided by support
    • Connect to the VPN before attempting IPMI access
  4. Verify connectivity: Once connected to the VPN, you should be able to access the IPMI interface through the dashboard
📝 Note: VPN requirements vary by location and server configuration. Some servers may have IPMI interfaces accessible directly through the dashboard without additional VPN setup.

Step 3: Access your server’s IPMI interface

Navigate to your server’s management interface:
  1. Ensure VPN connection (if required): Verify your VPN connection is active before proceeding
  2. Open the Latitude.sh dashboard and locate your target server
  3. Generate IPMI credentials:
    • Click on your server to open its details page
    • Navigate to the Remote Access section
    • Click Generate IPMI credentials to create temporary access credentials
    • Copy the provided username and password
  4. Access the IPMI interface:
    • Click Access the IPMI to open the IPMI web interface in your browser
    • Log in using the credentials from the previous step
For detailed instructions on accessing IPMI, refer to our Remote Access documentation.

Step 4: Configure the IPMI console for Java

Critical step: The virtual media functionality requires the Java console, not the HTML5 version.
  1. Locate console settings: In the IPMI interface, look for Console or Remote Console options
  2. Select Java console:
    • Find the console type or launch options
    • Ensure Java is selected instead of HTML5
    • Some IPMI interfaces may label this as “Java Web Start” or “JViewer”
  3. Configure Java security (if prompted):
    • Add the IPMI URL to your Java security exceptions
    • Allow Java to run when prompted by your browser
    • You may need to download and run a .jnlp file
⚠️ Important: Virtual media functionality is not available in HTML5 console mode. You must use the Java console for this procedure.

Step 5: Launch the Java console

  1. Start the console: Click the appropriate button to launch the Java console (may be labeled “Launch Console”, “Java Console”, or similar)
  2. Wait for initialization: The console may take 30-60 seconds to fully load
  3. Verify connection: You should see a remote desktop view of your server’s current state
If the console fails to load, check your Java installation and browser security settings.

Step 6: Mount your ISO using virtual media

Now you’ll mount your custom ISO file:
  1. Access Virtual Media:
    • In the Java console window, locate the Virtual Media menu (usually in the top menu bar)
    • Click on Virtual Media or Virtual Storage
  2. Configure the virtual drive:
    • Select ISO Image as the Logical Drive Type
    • Click Browse or Choose File to select your ISO
    • Navigate to and select your custom OS ISO file
  3. Mount the ISO:
    • After selecting the file, click Plug In or Connect
    • Verify that the status shows as “Connected” or “Plugged In”
    • The virtual media should now appear as an available boot device
📝 Note: Some IPMI interfaces may show the mounted ISO as “Virtual CDROM”, “Virtual DVD”, or similar in the boot options.

Step 7: Reboot and access the boot manager

Time to boot from your mounted ISO:
  1. Reboot your server:
    • You can reboot through the IPMI power controls in the console
    • Alternatively, use the power management options in the Latitude.sh dashboard
    • Or execute sudo reboot if you have SSH access
  2. Enter Boot Manager:
    • Watch the boot process carefully through the Java console
    • Press F11 repeatedly as the server starts up (timing is crucial)
    • You may need to press F11 multiple times or hold it down
    • Some servers may use F12, F8, or Delete instead of F11
  3. Alternative boot access:
    • If F11 doesn’t work, try other common boot keys during startup
    • Check your server’s documentation for the specific boot key
    • Some systems require pressing the key immediately after the POST screen

Step 8: Boot from virtual CDROM

In the Boot Manager menu:
  1. Locate virtual media: Look for options like:
    • “Virtual CDROM”
    • “Virtual DVD”
    • “IPMI Virtual Media”
    • “USB CDROM” (some systems show virtual media this way)
  2. Select the virtual drive:
    • Use arrow keys to highlight the virtual CDROM option
    • Press Enter to select it
    • The system should begin booting from your mounted ISO
  3. Monitor the boot process: Watch the console as your custom OS begins to load

Step 9: Complete the OS installation

Your custom operating system should now boot into its installation environment:
  1. Follow OS-specific prompts: Each operating system has its own installation process
  2. Configure network settings: Set up networking according to your server’s configuration
  3. Partition disks: Configure storage according to your requirements
  4. Complete installation: Follow through with the full OS installation process
Installation considerations:
  • Keep the console active: Don’t close the Java console during installation
  • Monitor progress: Some installations may appear to hang but are actually processing
  • Respond to prompts: Be ready to interact with installation dialogs
  • Installation time: Custom OS installations can take 30 minutes to several hours

Step 10: Post-installation cleanup

After successful installation:
  1. Disconnect virtual media:
    • Return to the Virtual Media menu in the Java console
    • Click Plug Out or Disconnect to unmount the ISO
    • This prevents the server from trying to boot from the ISO again
  2. Reboot the server: Restart to boot into your newly installed OS
  3. Verify installation: Confirm your custom OS is running correctly
  4. Configure remote access: Set up SSH or other remote access methods as needed

Troubleshooting common issues

Java console problems

Console won’t load or crashes:
  • Ensure Java is installed and up to date on your local machine
  • Add the IPMI URL to Java security exceptions
  • Try using a different browser
  • Clear Java cache and temporary files
Virtual Media menu missing:
  • Confirm you’re using the Java console, not HTML5
  • Check if your user account has virtual media permissions
  • Try refreshing the console connection

Boot manager issues

F11 not working:
  • Try F12, F8, Delete, or Esc during boot
  • Press the key repeatedly rather than holding it down
  • Check server documentation for the correct boot key
  • Ensure you’re pressing the key at the right time (usually right after POST)
Virtual CDROM not visible:
  • Verify the ISO is properly mounted and shows as “Connected”
  • Try disconnecting and reconnecting the virtual media
  • Reboot the server and try again
  • Check if the ISO file is corrupted

Installation problems

Network connectivity issues:
  • Verify your server’s network configuration
  • Check if the custom OS includes necessary network drivers
  • Configure static IP if DHCP isn’t working
Storage not detected:
  • Your custom OS may need specific storage drivers
  • Check if RAID configuration is compatible
  • Try different storage controller modes in BIOS if accessible
Installation hangs or fails:
  • Monitor system resources during installation
  • Check console for error messages
  • Verify ISO file integrity
  • Try a different version of the OS if available

Alternative deployment methods

If IPMI virtual media doesn’t work for your use case, consider these alternatives:

Best practices and tips

  • Test your ISO: Verify the ISO works in a virtual machine before using IPMI
  • Document your process: Keep notes of successful configurations for future deployments
  • Plan for time: Allow several hours for the complete process
  • Monitor actively: Stay engaged during the installation process
  • Backup configurations: Save working IPMI and OS configurations

Getting help

If you encounter issues during IPMI custom OS deployment:
  1. Gather information:
    • Screenshots of error messages
    • Details about your custom OS and ISO file
    • Description of the specific step where issues occur
    • Server model and IPMI firmware version
  2. Contact support: Our technical team can help with:
    • IPMI-specific configuration issues
    • Boot manager problems
    • Hardware compatibility questions
    • Alternative deployment strategies

Conclusion

You’ve successfully learned how to deploy custom operating systems using IPMI virtual media. This method provides a reliable way to install any OS that can boot from ISO media, giving you complete control over your server’s software environment. The IPMI virtual media approach is particularly valuable for:
  • Installing specialized or proprietary operating systems
  • Deploying custom-configured OS images
  • Situations where network-based deployment isn’t feasible
  • Maintaining complete control over the installation process
With this knowledge, you can now deploy virtually any operating system on your Latitude.sh bare metal servers, opening up possibilities for specialized workloads and custom configurations that aren’t available through standard deployment methods.