VMware ESX Server Runs on Linux

Virtualization, Linux, Open Source Add comments

I just read The VMware House of Cards and started to post a comment, but decided the amount of stuff I was going to include facilitated its own post.

Basically, the article is an argument of whether or not VMware ESX server requires Linux in order to run (go read it!).

Ironically, I was just at a seminar yesterday where one of the VMware guys did a presentation. A ways into it, one of the audience was asking about what OS ESX installs onto and the VMware guy was having to explain about how you install it to bare metal. The audience guy didn’t quite understand and kept pressing the issue. The VMware guy absolutely refused to come out and say that ESX is based on Linux.

But, there is this…

[jlgaddis@bl-vmware1 jlgaddis]$ cat /etc/vmware-release VMware ESX Server 3 (Dali)
…and this…
[jlgaddis@bl-vmware1 jlgaddis]$ cat /etc/redhat-release Red Hat Enterprise Linux ES release 3 (Taroon)
…and, of course, this…
[jlgaddis@bl-vmware1 jlgaddis]$ cat /var/log/dmesg Linux version 2.4.21-37.0.2.ELvmnix (mts@pa-build51.eng.vmware.com) (gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)) #1 Tue Jan 2 21:02:22 PST 2007[VMnix version 37675] BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f400 (usable) BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 00000000cfe50000 (usable) BIOS-e820: 00000000cfe50000 - 00000000cfe58000 (ACPI data) BIOS-e820: 00000000cfe58000 - 00000000d0000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fed00000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee10000 (reserved) BIOS-e820: 00000000ffc00000 - 0000000100000000 (reserved) BIOS-e820: 0000000100000000 - 000000012ffff000 (usable) user-defined physical RAM map: user: 0000000000000000 - 000000000009f400 (usable) user: 000000000009f400 - 00000000000a0000 (reserved) user: 00000000000f0000 - 0000000000100000 (reserved) user: 0000000000100000 - 0000000011000000 (usable) E820: reported memory end 11000000 VMNIX: linux MA=[0×0,0×11000000) VMNIX: vmkernel MPN=[0×11000,0xcfe4f] VMNIX: vmkernel MPN=[0×100000,0×12fffe] vmk: 0000000000000000 - 000000000009f400 (usable) vmk: 000000000009f400 - 00000000000a0000 (reserved) vmk: 00000000000f0000 - 0000000000100000 (reserved) vmk: 0000000000100000 - 00000000cfe50000 (usable) vmk: 00000000cfe50000 - 00000000cfe58000 (ACPI data) vmk: 00000000cfe58000 - 00000000d0000000 (reserved) vmk: 00000000fec00000 - 00000000fed00000 (reserved) vmk: 00000000fee00000 - 00000000fee10000 (reserved) vmk: 00000000ffc00000 - 0000000100000000 (reserved) vmk: 0000000100000000 - 000000012ffff000 (usable) 0MB HIGHMEM available. 272MB LOWMEM available. found SMP MP-table at 000f4f80 hm, page 000f4000 reserved twice. hm, page 000f5000 reserved twice. hm, page 000fd000 reserved twice. hm, page 000fe000 reserved twice. NX (Execute Disable) protection: active On node 0 totalpages: 69632 zone(0): 2048 pages. zone(1): 67584 pages. zone(2): 0 pages. VMNIX: Scanning [0×0, 0×400) c0000000 VMNIX: Scanning [0×9fc00, 0xa0000) c009fc00 VMNIX: Scanning [0xf0000, 0×100000) c00f0000 VMNIX: Found MPS at c00f4f80 len=0×1 spec=0×4 feature=[0×0 0×0] VMNIX: MPC at 0xfdbdc VMNIX: MPC length is 604 VMNIX: MPC mapped at fc6fdbdc VMNIX: MPC spec=0×4 count=0×40 lapic=0xfee00000 HP VMNIX: Scanning for ACPI table [0×0, 0×400) c0000000 VMNIX: Scanning for ACPI table [0xe0000, 0×100000) c00e0000 VMNIX: Found ACPI RSDP at c00f4f00 sig=RSD PTR rev=2 oem=[HP ] VMNIX: RSDT is at cfe50000 VMNIX: RSDT length is 60 VMNIX: RSDT mapped at fc6fd000 VMNIX: There are 6 Description Tables VMNIX: ACPI DT header at 0xcfe50080 VMNIX: DT signature [FACP], length 116 VMNIX: DT mapped at fc6fd080 VMNIX: saved VMNIX: ACPI DT header at 0xcfe50140 VMNIX: DT signature [SPCR], length 80 VMNIX: DT mapped at fc6fd140 VMNIX: unused DT, skipped VMNIX: ACPI DT header at 0xcfe501c0 VMNIX: DT signature [MCFG], length 60 VMNIX: DT mapped at fc6fd1c0 VMNIX: unused DT, skipped VMNIX: ACPI DT header at 0xcfe50200 VMNIX: DT signature [HPET], length 56 VMNIX: DT mapped at fc6fd200 VMNIX: saved VMNIX: ACPI DT header at 0xcfe50240 VMNIX: DT signature [SPMI], length 64 VMNIX: DT mapped at fc6fd240 VMNIX: unused DT, skipped VMNIX: ACPI DT header at 0xcfe50280 VMNIX: DT signature [APIC], length 222 VMNIX: DT mapped at fc6fd280 VMNIX: saved Intel MultiProcessor Specification v1.4 Virtual Wire compatibility mode. OEM ID: HP Product ID: PROLIANT APIC at: 0xFEE00000 APICsettype: PIV or K8 VMNIX: BSP APIC ID from MPS: 0×0 Processor #0 Pentium 4(tm) APIC version 20 Bootup CPU Processor #1 Pentium 4(tm) APIC version 20 Processor #2 Pentium 4(tm) APIC version 20 Processor #3 Pentium 4(tm) APIC version 20 Bus #0 is PCI Bus #1 is PCI Bus #2 is PCI Bus #4 is PCI Bus #8 is PCI Bus #9 is PCI Bus #10 is PCI Bus #11 is PCI Bus #12 is PCI Bus #13 is PCI Bus #16 is PCI Bus #19 is PCI Bus #21 is PCI Bus #241 is ISA I/O APIC #8 Version 17 at 0xFEC00000. I/O APIC #9 Version 17 at 0xFEC01000. Int: type 0, pol 3, trig 3, bus 0, IRQ 0c, APIC ID 9, APIC INT 0b Int: type 0, pol 3, trig 3, bus 0, IRQ 10, APIC ID 9, APIC INT 09 Int: type 0, pol 3, trig 3, bus 0, IRQ 11, APIC ID 9, APIC INT 0a Int: type 0, pol 3, trig 3, bus 0, IRQ 1c, APIC ID 8, APIC INT 05 Int: type 0, pol 3, trig 3, bus 8, IRQ 3c, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 8, IRQ 40, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 8, IRQ 44, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 8, IRQ 48, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 8, IRQ 4c, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 16, IRQ 00, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 16, IRQ 01, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 16, IRQ 02, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 16, IRQ 03, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 10, IRQ 00, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 10, IRQ 01, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 10, IRQ 02, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 10, IRQ 03, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 12, IRQ 00, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 12, IRQ 01, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 12, IRQ 02, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 12, IRQ 03, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 13, IRQ 00, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 13, IRQ 01, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 13, IRQ 02, APIC ID 9, APIC INT 03 Int: type 0, pol 3, trig 3, bus 13, IRQ 03, APIC ID 9, APIC INT 04 Int: type 0, pol 3, trig 3, bus 19, IRQ 00, APIC ID 9, APIC INT 00 Int: type 0, pol 3, trig 3, bus 19, IRQ 01, APIC ID 9, APIC INT 01 Int: type 0, pol 3, trig 3, bus 19, IRQ 02, APIC ID 9, APIC INT 0c Int: type 0, pol 3, trig 3, bus 19, IRQ 03, APIC ID 9, APIC INT 03 Int: type 0, pol 1, trig 1, bus 241, IRQ 00, APIC ID 8, APIC INT 02 Int: type 0, pol 1, trig 1, bus 241, IRQ 01, APIC ID 8, APIC INT 01 Int: type 0, pol 1, trig 1, bus 241, IRQ 03, APIC ID 8, APIC INT 03 Int: type 0, pol 1, trig 1, bus 241, IRQ 04, APIC ID 8, APIC INT 04 Int: type 0, pol 1, trig 1, bus 241, IRQ 06, APIC ID 8, APIC INT 06 Int: type 0, pol 1, trig 1, bus 241, IRQ 07, APIC ID 8, APIC INT 07 Int: type 0, pol 1, trig 1, bus 241, IRQ 08, APIC ID 8, APIC INT 08 Int: type 0, pol 3, trig 3, bus 241, IRQ 09, APIC ID 8, APIC INT 09 Int: type 0, pol 1, trig 1, bus 241, IRQ 0c, APIC ID 8, APIC INT 0c Int: type 0, pol 1, trig 1, bus 241, IRQ 0d, APIC ID 8, APIC INT 0d Int: type 0, pol 1, trig 1, bus 241, IRQ 0e, APIC ID 8, APIC INT 0e Int: type 0, pol 1, trig 1, bus 241, IRQ 0f, APIC ID 8, APIC INT 0f Int: type 3, pol 1, trig 1, bus 241, IRQ 00, APIC ID 8, APIC INT 00 Lint: type 3, pol 1, trig 1, bus 241, IRQ 00, APIC ID ff, APIC LINT 00 Lint: type 1, pol 1, trig 1, bus 241, IRQ 00, APIC ID ff, APIC LINT 01 Processors: 4 xAPIC support is present Enabling APIC mode: Physical. Using 2 I/O APICs DMI 2.3 present. 60 structures occupying 1528 bytes. DMI table at 0×000EE000. BIOS Vendor: HP BIOS Version: A10 BIOS Release: 12/02/2006 System Vendor: HP Product Name: ProLiant DL365 G1 Version: Serial Number: USE708N435 UUID 3431313337375553453730384e343335 Kernel command line: ro root=UUID=04fddb43-6d58-437e-b327-c39ba715b9b3 mem=272M cpci=10:;12:;14:4;16:; Initializing CPU#0 Detected 1800.120 MHz processor. Console: colour VGA+ 80×25 Calibrating delay loop… 3591.37 BogoMIPS Page-cache hash table entries: 131072 (order: 7, 512 KB) Page-pin hash table entries: 32768 (order: 5, 128 KB) Dentry cache hash table entries: 65536 (order: 7, 512 KB) Inode cache hash table entries: 32768 (order: 6, 256 KB) Buffer cache hash table entries: 32768 (order: 5, 128 KB) Memory: 259604k/278528k available (1649k kernel code, 16424k reserved, 1207k data, 376k init, 0k highmem) zapping low mappings. Mount cache hash table entries: 512 (order: 0, 4096 bytes) CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 1024K (64 bytes/line) Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: After generic, caps: 078bfbff ebd3fbff 00000000 00000000 CPU: Common caps: 078bfbff ebd3fbff 00000000 00000000 CPU: AMD Dual-Core AMD Opteron(tm) Processor 2210 stepping 02 Enabling fast FPU save and restore… done. Enabling unmasked SIMD FPU exception support… done. Checking ‘hlt’ instruction… OK. POSIX conformance testing by UNIFIX enabled ExtINT on CPU#0 ESR value before enabling vector: 00000000 ESR value after enabling vector: 00000000 ENABLING IO-APIC IRQs Setting 8 in the physidpresentmap Setting 9 in the physidpresentmap init IO_APIC IRQs IO-APIC (apicid-pin) 8-0, 8-10, 8-11, 9-2, 9-5, 9-6, 9-7, 9-8, 9-13, 9-14, 9-15 not connected. ..TIMER: vector=0×31 pin1=2 pin2=0 number of MP IRQ sources: 42. number of IO-APIC #8 registers: 16. number of IO-APIC #9 registers: 16. testing the IO APIC…………………..

