↑日記で日々積み重ねた情報をトップの「わんこのページ」にまとめています。

おのたく日記 [RDF] YouTubeも始めました→


2006-07-01(Sat) [長年日記]

[iPod][VMware] Linux kernel 2.6.16-2でVMWare Guest OSでiPodを認識させる

6月22日の日記で書いたように、Linuxのカーネル2.6.8以降だと、VMWare for Linux 5.5で動かしているGuestOS(WindowsXP)のiTunesでiPodが認識されない。(ただのUSBストレージとして認識されてしまう)

Oh if it is SuSE 10 I have a good idea what is going on there.

The recent kernel change will force the device receive more side effect

IOs. There is no way I can solve it without change the kernel.

If you are brave, try the following patch on your kernel and see

if it helps.

[VMTN: Re: Synshronize itunes with Ipodより引用]

ってことで、kernelにパッチをすると、動くようになる情報があった。

そこで、Debian Backportsの最新カーネル 2.6.16-2にパッチを当てることにした。

[Debian]カーネルソースのコンパイル

まず、ソースのコンパイル必要なDebianパッケージを

# apt-get build-dep linux-image-2.6.16-2-em64t-p4-smp

で取得しておく。次にソースの取得 /etc/apt/source.listにdeb-srcを書いておいて、

$ apt-get source linux-image-2.6.16-2-em64t-p4-smp

でソースを手に入れる。

ソースへのパッチは、VMTNの情報では、usb.cにパッチするという事だったけど、usb.cには該当箇所が無くなっていたので、grepで探して、driver.cに有ることを発見したので、driver.cにパッチして再Buildした。手順は以下の通り

$ cd linux-2.6-2.6.16/

$ cd drivers/usb/core/

$ grep usb_unbind *.c

$ vi driver.c

$ cp -p driver.c driver.c.org

$ vi driver.c

$ cd ../../..

$ dpkg-buildpackage -us -uc -b -rfakeroot

ちなみにパッチは

--- drivers/usb/core/driver.c.org 2006-03-20 14:53:29.000000000 +0900

+++ drivers/usb/core/driver.c 2006-07-02 00:22:55.000000000 +0900

@@ -229,9 +229,11 @@

driver->disconnect(intf);

/* reset other interface state */

+#if 0 /* iPod Connect from VMWare Guest OS */

usb_set_interface(interface_to_usbdev(intf),

intf->altsetting[0].desc.bInterfaceNumber,

0);

+#endif

usb_set_intfdata(intf, NULL);

intf->condition = USB_INTERFACE_UNBOUND;

mark_quiesced(intf);

のようになった。

Buildに、すごい時間が掛かって(まちきれず寝たけど11時間半くらい掛かったのかも)「なんでだろう」と思ったら、em64t-p4-smpだけではなくて、xen用などすべてのカーネルを作成していた。必要なカーネルパッケージのみBuildする方法を探さなくては…

linux-doc-2.6.16_2.6.16-13bpo1_all.deb

linux-headers-2.6-amd64-generic_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-amd64-k8-smp_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-em64t-p4-smp_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-vserver-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-xen-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-xen-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-headers-2.6-xen-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-all-amd64_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-all_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-amd64-generic_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-amd64-k8-smp_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-em64t-p4-smp_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-vserver-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-vserver_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-xen-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-xen-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-xen-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-xen-vserver_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2-xen_2.6.16-13bpo1_amd64.deb

linux-headers-2.6.16-2_2.6.16-13bpo1_amd64.deb

linux-image-2.6-amd64-generic_2.6.16-13bpo1_amd64.deb

linux-image-2.6-amd64-k8-smp_2.6.16-13bpo1_amd64.deb

linux-image-2.6-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6-em64t-p4-smp_2.6.16-13bpo1_amd64.deb

linux-image-2.6-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-2.6-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6-vserver-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-2.6-xen-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6-xen-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-2.6-xen-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-amd64-generic_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-amd64-k8-smp_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-em64t-p4-smp_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-vserver-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-xen-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-xen-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-2.6.16-2-xen-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-amd64-generic_2.6.16-13bpo1_amd64.deb

linux-image-amd64-k8-smp_2.6.16-13bpo1_amd64.deb

linux-image-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-em64t-p4-smp_2.6.16-13bpo1_amd64.deb

linux-image-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-vserver-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-xen-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-image-xen-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-image-xen-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-manual-2.6.16_2.6.16-13bpo1_all.deb

linux-modules-2.6.16-2-xen-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-modules-2.6.16-2-xen-em64t-p4_2.6.16-13bpo1_amd64.deb

linux-modules-2.6.16-2-xen-vserver-amd64-k8_2.6.16-13bpo1_amd64.deb

linux-patch-debian-2.6.16_2.6.16-13bpo1_all.deb

linux-source-2.6.16_2.6.16-13bpo1_all.deb

linux-support-2.6.16-2_2.6.16-13bpo1_all.deb

linux-tree-2.6.16_2.6.16-13bpo1_all.deb

本日のPingbacks(全0件)

Google Web検索 on-o.com内を検索