74 | | * see [./raducotescu] for full log |
75 | | |
76 | | == 問題点 == |
77 | | === vmware-config.plが使えない === |
| 74 | * see [./raducotescu] for a whole log |
| 75 | |
| 76 | = procedure produced by evilninja = |
| 77 | * from [http://communities.vmware.com/message/1544399 VMware Communities: Ubuntu 10.04 & VMware Server 2.0.2 ...] |
| 78 | |
| 79 | == install Ubuntu Lucid with ubuntu-10.04-server-amd64.iso == |
| 80 | * uname -a |
| 81 | {{{ |
| 82 | Linux vmserv 2.6.32-21-server #32-Ubuntu SMP Fri Apr 16 09:17:34 UTC 2010 x86_64 GNU/Linux |
| 83 | }}} |
| 84 | |
| 85 | == install packages == |
| 86 | * sudo aptitude install -R linux-headers-!`uname -r` build-essential |
| 87 | {{{ |
| 88 | The following NEW packages will be installed: |
| 89 | binutils{a} build-essential dpkg-dev{a} g++{a} g++-4.4{a} gcc{a} |
| 90 | gcc-4.4{a} libc-dev-bin{a} libc6-dev{a} libgomp1{a} liblzma1{a} |
| 91 | libstdc++6-4.4-dev{a} linux-libc-dev{a} xz-utils{a} |
| 92 | The following packages will be upgraded: |
| 93 | libc-bin libc6 |
| 94 | The following packages are RECOMMENDED but will NOT be installed: |
| 95 | fakeroot manpages-dev |
| 96 | }}} |
| 97 | |
| 98 | == apply 3rd-party patches == |
| 99 | * mkdir vmware |
| 100 | * mv VMware-server-2.0.2-203138.x86_64.tar.gz vmware/ |
| 101 | |
| 102 | === get patches === |
| 103 | * wget http://nerdbynature.de/bits/2.6.32-22/00-vmware-2.6.32_functional.diff.txt |
| 104 | * wget http://nerdbynature.de/bits/2.6.32-22/01-vmware-2.6.32_cosmetic.diff.txt |
| 105 | * wget http://nerdbynature.de/bits/2.6.32-22/02-vmnet-include.diff.txt.gz |
| 106 | * wget http://nerdbynature.de/bits/2.6.32-22/vmware-config.pl.diff.txt |
| 107 | * wget http://nerdbynature.de/bits/2.6.32-22/patch-vmware_2.6.3x.sh.txt |
| 108 | |
| 109 | * gunzip 02-vmnet-include.diff.txt.gz |
| 110 | * mv *.txt vmware |
| 111 | |
| 112 | * cd vmware |
| 113 | |
| 114 | * mv 00-vmware-2.6.32_functional.diff.txt 00-vmware-2.6.32_functional.diff |
| 115 | * mv 01-vmware-2.6.32_cosmetic.diff.txt 01-vmware-2.6.32_cosmetic.diff |
| 116 | * mv 02-vmnet-include.diff.txt 02-vmnet-include.diff |
| 117 | * mv patch-vmware_2.6.3x.sh.txt patch-vmware_2.6.3x.sh |
| 118 | * mv vmware-config.pl.diff.txt vmware-config.pl.diff |
| 119 | |
| 120 | * ~/vmware$ ll |
| 121 | {{{ |
| 122 | -rw-r--r-- 1 mitty mitty 13047 2010-05-10 17:29 00-vmware-2.6.32_functional.diff |
| 123 | -rw-r--r-- 1 mitty mitty 28299 2010-05-10 17:29 01-vmware-2.6.32_cosmetic.diff |
| 124 | -rw-r--r-- 1 mitty mitty 1501459 2010-05-10 17:29 02-vmnet-include.diff |
| 125 | -rw-r--r-- 1 mitty mitty 1287 2010-05-10 16:48 patch-vmware_2.6.3x.sh |
| 126 | -rw-r--r-- 1 mitty mitty 1129 2010-05-10 17:29 vmware-config.pl.diff |
| 127 | -rw-r--r-- 1 mitty mitty 474415801 2009-10-24 08:13 VMware-server-2.0.2-203138.x86_64.tar.gz |
| 128 | }}} |
| 129 | |
| 130 | * tar xzf VMware-server-2.0.2-203138.x86_64.tar.gz |
| 131 | |
| 132 | === modify patch script === |
| 133 | * cp -a patch-vmware_2.6.3x.sh patch-vmware_2.6.3x.sh.orig |
| 134 | * vim patch-vmware_2.6.3x.sh |
| 135 | * diff patch-vmware_2.6.3x.sh.orig patch-vmware_2.6.3x.sh -u |
| 136 | {{{ |
| 137 | --- patch-vmware_2.6.3x.sh.orig 2010-05-10 16:48:28.000000000 +0900 |
| 138 | +++ patch-vmware_2.6.3x.sh 2010-06-08 09:19:18.375909295 +0900 |
| 139 | @@ -1,4 +1,4 @@ |
| 140 | -#!/bin/sh |
| 141 | +#!/bin/sh -x |
| 142 | # |
| 143 | # (C) 2010 lists@nerdbynature.de |
| 144 | # |
| 145 | @@ -16,7 +16,7 @@ |
| 146 | # vmware-config.pl.diff |
| 147 | # - based on http://communities.vmware.com/message/1398525#1398525 |
| 148 | # |
| 149 | -DIR=/root/dev/ |
| 150 | +DIR=~/vmware |
| 151 | PATCHES="00-vmware-2.6.32_functional.diff 01-vmware-2.6.32_cosmetic.diff 02-vmnet-include.diff" |
| 152 | |
| 153 | # unset me! |
| 154 | @@ -50,7 +50,7 @@ |
| 155 | $DEBUG rm -rf *-only |
| 156 | |
| 157 | # vsock.ko needs symbols from vmci |
| 158 | -$DEBUG cd ../../../../bin || exit 2 |
| 159 | +$DEBUG cd ../../../bin || exit 2 |
| 160 | if [ -x vmware-config.pl -a -f $DIR/vmware-config.pl.diff ]; then |
| 161 | $DEBUG patch -p0 < $DIR/vmware-config.pl.diff |
| 162 | fi |
| 163 | }}} |
| 164 | |
| 165 | === apply patches === |
| 166 | chmod +x patch-vmware_2.6.3x.sh |
| 167 | ./patch-vmware_2.6.3x.sh vmware-server-distrib/lib/modules/source/ |
| 168 | {{{ |
| 169 | + DIR=/home/mitty/vmware |
| 170 | + PATCHES=00-vmware-2.6.32_functional.diff 01-vmware-2.6.32_cosmetic.diff 02-vmnet-include.diff |
| 171 | + wc -l |
| 172 | + ls vmware-server-distrib/lib/modules/source//vmci.tar vmware-server-distrib/lib/modules/source//vmmon.tar vmware-server-distrib/lib/modules/source//vmnet.tar vmware-server-distrib/lib/modules/source//vsock.tar |
| 173 | + [ -z vmware-server-distrib/lib/modules/source/ -o ! 4 = 4 ] |
| 174 | + SRC=vmware-server-distrib/lib/modules/source/ |
| 175 | + cd vmware-server-distrib/lib/modules/source/ |
| 176 | + mkdir orig |
| 177 | + mv vmci.tar vmmon.tar vmnet.tar vsock.tar orig/ |
| 178 | + tar -xf orig/vmci.tar |
| 179 | + tar -xf orig/vmmon.tar |
| 180 | + tar -xf orig/vmnet.tar |
| 181 | + tar -xf orig/vsock.tar |
| 182 | + patch -p1 |
| 183 | patching file vmci-only/include/compat_wait.h |
| 184 | patching file vmci-only/linux/vmciKernelIf.c |
| 185 | patching file vmmon-only/include/compat_wait.h |
| 186 | patching file vmmon-only/linux/driver.c |
| 187 | patching file vmmon-only/linux/hostif.c |
| 188 | patching file vmmon-only/linux/vmmonInt.h |
| 189 | patching file vmnet-only/bridge.c |
| 190 | patching file vmnet-only/compat_wait.h |
| 191 | patching file vmnet-only/driver.c |
| 192 | patching file vmnet-only/netif.c |
| 193 | patching file vmnet-only/vnetUserListener.c |
| 194 | patching file vsock-only/include/compat_wait.h |
| 195 | + patch -p1 |
| 196 | patching file vmci-only/include/vm_atomic.h |
| 197 | patching file vmci-only/include/vm_basic_types.h |
| 198 | patching file vmmon-only/common/hostif.h |
| 199 | patching file vmmon-only/common/memtrack.c |
| 200 | patching file vmmon-only/include/vm_asm_x86.h |
| 201 | patching file vmmon-only/include/vm_atomic.h |
| 202 | patching file vmmon-only/include/vm_basic_asm_x86.h |
| 203 | patching file vmmon-only/include/vm_basic_types.h |
| 204 | patching file vmmon-only/include/x86msr.h |
| 205 | patching file vmmon-only/include/x86svm.h |
| 206 | patching file vmnet-only/bridge.c |
| 207 | patching file vmnet-only/vm_atomic.h |
| 208 | patching file vmnet-only/vm_basic_asm_x86.h |
| 209 | patching file vmnet-only/vm_basic_types.h |
| 210 | patching file vsock-only/include/vm_basic_types.h |
| 211 | + patch -p1 |
| 212 | patching file vmnet-only/bridge.c |
| 213 | patching file vmnet-only/compat_file.h |
| 214 | patching file vmnet-only/compat_highmem.h |
| 215 | patching file vmnet-only/compat_kdev_t.h |
| 216 | patching file vmnet-only/compat_mm.h |
| 217 | patching file vmnet-only/compat_module.h |
| 218 | patching file vmnet-only/compat_netdevice.h |
| 219 | patching file vmnet-only/compat_page.h |
| 220 | patching file vmnet-only/compat_pgtable.h |
| 221 | patching file vmnet-only/compat_sched.h |
| 222 | patching file vmnet-only/compat_semaphore.h |
| 223 | patching file vmnet-only/compat_skbuff.h |
| 224 | patching file vmnet-only/compat_slab.h |
| 225 | patching file vmnet-only/compat_sock.h |
| 226 | patching file vmnet-only/compat_spinlock.h |
| 227 | patching file vmnet-only/compat_uaccess.h |
| 228 | patching file vmnet-only/compat_version.h |
| 229 | patching file vmnet-only/compat_wait.h |
| 230 | patching file vmnet-only/driver.c |
| 231 | patching file vmnet-only/driver-config.h |
| 232 | patching file vmnet-only/epoll.c |
| 233 | patching file vmnet-only/filter.c |
| 234 | patching file vmnet-only/geninclude.c |
| 235 | patching file vmnet-only/hub.c |
| 236 | patching file vmnet-only/include/compat_file.h |
| 237 | patching file vmnet-only/include/compat_highmem.h |
| 238 | patching file vmnet-only/include/compat_kdev_t.h |
| 239 | patching file vmnet-only/include/compat_mm.h |
| 240 | patching file vmnet-only/include/compat_module.h |
| 241 | patching file vmnet-only/include/compat_netdevice.h |
| 242 | patching file vmnet-only/include/compat_page.h |
| 243 | patching file vmnet-only/include/compat_pgtable.h |
| 244 | patching file vmnet-only/include/compat_sched.h |
| 245 | patching file vmnet-only/include/compat_semaphore.h |
| 246 | patching file vmnet-only/include/compat_skbuff.h |
| 247 | patching file vmnet-only/include/compat_slab.h |
| 248 | patching file vmnet-only/include/compat_sock.h |
| 249 | patching file vmnet-only/include/compat_spinlock.h |
| 250 | patching file vmnet-only/include/compat_uaccess.h |
| 251 | patching file vmnet-only/include/compat_version.h |
| 252 | patching file vmnet-only/include/compat_wait.h |
| 253 | patching file vmnet-only/include/driver-config.h |
| 254 | patching file vmnet-only/include/includeCheck.h |
| 255 | patching file vmnet-only/include/net.h |
| 256 | patching file vmnet-only/include/pgtbl.h |
| 257 | patching file vmnet-only/include/smac_compat.h |
| 258 | patching file vmnet-only/include/smac.h |
| 259 | patching file vmnet-only/include/vm_atomic.h |
| 260 | patching file vmnet-only/include/vm_basic_asm.h |
| 261 | patching file vmnet-only/include/vm_basic_asm_x86_64.h |
| 262 | patching file vmnet-only/include/vm_basic_asm_x86.h |
| 263 | patching file vmnet-only/include/vm_basic_defs.h |
| 264 | patching file vmnet-only/include/vm_basic_types.h |
| 265 | patching file vmnet-only/include/vm_device_version.h |
| 266 | patching file vmnet-only/include/vmnetInt.h |
| 267 | patching file vmnet-only/include/vm_oui.h |
| 268 | patching file vmnet-only/include/vmware_pack_begin.h |
| 269 | patching file vmnet-only/include/vmware_pack_end.h |
| 270 | patching file vmnet-only/include/vmware_pack_init.h |
| 271 | patching file vmnet-only/include/vnetEvent.h |
| 272 | patching file vmnet-only/include/vnetFilter.h |
| 273 | patching file vmnet-only/include/vnetFilterInt.h |
| 274 | patching file vmnet-only/include/vnet.h |
| 275 | patching file vmnet-only/include/vnetInt.h |
| 276 | patching file vmnet-only/include/vnetKernel.h |
| 277 | patching file vmnet-only/include/x86cpuid.h |
| 278 | patching file vmnet-only/includeCheck.h |
| 279 | patching file vmnet-only/linux/bridge.c |
| 280 | patching file vmnet-only/linux/driver.c |
| 281 | patching file vmnet-only/linux/epoll.c |
| 282 | patching file vmnet-only/linux/filter.c |
| 283 | patching file vmnet-only/linux/geninclude.c |
| 284 | patching file vmnet-only/linux/hub.c |
| 285 | patching file vmnet-only/linux/netdev_has_dev_net.c |
| 286 | patching file vmnet-only/linux/netdev_has_net.c |
| 287 | patching file vmnet-only/linux/netif.c |
| 288 | patching file vmnet-only/linux/nfhook_uses_skb.c |
| 289 | patching file vmnet-only/linux/procfs.c |
| 290 | patching file vmnet-only/linux/setnice.c |
| 291 | patching file vmnet-only/linux/sk_alloc.c |
| 292 | patching file vmnet-only/linux/skblin.c |
| 293 | patching file vmnet-only/linux/smac.c |
| 294 | patching file vmnet-only/linux/smac_compat.c |
| 295 | patching file vmnet-only/linux/socket.c |
| 296 | patching file vmnet-only/linux/userif.c |
| 297 | patching file vmnet-only/linux/vnetEvent.c |
| 298 | patching file vmnet-only/linux/vnetUserListener.c |
| 299 | patching file vmnet-only/Makefile.kernel |
| 300 | patching file vmnet-only/netdev_has_dev_net.c |
| 301 | patching file vmnet-only/netdev_has_net.c |
| 302 | patching file vmnet-only/net.h |
| 303 | patching file vmnet-only/netif.c |
| 304 | patching file vmnet-only/nfhook_uses_skb.c |
| 305 | patching file vmnet-only/pgtbl.h |
| 306 | patching file vmnet-only/procfs.c |
| 307 | patching file vmnet-only/setnice.c |
| 308 | patching file vmnet-only/sk_alloc.c |
| 309 | patching file vmnet-only/skblin.c |
| 310 | patching file vmnet-only/smac.c |
| 311 | patching file vmnet-only/smac_compat.c |
| 312 | patching file vmnet-only/smac_compat.h |
| 313 | patching file vmnet-only/smac.h |
| 314 | patching file vmnet-only/socket.c |
| 315 | patching file vmnet-only/userif.c |
| 316 | patching file vmnet-only/vm_atomic.h |
| 317 | patching file vmnet-only/vm_basic_asm.h |
| 318 | patching file vmnet-only/vm_basic_asm_x86_64.h |
| 319 | patching file vmnet-only/vm_basic_asm_x86.h |
| 320 | patching file vmnet-only/vm_basic_defs.h |
| 321 | patching file vmnet-only/vm_basic_types.h |
| 322 | patching file vmnet-only/vm_device_version.h |
| 323 | patching file vmnet-only/vmnetInt.h |
| 324 | patching file vmnet-only/vm_oui.h |
| 325 | patching file vmnet-only/vmware_pack_begin.h |
| 326 | patching file vmnet-only/vmware_pack_end.h |
| 327 | patching file vmnet-only/vmware_pack_init.h |
| 328 | patching file vmnet-only/vnetEvent.c |
| 329 | patching file vmnet-only/vnetEvent.h |
| 330 | patching file vmnet-only/vnetFilter.h |
| 331 | patching file vmnet-only/vnetFilterInt.h |
| 332 | patching file vmnet-only/vnet.h |
| 333 | patching file vmnet-only/vnetInt.h |
| 334 | patching file vmnet-only/vnetKernel.h |
| 335 | patching file vmnet-only/vnetUserListener.c |
| 336 | patching file vmnet-only/x86cpuid.h |
| 337 | + sed s/-only/.tar/ |
| 338 | + echo vmci-only |
| 339 | + tar -cf vmci.tar vmci-only |
| 340 | + sed s/-only/.tar/ |
| 341 | + echo vmmon-only |
| 342 | + tar -cf vmmon.tar vmmon-only |
| 343 | + sed s/-only/.tar/ |
| 344 | + echo vmnet-only |
| 345 | + tar -cf vmnet.tar vmnet-only |
| 346 | + sed s/-only/.tar/ |
| 347 | + echo vsock-only |
| 348 | + tar -cf vsock.tar vsock-only |
| 349 | + rm -rf vmci-only vmmon-only vmnet-only vsock-only |
| 350 | + cd ../../../bin |
| 351 | + [ -x vmware-config.pl -a -f /home/mitty/vmware/vmware-config.pl.diff ] |
| 352 | + patch -p0 |
| 353 | patching file vmware-config.pl |
| 354 | }}} |
| 355 | |
| 356 | == install patched VMware Server == |
| 357 | * cd vmware-server-distrib/ |
| 358 | * ~/vmware/vmware-server-distrib$ sudo ./vmware-install.pl |
| 359 | {{{ |
| 360 | The current administrative user for VMware Server is ''. Would you like to |
| 361 | specify a different administrator? [no] yes |
| 362 | |
| 363 | Please specify the user whom you wish to be the VMware Server administrator |
| 364 | mitty |
| 365 | |
| 366 | Using mitty as the VMware Server administrator. |
| 367 | }}} |
| 368 | * see [./evilninja] for a whole log |
| 369 | |
| 370 | = 問題点 = |
| 371 | == vmware-config.plが使えない == |