IO APIC #8…… …. register #00: 08000000 ……. : physical APIC id: 08 ……. : Delivery Type: 0 ……. : LTS : 0 …. register #01: 000F0011 ……. : max redirection entries: 000F ……. : PRQ implemented: 0 ……. : IO APIC version: 0011 …. register #02: 08000000 ……. : arbitration: 08 …. IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 0 0 0 0 0 0 00 01 000 00 0 0 0 0 0 0 0 39 02 000 00 0 0 0 0 0 0 0 31 03 000 00 0 0 0 0 0 0 0 41 04 000 00 0 0 0 0 0 0 0 49 05 000 00 1 1 0 1 0 0 0 51 06 000 00 0 0 0 0 0 0 0 59 07 000 00 0 0 0 0 0 0 0 61 08 000 00 0 0 0 0 0 0 0 69 09 000 00 1 1 0 1 0 0 0 71 0a 000 00 1 0 0 0 0 0 0 00 0b 000 00 1 0 0 0 0 0 0 00 0c 000 00 0 0 0 0 0 0 0 79 0d 000 00 0 0 0 0 0 0 0 81 0e 000 00 0 0 0 0 0 0 0 89 0f 000 00 0 0 0 0 0 0 0 91

IO APIC #9…… …. register #00: 09000000 ……. : physical APIC id: 09 ……. : Delivery Type: 0 ……. : LTS : 0 …. register #01: 000F0011 ……. : max redirection entries: 000F ……. : PRQ implemented: 0 ……. : IO APIC version: 0011 …. register #02: 09000000 ……. : arbitration: 09 …. IRQ redirection table: NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: 00 000 00 1 1 0 1 0 0 0 99 01 000 00 1 1 0 1 0 0 0 A1 02 000 00 1 0 0 0 0 0 0 00 03 000 00 1 1 0 1 0 0 0 A9 04 000 00 1 1 0 1 0 0 0 B1 05 000 00 1 0 0 0 0 0 0 00 06 000 00 1 0 0 0 0 0 0 00 07 000 00 1 0 0 0 0 0 0 00 08 000 00 1 0 0 0 0 0 0 00 09 000 00 1 1 0 1 0 0 0 B9 0a 000 00 1 1 0 1 0 0 0 C1 0b 000 00 1 1 0 1 0 0 0 C9 0c 000 00 1 1 0 1 0 0 0 D1 0d 000 00 1 0 0 0 0 0 0 00 0e 000 00 1 0 0 0 0 0 0 00 0f 000 00 1 0 0 0 0 0 0 00 IRQ to pin mappings: IRQ0 -> 0:2 IRQ1 -> 0:1 IRQ3 -> 0:3 IRQ4 -> 0:4 IRQ6 -> 0:6 IRQ7 -> 0:7 IRQ8 -> 0:8 IRQ9 -> 0:9 IRQ12 -> 0:12 IRQ13 -> 0:13 IRQ14 -> 0:14 IRQ15 -> 0:15 IRQ16 -> 0:5 IRQ17 -> 1:0 IRQ18 -> 1:1 IRQ19 -> 1:3 IRQ20 -> 1:4 IRQ21 -> 1:9 IRQ22 -> 1:10 IRQ23 -> 1:11 IRQ24 -> 1:12 ……………………………… done. Process timing init…done. mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: Intel PCI: PCI BIOS revision 3.00 entry at 0xf0072, last bus=21 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Ignoring BAR0-3 of IDE controller 00:06.1 PCI: Discovered peer bus 08 PCI->APIC IRQ transform: (B0,I3,P0) -> 23 PCI->APIC IRQ transform: (B0,I4,P0) -> 21 PCI->APIC IRQ transform: (B0,I4,P1) -> 22 PCI->APIC IRQ transform: (B0,I4,P1) -> 22 PCI->APIC IRQ transform: (B0,I4,P0) -> 21 PCI->APIC IRQ transform: (B0,I7,P0) -> 16 PCI->APIC IRQ transform: (B0,I7,P0) -> 16 PCI->APIC IRQ transform: (B0,I7,P0) -> 16 PCI->APIC IRQ transform: (B8,I15,P0) -> 17 PCI->APIC IRQ transform: (B8,I16,P0) -> 20 PCI->APIC IRQ transform: (B8,I17,P0) -> 19 PCI->APIC IRQ transform: (B8,I18,P0) -> 24 PCI->APIC IRQ transform: (B8,I19,P0) -> 18 PCI->APIC IRQ transform: (B16,I0,P0) -> 20 PCI->APIC IRQ transform: (B10,I0,P0) -> 19 PCI->APIC IRQ transform: (B12,I0,P0) -> 24 PCI BIOS passed nonexistent PCI bus 14! PCI: using PPB(B13,I0,P0) to get irq 18 PCI->APIC IRQ transform: (B14,I8,P0) -> 18 VMNIX: vmnixPCIInfo=10:;12:;14:4;16:; VMNIX is hiding PCI device (B16,I0,P0) VMNIX is hiding PCI device (B10,I0,P0) VMNIX is hiding PCI device (B12,I0,P0) VMNIX is hiding PCI device (B14,I8,P0) Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket IA-32 Microcode Update Driver: v1.13 tigran@veritas.com Starting kswapd aiosetup: numphyspages = 17408 aiosetup: sizeof(struct page) = 60 Journalled Block Device driver loaded pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANYPORTS MULTIPORT SHAREIRQ SERIALPCI enabled ttyS0 at 0×03f8 (irq = 4) is a 16550A ttyS1 at 0×02f8 (irq = 3) is a 16550A Floppy drive(s): fd0 is 1.44M floppy0: no floppy controllers found RAMDISK driver initialized: 256 RAM disks of 64000K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx hda: HL-DT-ST GCR-8240N, ATAPI CD/DVD-ROM drive ide0 at 0×1f0-0×1f7,0×3f6 on irq 14 hda: attached ide-cdrom driver. hda: ATAPI 24X CD-ROM drive, 128kB Cache Uniform CD-ROM driver Revision: 3.12 SCSI subsystem driver Revision: 1.00 kmod: failed to exec /sbin/modprobe -s -k scsihostadapter, errno = 2 kmod: failed to exec /sbin/modprobe -s -k scsihostadapter, errno = 2 Initializing Cryptographic API NET4: Linux TCP/IP 1.0 for NET4.0 IP: routing cache hash table of 2048 buckets, 16Kbytes TCP: Hash tables configured (established 32768 bind 65536) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. RAMDISK: Compressed image found at block 0 Freeing initrd memory: 6153k freed VFS: Mounted root (ext2 filesystem). Mod: 698: vmnix module initmodule=0xd180f828 STACKTOPLA=0xfd402ff0 Mod: 3216: hb timer on. Mod: 3283: Started hb thread. IRQ: 291: COS is using IOAPIC Mod: 2305: Setting 0xfce00000 to read-only Mod: 2305: Setting 0xfd000000 to read-only Mod: 2305: Setting 0xfd200000 to read-only VMNIX: BSP APIC ID: 0×0 IRQ: 950: irq 0 is used IRQ: 954: irq 0 is enabled IRQ: 950: irq 1 is used IRQ: 954: irq 1 is enabled IRQ: 950: irq 2 is used IRQ: 954: irq 2 is enabled IRQ: 950: irq 14 is used IRQ: 954: irq 14 is enabled IRQ: 1134: Usurping irq 0 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 1 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 2 (from XT-PIC to vmnix-edge) IRQ: 1134: Usurping irq 3 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 4 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 6 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 7 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 8 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 9 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 12 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 13 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 14 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 15 (from IO-APIC-edge to vmnix-edge) IRQ: 1134: Usurping irq 16 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 17 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 18 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 19 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 20 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 21 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 22 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 23 (from IO-APIC-level to vmnix-level) IRQ: 1134: Usurping irq 24 (from IO-APIC-level to vmnix-level) VGA: 297: VGA start b8000 end c0000 mapped start c00b8000 char height 16 VGA: 397: VGA: 425: 0 Console: switching to colour VMNIX-VGA 80×25 Partition check: cciss/c0d0: p1 p2 p3 p4 < p5 p6 p7 > scsi0 : qla2300 scsi: unknown type 12 Vendor: COMPAQ Model: MSA1000 Rev: 5.10 Type: Unknown ANSI SCSI revision: 04 Vendor: COMPAQ Model: MSA1000 VOLUME Rev: 5.10 Type: Direct-Access ANSI SCSI revision: 04 resizedmapool: unknown device type 12 VMWARE SCSI Id: Supported VPD pages for sda : 0×0 0×80 0×83 0xc0 0xb0 0xc1 VMWARE SCSI Id: Device id info for sda: 0×1 0×3 0×0 0×10 0×60 0×5 0×8 0xb3 0×0 0×93 0xac 0xe0 0xaf 0xa2 0×8f 0×6b 0xf6 0×7f 0×0 0xd 0×1 0×0 0×0 0×4 0×0 0×0 0×0 0×0 0×2 0×3 0×0 0×20 0×36 0×30 0×30 0×35 0×30 0×38 0×42 0×33 0×30 0×30 0×39 0×33 0×41 0×43 0×45 0×30 0×41 0×46 0×41 0×32 0×38 0×46 0×36 0×42 0×46 0×36 0×37 0×46 0×30 0×30 0×30 0×44 0×2 0×0 0×0 0×8 0×30 0×30 0×30 0×30 0×30 0×30 0×30 0×30 VMWARE SCSI Id: Id for sda 0×60 0×05 0×08 0xb3 0×00 0×93 0xac 0xe0 0xaf 0xa2 0×8f 0×6b 0xf6 0×7f 0×00 0×0d 0×4d 0×53 0×41 0×31 0×30 0×30 VMWARE: Unique Device attached as scsi disk sda at scsi0, channel 0, id 0, lun 3 Attached scsi disk sda at scsi0, channel 0, id 0, lun 3 resizedma_pool: unknown device type 12 SCSI device sda: 614402047 512-byte hdwr sectors (300000 MB) sda: unknown partition table kjournald starting. Commit interval 5 seconds EXT3-fs: mounted filesystem with ordered data mode. Freeing unused kernel memory: 376k freed usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-uhci.c: $Revision: 1.275 $ time 21:03:42 Jan 2 2007 usb-uhci.c: High bandwidth mode enabled usb-uhci.c: USB UHCI at I/O 0×1800, IRQ 22 usb-uhci.c: Detected 8 ports usb.c: new USB bus registered, assigned bus number 1 hub.c: USB hub found hub.c: 8 ports detected usb-uhci.c: v1.275:USB Universal Host Controller Interface driver usb-ohci.c: USB OHCI at membase 0xd20b6000, IRQ 16 usb-ohci.c: usb-00:07.0, PCI device 1166:0223 (ServerWorks) usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected usb-ohci.c: USB OHCI at membase 0xd20b8000, IRQ 16 usb-ohci.c: usb-00:07.1, PCI device 1166:0223 (ServerWorks) usb.c: new USB bus registered, assigned bus number 3 hub.c: USB hub found hub.c: 2 ports detected ehci-hcd 00:07.2: PCI device 1166:0223 (ServerWorks) ehci-hcd 00:07.2: irq 16, pci mem d20c1000 usb.c: new USB bus registered, assigned bus number 4 PCI: 00:07.2 PCI cache line size set incorrectly (64 bytes) by BIOS/FW. PCI: 00:07.2 PCI cache line size corrected to 128. ehci-hcd 00:07.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Jan-22 hub.c: USB hub found hub.c: 4 ports detected usb.c: registered new driver hiddev usb.c: registered new driver hid hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik vojtech@suse.cz hid-core.c: USB HID support drivers mice: PS/2 mouse device common for all mice hub.c: new USB device 00:04.4-1, assigned address 2 input0: USB HID v1.01 Keyboard [HP Virtual Keyboard] on usb1:2.0 input1: USB HID v1.01 Mouse [HP Virtual Keyboard] on usb1:2.1 EXT3 FS 2.4-0.9.19, 19 August 2002 on cciss0(104,2), internal journal Adding Swap: 554856k swap-space (priority -1) hub.c: new USB device 00:04.4-2, assigned address 3 hub.c: USB hub found hub.c: 7 ports detected kjournald starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on cciss0(104,1), internal journal EXT3-fs: mounted filesystem with ordered data mode. hub.c: new USB device 00:07.1-1, assigned address 2 kjournald starting. Commit interval 5 seconds EXT3 FS 2.4-0.9.19, 19 August 2002 on cciss0(104,6), internal journal EXT3-fs: mounted filesystem with ordered data mode. hub.c: USB hub found hub.c: 4 ports detected

