<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ipmi on Major Hayden</title><link>https://major.io/tags/ipmi/</link><description>Recent content in Ipmi on Major Hayden</description><generator>Hugo</generator><language>en</language><managingEditor>major@mhtx.net (Major Hayden)</managingEditor><webMaster>major@mhtx.net (Major Hayden)</webMaster><copyright>All content licensed &lt;a href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;CC BY-SA 4.0&lt;/a&gt;</copyright><lastBuildDate>Tue, 28 Jul 2026 10:42:56 -0500</lastBuildDate><atom:link href="https://major.io/tags/ipmi/index.xml" rel="self" type="application/rss+xml"/><item><title>Mount virtual media on Supermicro IPMI with less java</title><link>https://major.io/p/supermicro-ipmi-mount-iso/</link><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><author>major@mhtx.net (Major Hayden)</author><guid>https://major.io/p/supermicro-ipmi-mount-iso/</guid><description>&lt;p&gt;It&amp;rsquo;s been a while since I rented a dedicated server for my own personal infrastructure, but with the prices I&amp;rsquo;ve seen lately on cloud and virtual infrastructure, getting my own server seemed like a better detal.
I prefer to do my own custom installation of Fedora Linux on my servers and this meant another deep dive into the world of Supermicro&amp;rsquo;s IPMI interface, horribly old versions of Java, and lots of frustration.&lt;/p&gt;
&lt;p&gt;With some help from Claude, I found a better way to mount virtual media! ✨&lt;/p&gt;
&lt;h1 id="old-bmc-without-html5"&gt;Old BMC without HTML5&lt;/h1&gt;
&lt;p&gt;It turns out I rented a machine with a fairly old ATEN-based BMC without any support for Redfish and that means no HTML5 console access.
The Java console was the only remaining option.&lt;/p&gt;
&lt;p&gt;Next, I downloaded Supermicro&amp;rsquo;s standalone &lt;code&gt;IPMIView&lt;/code&gt; client.
It launched and connected without an issue.
Once I tried to mount an ISO, I ended up with a crash:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;SIGSEGV (0xb), JRE 11.0.25 (bundled)
Problematic frame: V [libjvm.so] jni_CallObjectMethodV+0x83
C [libSharedLibrary64.so] AppendDataIntegrity(unsigned char*, int)+0xc6
C [libSharedLibrary64.so] MtMethod_Media+0x105
C [libSharedLibrary64.so] MtVM_Engine+0xba
C [libSharedLibrary64.so] Core_Mount_VM+0x45
C [libSharedLibrary64.so] UI_Mount_VM+0x227
C [libSharedLibrary64.so] Java_tw_com_aten_vstorage_VirtualStorage_VUSPlugIn+0x146
j tw.com.aten.vstorage.VirtualStorage.VUSPlugIn(...)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I tried bumping the java heap size and it didn&amp;rsquo;t help.
Downgrading IPMIView didn&amp;rsquo;t help either.
I even loaded up a Windows virtual machine with IPMIView and it crashed there, too.&lt;/p&gt;
&lt;h1 id="what-actually-worked-smcipmitool"&gt;What actually worked: SMCIPMITool&lt;/h1&gt;
&lt;p&gt;Supermicro ships another utility called &lt;code&gt;SMCIPMITool&lt;/code&gt; that talks to the BMC in a different way than the GUI does.
I always prefer a command line tool over a Java GUI. 😉&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Download SMCIPMITool&lt;/strong&gt; from Supermicro: &lt;code&gt;https://www.supermicro.com/wdl/utility/SMCIPMItool/&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Extract it:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ tar xzf SMCIPMITool_&amp;lt;version&amp;gt;_bundleJRE_Linux_x64.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;cd&lt;/span&gt; SMCIPMITool_&amp;lt;version&amp;gt;_bundleJRE_Linux_x64
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Confirm that the basic IPMI auth works&lt;/strong&gt; before touching virtual media. If your account isn&amp;rsquo;t a full &lt;code&gt;ADMINISTRATOR&lt;/code&gt;, specify the privilege level explicitly:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ipmitool -I lanplus -L OPERATOR -H &amp;lt;bmc-ip&amp;gt; -U &amp;lt;user&amp;gt; -P &lt;span class="s1"&gt;&amp;#39;&amp;lt;password&amp;gt;&amp;#39;&lt;/span&gt; chassis status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If this fails with a cipher suite error, try &lt;code&gt;-C 1&lt;/code&gt;, &lt;code&gt;-C 2&lt;/code&gt;, or &lt;code&gt;-C 3&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Launch SMCIPMITool in interactive shell mode.&lt;/strong&gt; This is required — the &lt;code&gt;vmwa&lt;/code&gt; subcommands don&amp;rsquo;t work as one-shot CLI arguments:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ ./SMCIPMITool &amp;lt;bmc-ip&amp;gt; &amp;lt;user&amp;gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;password&amp;gt;&amp;#39;&lt;/span&gt; shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Ignore any &lt;code&gt;Cannot login to &amp;lt;bmc-ip&amp;gt;&lt;/code&gt; banner printed at startup. That&amp;rsquo;s an unrelated SNMP trap-receiver warning, not an auth failure.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;List the &lt;code&gt;vmwa&lt;/code&gt; subcommands&lt;/strong&gt; at the shell prompt to confirm the tool is talking to the BMC correctly:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vmwa
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Mount the ISO&lt;/strong&gt; on virtual device 2 (device 2 is CD/DVD/ISO; device 1 is HDD/USB/floppy):&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vmwa dev2iso /full/path/to/your.iso
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You may see a &lt;code&gt;com.supermicro.ipmi.IPMIException&lt;/code&gt; stack trace print first — that&amp;rsquo;s a non-fatal internal retry. Look for the actual result right after it:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Mounting ISO file: /full/path/to/your.iso
Device 2 :VM Plug-In OK!!
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Verify the mount:&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;vmwa status
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;You should see something like this:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Device 2: ISO File [/full/path/to/your.iso]
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Keep the shell session open.&lt;/strong&gt;
On this firmware, the mount is torn down the instant the shell exits — there&amp;rsquo;s no detached or background mount mode.
For an unattended mount-and-install, script it end-to-end instead of typing interactively:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vmwa dev2iso /full/path/to/your.iso&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vmwa status&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sleep &lt;span class="m"&gt;3600&lt;/span&gt; &lt;span class="c1"&gt;# keep mounted for up to an hour — adjust to your install time&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vmwa dev2stop&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; ./SMCIPMITool &amp;lt;bmc-ip&amp;gt; &amp;lt;user&amp;gt; &lt;span class="s1"&gt;&amp;#39;&amp;lt;password&amp;gt;&amp;#39;&lt;/span&gt; shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;While that session is running&lt;/strong&gt;, set the next boot target to &lt;code&gt;USB CDROM&lt;/code&gt; in the IPMIView tool.
Then reboot the server.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The server should boot into the ISO that you mounted.
The BMC network interface isn&amp;rsquo;t very fast and you&amp;rsquo;re also limited by your upload bandwidth, so be patient.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;When you&amp;rsquo;re done&lt;/strong&gt;, either let the &lt;code&gt;sleep&lt;/code&gt; in step 8 expire (it auto-unmounts via &lt;code&gt;vmwa dev2stop&lt;/code&gt;), or run &lt;code&gt;vmwa dev2stop&lt;/code&gt; manually in an active shell session to unmount immediately.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here&amp;rsquo;s the actual command I used, end to end:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nv"&gt;D&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;~/Downloads/SMCIPMITool_2.27.2_build.230221_bundleJRE_Linux_x64
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$D&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;$ &lt;span class="o"&gt;(&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vmwa dev2iso /home/major/Downloads/Fedora-Server-netinst-x86_64-44-1.7.iso&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vmwa status&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sleep &lt;span class="m"&gt;3600&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;vmwa dev2stop&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; ./SMCIPMITool &amp;lt;bmc-ip&amp;gt; operator &lt;span class="s1"&gt;&amp;#39;&amp;lt;password&amp;gt;&amp;#39;&lt;/span&gt; shell
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>