Friday, August 18, 2023
notes on attempting to install vmesxi vsphere client (from vmesxi 6 level) under wine on linux
Friday, September 24, 2021
ESXI 6.5 on Intel Nuc (another install)
With VMware vSphere 6.5 released recently, I decided to rebuild my Intel NUC based homelab. My preferred method is to create a bootable USB drive with the ESXi install media on it. Then install from the ESXi USB to the dedicated NUC’s boot USB. This method avoids non-unique ESXi installs, which is a common issue with the VMware Workstation pre-install method.
Prerequisites
In order to create our Intel NUC specific ESXi install media, we need to gather the necessary files. Make sure to grab the newest versions of the following:
- vSphere ESXi 6.5 Offline Bundle
- This is a collection of all the components and packages that make up ESXi. You need the Offline Bundle, not the ISO, for this exercise.
- SATA AHCI driver
- This driver is for the Intel NUC SATA controller. Even if your NUC doesn’t have a SATA disk or even the controller, it doesn’t hurt to add this driver.
- USB 3.0 Ethernet driver from William Lam
- Add more NICs to your NUC via USB 3.0. Like the storage driver, if you don’t have a USB 3 ethernet adapter, it doesn’t hurt to add this driver.
- ESXi-Customizer-PS PowerShell script from Andreas Peets
- This script will do all the heavy lifting, combining the offline bundle and driver VIBs into an ISO for us.
Create ISO
First, let’s create a project directory for our files. Let’s call it C:\esxi-nuc .
Copy the ESXi 6.5 offline bundle ZIP file (ex. VMware-ESXi-6.5.0-4564106-depot.zip ) and the ESXi-Customizer-PS script (ex. ESXi-Customizer-PS-v2.4.ps1 ) to this directory.
Create a sub-directory under our project directory to hold our VIBs. Let’s get creative and call it C:\esxi-nuc\vibs .
Copy the SATA AHCI driver VIB (ex. sata-xahci-1.38-1.x86_64.vib ) and the USB 3.0 Ethernet driver VIB (ex. vghetto-ax88179-esxi65.vib ) to this sub-directory.
If you’ve copied all the files to their respective folders properly, it should look something like this:
Now we have to run the ESXi-Customizer-PS script to pull everything together and generate an ISO file. So fire up PowerShell, navigate to our project directory which is “C:\esxi-nuc” in our example, and run the following command:
Make sure to use the version numbers that match your downloaded files. Also, don’t forget the “-nsc” flag, as that will let us ignore the unsigned driver VIBs and continue.
If everything went as planned, you should now have a new ISO file in the project directory that is an ESXi 6.5 and VIBs combination.
Next Steps
Now that we have our customized ISO, we need to turn it into a bootable USB and then install it on our NUCs. We’ll do just that in part two.
In the first post, we created an ISO image of VMware ESXi 6.5 to install on our Intel NUC. Now we turn that ISO into a bootable USB and do the install.
Make Bootable USB
We’re going to use an application called Rufus to create our bootable USB, so download and install it. Now start Rufus.
First, make sure that your to select your target USB flash drive in the Device drop down menu. Then, change the “Create a bootable disk using” drop down menu to “ISO Image” (call-out 1). Then click the image selection button (call-out 2) to find and open our customized ISO (ex. ESXi-6.5.0-4564106-standard-customized.iso ).
You should now see an updated new volume label which matches the ISO image you chose. Click the Start button to begin building the bootable USB (call-out 3).
A warning may pop up about an older version of the ‘menu.c32’ file. This file is part of Syslinux and helps make the ISO/USB bootable. If we don’t replace the older version of the file then our USB won’t boot properly, so click Yes (call-out 4).
Rufus will remind you, forcefully, that you’re about to wipe out all the data on the target USB drive. You backed up anything on the flash drive that you wanted to keep, right? If you’re sure you’re ready to continue, click OK (call-out 5).
The bootable USB will now be built by Rufus. Rufus basically does a bit of work to make the USB drive bootable, and then extracts the contents of the ISO file to it.
When finished, you’ll see that the device name has changed at the top, the green progress bar is full, and the status reads “READY”. Click the Close button to exit out of Rufus (call-out 6).
Now you can eject your USB drive as it’s ready for use as a vSphere ESXi installation drive.
Install ESXi on NUC
If you’ve installed ESXi before, this should be really straight forward, and I won’t bother with all the details. Essentially you need to make sure to connect your Intel NUC to a monitor and keyboard, and that the drive that you want to install ESXi into is either installed or plugged in. Remember that in my home lab example, that I’ll be installing ESXi on a USB drive. This means that both the USB drive that we’ve built to install ESXi from and the USB drive that we’ll be installing ESXi to have to be plugged into the NUC.
As a reminder, F10 will allow you to select your boot device on the Intel NUC.
In order to get the USB Ethernet adapter to work, we need to enable the ESXi Shell, login, and run the following command:
Then log out of the shell, disable it again and reboot the host.
Bigger and Better Things
Now that we have successfully installed ESXi 6.5 onto our NUC, we can begin to do some fun and interesting things. Like, say, install ESXi on some more NUCs and then create a vSAN cluster. Stay tuned.
vmware esxi problems some solutions redirect to serial for boot, or merge modules. Intel NUC as server
I came across the same problem on a bay-trail based system. I had to do the following:
1) set BIOS "max cpuid value limit" to disable
2) Redirect the Direct Console to a Serial Port by Setting the Boot Options Manually
- At startup press Shift+O and append the following boot options
"gdbPort=none logPort=none tty2Port=com1";
3) connect a null modem cable from the esxi host pc to another pc. This will allow you to finish the install and see further messages if there are more issues.
4) after installation completes, boot up the host and repeat steps 3 and 4 (if the screen continues to show the "relocating modules" mesg)
- the relocating modules message has something with ESXI not liking the video card. Anyways, this just means you won't be able to use the local display to manage ESXI but you can still use vshpere client to manage the system remotely.
5) setup your management ip and launch the vsphere client to manage your new esxi host.
Hope this helps. Good luck!
************************
esxi 6.5
I successfully installed VMware ESXi 6.5 on my NUC5PPYH (Intel Pentium N3700, 8GB RAM, 256GB SSD) using these steps on Windows 10:
- Configured a static DHCP lease on my router for the MAC address of the NUC
- Updated BIOS to latest version 0059, loading BIOS defaults
- Downloaded and installed VMware-PowerCLI-6.5.0-4624819.exe
- Downloaded ESXi-Customizer-PS-v2.5.ps1
- Downloaded and installed rufus-2.12.exe
- Downloaded ESXi drivers for onboard network and SATA : net55-r8168-8.039.01-napi.x86_64.vib, sata-xahci-1.39-1.x86_64.vib
- Created an empty C:\Temp directory and put the .vib files in there
- Ran the customizer PS script like so: .\ESXi-Customizer-PS-v2.5.ps1 -pkgDir C:\Temp
- Wrote the created ESXi-6.5.0-20170104001-standard-customized.iso on a USB stick using Rufus
- Wrote a kickstart file (see below) and copied it as ks.cfg on the USB stick
- Ejected the USB stick from Windows, put it in the NUC and booted it
- Pressed Shift + O when the ESXi installer started booting up
- Changed the command line to: > runweasel ks=usb:/ks.cfg
- Waited for about 15 minutes for the installer to finish
Since the system is lacking support for the Braswell graphic chip you wont see anything on the screen happening besides that last line "Relocating modules and starting up the kernel...".
Just ignore it. :smileycool:
Please note that the ks.cfg script will erase all contents of the drive inside the NUC!
----<snip>----
# ks.cfg: scripted installation file for ESXi 6.5 installation
# Accept the VMware End User License Agreement
vmaccepteula
# Set the root password for the DCUI and Tech Support Mode
rootpw mypassword
# Install on the first local disk available on machine
clearpart --firstdisk --overwritevmfs
install --firstdisk=local --overwritevmfs
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp
# reboots the host after the scripted installation is completed
reboot
# enable SSH and the ESXi shell
%firstboot --interpreter=busybox
vim-cmd hostsvc/enable_ssh
vim-cmd hostsvc/start_ssh
vim-cmd hostsvc/enable_esx_shell
vim-cmd hostsvc/start_esx_shell
----<snap>----
**************************************
This description Worked for me on my Intel NUC5PPYH
But I made a minor change in the ks.cfg:
# Set the network to DHCP on the first network adapter
network --bootproto=dhcp --device=vmnic0
**************************************
Another formula
**************************************
I had to try several times until I got it working:
THIS IS A GUIDE TO INSTALL ESXI FROM - AND INSTALL ONTO THE SAME - USB-STICK
1.) BIOS: reset to default ! and DISABLE UEFI boot - leave only legacy usb (if you leave uefi the shift+o commands will be ignored)
2.) Remove ANY HDD/SSD/WHATEVER from the NUC - you will add it again later
3.) Make the aforementioned boot stick from rhoenies post.
4.) Make a ks.cfg file on the stick with the following content
----<snip>----
vmaccepteula
rootpw whatever
network --bootproto=dhcp
clearpart --firstdisk --overwritevmfs
install --firstdisk --overwritevmfs --novmfsondisk
reboot
----<snap>----
5.) Plug the stick into your NUC and press Shift+O at the ESXI bootloader
6.) Type: >runweasel ks=usb:/ks.cfg ignoreHeadless=TRUE and press Enter
7.) ESXi will now be installed (takes about 15 Minutes) - then the machine will reboot
8.) After reboot your NUC will complain: "no disk found" - reboot and enter BIOS
9.) Enable UEFI boot and check the box at "Boot usb disk first". Check "suppress alert messages" too.
11.) Save bios and shutdown -> Now you can reinstall your HDD/SSD
12.) Remove the stick from your NUC, plug it into you computer and make following change inside BOOT.CFG: "kernelopt= installerDiskDumpSlotSize=2560 no-auto-partition ignoreHeadless=TRUE"
13.) Now plug your stick back in and enjoy your fully working ESXi host by just acccessing it over https://IP-ADDRESS/ui
14.) After trying every bios option possible I gave up: you can't run a NUC5PPYH without a monitor or a vga dummy connected. So if you plan on running your NUC complete headless I recommend ordering a 5$ hdmi dummy.
If you encounter Problems it is usually related to your USB-Stick. You can try this:
>runweasel ks=usb:/ks.cfg ignoreHeadless=TRUE preferVmklinux=TRUE
But if it doesn't help try a different USB-Stick. I recommend not to use a USB 3.0 capable one.
******************************
--30--
Monday, January 20, 2020
set ssh to esxi to log on with preshared keys
The ssh preshared keys are not in the home (root) directory of the esxi root account, but rather are in /etc/ssh/keys-root/authorized_keys
https://ogris.de/sshesxi/
https://serverfault.com/questions/549858/rsync-over-ssh-to-esxi
--30--
Saturday, January 18, 2020
rsync over ssh from vm esxi
basically have to build rsync on the esxi platform. esxi uses busybox, rsync not included.
https://serverfault.com/questions/549858/rsync-over-ssh-to-esxi
--30--
Friday, January 17, 2020
esxi remote mount
mounting vmfs over ssh on esxi system on a linux box
https://serverfault.com/questions/549858/rsync-over-ssh-to-esxi
#mount src esxi file system
sshfs root@aaa.bbb.ccc:/vmfs/volumes/ mnt/sshfs/
src="mnt/sshfs/"
vmd="Storage_vmfs5/vm1-data"
#mount dst esxi file system
sshfs root@xxx.yyy.zzz:/datastore-vms/ mnt/tmp/
dst="mnt/tmp/"
#copy vm files
rsync -av --progress --stats --delete --force "$src$vmd" "$dst"
#unmount
fusermount -u $src; fusermount -u $dst
Wednesday, December 11, 2019
Command line access to esxi server info, networking config
vim-cmd hostsvc/net/info | grep "mac ="
https://communities.vmware.com/thread/187557
esxcfg-info
esxcfg-scsidevs -l
esxcfg-nas -l
Saturday, June 1, 2019
notes on accessing vmware esxi remotely
SSH remote access
- Generate public/private keys. For more information, see the OpenBSD Reference Manual section in the OpenBSD.
Note: The preceding link was valid as of June 22, 2016. If you find the link to be broken, provide feedback on the article and a VMware employee will update the article as necessary.
Notes:- These instructions generate two files in ~/.ssh: id_rsa and id_rsa.pub.
- In ESXi 5.x, the ssh-keygen command is located at /usr/lib/vmware/openssh/bin.
- On the remote host, store the public key content, id_rsa.pubin ~/.ssh/authorized_keys.
Notes:
- For ESXi 5.x, 6.0 and 6.5, the authorized_keys is located at: /etc/ssh/keys-<username>/authorized_keys
- More than one key can be stored in this file.
- To allow root access, change PermitRootLogin no to PermitRootLogin yes in the /etc/ssh/sshd_config file.
- To disable password login, ensure that the ChallengeResponseAuthentication and PasswordAuthentication are set to no.
- Reload the service:
- For ESXi, run the command:
/etc/init.d/SSH restart
- For ESX, run the command:
service sshd reload
- For ESXi, run the command:
https://kb.vmware.com/s/article/1002866
Accessing process information (ps command)
https://kb.vmware.com/s/article/1010993
- Run the minimalized ps command:
ps -Tcjstv
The output shows information such PID, command-line used, and state.
- To generate output for certain processes and maintain a title row, run this command:
ps -Tcjstv | egrep "WID|{proc-name}"
- The esxcfg-info
command can offer some detail on process memory and CPU and is
contained in the vm-support dumps. Process information in esxcfg-info is
contained in sections called Groups, but the groups can be cumbersome
to sift through.
Grep these groups for information on process memory and CPU with the command:
esxcfg-info | egrep -A85 "Group Id" | egrep "Group Name|Group Id|Total CPU|Total Memory|Used Time|Parent Id|----Active\.\.\.\." | less
- To check for file-system issues, run this command:
stat –f {filesystem}
Note: This checks inode use, from which a runaway process can sometimes be determined (even if you do not know exactly what files are involved).
To check across all filesystems, run this command:
stat -f `df | grep -v "Filesystem" | awk '{print $6}'` | egrep "File|Inodes"
- To view network connection (socket) details, run this command:
esxcli network connection list
Note: For ESXi 5.x and later, run this command:
esxcli network ip connection list
--30--





