| 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が使えない == |