I dunno, what do you guys think? Does that look like Linux to you? It sure does to me!

4 Responses to “VMware ESX Server Runs on Linux”

  1. Jason Says:

    I am following this thread too. The output you show here however is from the Service Console which we do know is Linux and based on Redhat. Your output confirms that, however the service console gets loaded after the vmkernel a second time. If you have ever tinkered with Xen you can see the process a little more clearly. However the difference with Xen is Grub handles this kernel loading not some other loader. Two different products but the same concepts. I think this is going to come down to where in the start-up chain VMWare is bringing up the vmkernel.

  2. Ferdinand O. Tempel Says:

    Hi Jeremy,

    It’s no secret, and neither has VMware ever made it one, that the entire service console for ESX3 is based on RHEL3. The infrastructure of this “linux” is being used to bootstrap another kernel, VMKERNEL, into high memory (i.e. the region above the memory reserved for the service console) to run the VMs in. There’s communication channels which go from VMKERNEL to the service console, but that’s about it. It’s probably the modules providing these communication channels where people get the idea from that “VMware == Linux”. As far as I know, VMKERNEL is not a Linux kernel module, but a binary which is simply loaded into memory, and then handed control of the hardware to.

    It’s a complex product, and it’s not as cut and dry as people think it is. The only way to be sure, without looking into the source of VMKERNEL, or someone from VMware saying so, is to analyze the BLOB which is VMKERNEL for traces of GPL code.

  3. benjamin Says:

    and yea, ESX 3i will not longer have the service console.

  4. Tim Says:

    ESX uses Redhat as it console. It hypervisor is not based on Linux. The next version of ESX 3i will not use Redhat for the management console.

Leave a Reply

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login


Copyright © 2007 Jeremy L. Gaddis.
25 monkeys, 0.351 seconds.