VMware Cloud Community
Heartstealer
Contributor
Contributor
Jump to solution

ESXi 4 Boot Process

Hi Everyone,

Could anyone tell me the exact boot process of an ESXi 4 Server? What are the files involved and the boot sequence? Any of the manuals explain this process/ any literature adviced to be consulted for the same? Is/How is the boot process different from 3.5 ESX or ESX 4 Server or 4.1? Will any of the log record the diagnostic details @ the time of this boot process?

Regards,

Raul

Reply
0 Kudos
1 Solution

Accepted Solutions
Dave_Mishchenko
Immortal
Immortal
Jump to solution

So do you meant to say after the initiation of module named k.z the s.z rewrites the k.z module?

Not exactly like that. Lets say k.z contains the files /folder1/file1 and /folder2/file2, and s.z contains /folder1/file1 and /folder1/file3. When k.z is extracted you end up with the following in the ram disk

/folder1/file1

/folder2/file2

When s.z is extracted, it contains another version of file1 so that overwrites the existing on in the ram disk so you end up with

/folder1/file1 <-- from s.z

/folder1/file3

/folder2/file2

With the system modules there isn't much overlap in files so you don't get many overwritten. But state.tgz (or local.tgz) contains the "configuration" files for your host so there are a lot of files from there that overwrite the system default files. One such example will be /etc/vmware/esx.conf. When you install ESXi your system has no configuration until you boot it for the first time after the install. So the file first comes from one of the system modules. As soon as that file is changed, it ends up in state.tgz and when ESXi subsequently boots the copy of esx.conf that it uses comes from state.tgz.

When you mentioned "they were shortened to" did you mean they gave the names like a variable/link "x" in a expression Smiley Wink?

With ESXi 3.5 and 4.0 the filenames in boot.cfg are a bit more understandable. The below is from ESXi 4.0 -

kernel=vmkboot.gz

kernelopt=

modules=vmk.gz --- sys.vgz --- cim.vgz --- oem.tgz --- license.tgz --- mod.tgz --- state.tgz --- vpxa.vgz --- aam.vgz

I see that all these files are available in bootbank. Does these files under go a de-compression before initialization?

Yes. When you hear people talk about ESXi being 32 MB in size (it's larger these days) they're talking about the compressed size of the firmware image in the bootbank.

All ESXi versions boot the same way. ESX has the Linux service console so it's a bit different.

Run level scripts - /etc/vmware/init/init.d

Keep in mind that ESXi is not Linux based so there are some similarities, but the heart of ESXi isn't Linux.






Dave

VMware Communities User Moderator

Forum Upgrade Notice - the VMware Communities forums will be upgraded the weekend of December 12th. The forum will be in read-only mode from Friday, December 10th 6 PM PST until Sunday, December 12th 2 AM PST.

Now available - VMware ESXi: Planning, Implementation, and Security

Also available - vSphere Quick Start Guide

Do you have a system or PCI card working with VMDirectPath? Submit your specs to the Unofficial VMDirectPath HCL.

View solution in original post

Reply
0 Kudos
7 Replies
a_p_
Leadership
Leadership
Jump to solution

I'm not sure whether there's a public documentation for this, you can take a look at the logs in "/var/logs" (especially the vmkernel logs) to see what happens. As you might know, you can also watch the vmkernel logs live with "ALT-F12"

André

Forum Upgrade Notice:

VMware will be upgrading VMware Communities systems between 10-12 December 2010. During this time, the system will be placed in READ-ONLY mode.

Heartstealer
Contributor
Contributor
Jump to solution

Thanks André...

However, does anyone know the files and the sequence of this boot order?

Regards,

Raul

Reply
0 Kudos
Dave_Mishchenko
Immortal
Immortal
Jump to solution

The boot process starts with syslinux (on partition 0) and it's function is to determine the correct boot partition (bootbank) to use to start ESXi.

Boot.cfg contains the order of files that are used to build the ESXi ram disk file system. A sample is below. The file names used to be more explanatory, but my understanding is that they were shortened to deal with a character limit in the boot command. The modules listed are extracted in the order shown so a file in aam.vgz for example will overwrite the same file in any of the preceeding modules.

kernel=b.z

kernelopt=

modules=k.z --- s.z --- c.z --- oem.tgz --- license.tgz --- m.z --- vpxa.vgz --- aam.vgz

build=4.1.0-235786

updated=2

bootstate=0

For log files you might also want to look at /var/log/sysboot.log.




Dave

VMware Communities User Moderator

Forum Upgrade Notice - the VMware Communities forums will be upgraded the weekend of December 12th. The forum will be in read-only mode from Friday, December 10th 6 PM PST until Sunday, December 12th 2 AM PST.

Now available - VMware ESXi: Planning, Implementation, and Security

Also available - vSphere Quick Start Guide

Do you have a system or PCI card working with VMDirectPath? Submit your specs to the Unofficial VMDirectPath HCL.

Heartstealer
Contributor
Contributor
Jump to solution

Thanks a ton Dave ...

Just to make this crystal clear for me:

modules=k.z --- s.z --- c.z --- oem.tgz --- license.tgz --- m.z --- vpxa.vgz - aam.vgz -> modules=k.z <- s.z <- c.z <- oem.tgz <- license.tgz <- m.z <- vpxa.vgz <- aam.vgz

So do you meant to say after the initiation of module named k.z the s.z rewrites the k.z module?

I assume that the vpxa module is for vcenter and aam is for HA. However what are the significance or contents of k.z, s.z, c.z oem.tgz, license.tgz and m.z?

When you mentioned "they were shortened to" did you mean they gave the names like a variable/link "x" in a expression ;)?

I see that all these files are available in bootbank. Does these files under go a de-compression before initialization?

Is this boot process same as ESX/ESXi 3.5/4/4.1?

Also could you tell me where are the run level scripts located in an ESXi server?

I really appriciate your prompt response.

Thanks a ton...

Reply
0 Kudos
Dave_Mishchenko
Immortal
Immortal
Jump to solution

So do you meant to say after the initiation of module named k.z the s.z rewrites the k.z module?

Not exactly like that. Lets say k.z contains the files /folder1/file1 and /folder2/file2, and s.z contains /folder1/file1 and /folder1/file3. When k.z is extracted you end up with the following in the ram disk

/folder1/file1

/folder2/file2

When s.z is extracted, it contains another version of file1 so that overwrites the existing on in the ram disk so you end up with

/folder1/file1 <-- from s.z

/folder1/file3

/folder2/file2

With the system modules there isn't much overlap in files so you don't get many overwritten. But state.tgz (or local.tgz) contains the "configuration" files for your host so there are a lot of files from there that overwrite the system default files. One such example will be /etc/vmware/esx.conf. When you install ESXi your system has no configuration until you boot it for the first time after the install. So the file first comes from one of the system modules. As soon as that file is changed, it ends up in state.tgz and when ESXi subsequently boots the copy of esx.conf that it uses comes from state.tgz.

When you mentioned "they were shortened to" did you mean they gave the names like a variable/link "x" in a expression Smiley Wink?

With ESXi 3.5 and 4.0 the filenames in boot.cfg are a bit more understandable. The below is from ESXi 4.0 -

kernel=vmkboot.gz

kernelopt=

modules=vmk.gz --- sys.vgz --- cim.vgz --- oem.tgz --- license.tgz --- mod.tgz --- state.tgz --- vpxa.vgz --- aam.vgz

I see that all these files are available in bootbank. Does these files under go a de-compression before initialization?

Yes. When you hear people talk about ESXi being 32 MB in size (it's larger these days) they're talking about the compressed size of the firmware image in the bootbank.

All ESXi versions boot the same way. ESX has the Linux service console so it's a bit different.

Run level scripts - /etc/vmware/init/init.d

Keep in mind that ESXi is not Linux based so there are some similarities, but the heart of ESXi isn't Linux.






Dave

VMware Communities User Moderator

Forum Upgrade Notice - the VMware Communities forums will be upgraded the weekend of December 12th. The forum will be in read-only mode from Friday, December 10th 6 PM PST until Sunday, December 12th 2 AM PST.

Now available - VMware ESXi: Planning, Implementation, and Security

Also available - vSphere Quick Start Guide

Do you have a system or PCI card working with VMDirectPath? Submit your specs to the Unofficial VMDirectPath HCL.

Reply
0 Kudos
Heartstealer
Contributor
Contributor
Jump to solution

Thanks a million for that awesome reply Dave ...

Last but not least : What exactly are these system files in the boot ? sys.vgz --- cim.vgz --- oem.tgz --- license.tgz --- mod.tgz --- state.tgz ?

I have heard cim is for some CIM functionality but what is the CIM function and wht is this module for?

rest of them i really dont have a clue about what they are used for... It will be a great help if you could enlighten...

regards

Raul

Reply
0 Kudos
Dave_Mac
Contributor
Contributor
Jump to solution

CIM stands for the Common Information Model, ESXi incorporates CIM funcionality to replace the ESX HW instrumentation traditionally provided through the Service Console agents. I'm assuming the cim.vgz is dropping the CIM Providers onto your host at runtime.

Check below link for more CIM type 'stuff'.

http://blogs.vmware.com/esxi/2010/04/hardware-health-monitoring-via-cim.html

Reply
0 Kudos