{"id":333,"date":"2023-02-14T10:47:01","date_gmt":"2023-02-14T01:47:01","guid":{"rendered":"https:\/\/ahnbk.dev\/?p=333"},"modified":"2023-02-14T10:47:46","modified_gmt":"2023-02-14T01:47:46","slug":"wsl2%ec%97%90%ec%84%9c-%ec%9b%b9%ec%ba%a0-%ec%97%b0%ea%b2%b0%ed%95%98%ea%b8%b0-%ec%bb%a4%eb%84%90-%eb%b9%8c%eb%93%9c","status":"publish","type":"post","link":"https:\/\/ahnbk.dev\/?p=333","title":{"rendered":"WSL2\uc5d0\uc11c \uc6f9\ucea0 \uc5f0\uacb0\ud558\uae30 (\ucee4\ub110 \ube4c\ub4dc \ud544\uc694)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">WSL2\uc5d0\uc11c usb-ipd\ub97c \uc774\uc6a9\ud574\uc11c \ub514\ubc14\uc774\uc2a4\ub97c \uc5f0\uacb0\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4\ub9cc, \ud604\uc7ac\uc758 WSL2 \uae30\ubcf8 \ucee4\ub110\uc5d0\uc120 \uc6f9\ucea0\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc6f9\ucea0\uc744 WSL2\uc5d0\uc11c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc120 \ucee4\ub110\uc744 \uc7ac\ube4c\ub4dc\ud574\uc918\uc57c \ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu\ub97c \uc2e4\ud589\ud558\uace0, \uba3c\uc800 \ube4c\ub4dc\uc5d0 \ud544\uc694\ud55c \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev bc libncurses-dev<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c\uc73c\ub85c, \ucee4\ub110 \uc18c\uc2a4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \ud604\uc7ac \ub9b4\ub9ac\uc988\ub41c \ucd5c\uc2e0 \ubc84\uc804\uc740 5.15.90.1\uc785\ub2c8\ub2e4. \uad00\ub828\ub41c Repository\ub294 <a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/microsoft\/WSL2-Linux-Kernel\" target=\"_blank\">https:\/\/github.com\/microsoft\/WSL2-Linux-Kernel<\/a> \uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ mkdir ~\/tmp\n$ cd ~\/tmp\n$ wget https:\/\/github.com\/microsoft\/WSL2-Linux-Kernel\/archive\/refs\/tags\/linux-msft-wsl-5.15.90.1.tar.gz\n$ tar zxf linux-msft-wsl-5.15.90.1.tar.gz<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ cd WSL2-Linux-Kernel-linux-msft-wsl-5.15.90.1\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uae30\uc874 \ucee4\ub110 \uc635\uc158\uc744 \uac00\uc838\uc640\uc11c \ubcf5\uc0ac\ud574\ub193\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ cp \/proc\/config.gz\n$ gunzip config.gz\n$ mv config .config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ucee4\ub110 \ube4c\ub4dc \uc635\uc158\uc744 \uc870\uc815\ud558\uae30 \uc704\ud574\uc11c \ub2e4\uc74c\uc758 \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ make menuconfig<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uce74\uba54\ub77c\uc5d0 \uad00\ub828\ud55c \uba87\uac00\uc9c0 \uc635\uc158\uc744 \uc870\uc815\ud574\uc90d\ub2c8\ub2e4. \uc635\uc158\uc740 Space Bar\ub97c \ub204\ub974\uba74 \uc870\uc815\uac00\ub2a5\ud569\ub2c8\ub2e4. \ud558\uc704 \uba54\ub274\ub97c \ucc3e\uc544\uc11c \ub2e4\uc74c\uacfc \uac19\uc774 \uc124\uc815\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">Device Driver --> &lt;*>  Multimedia Support\nMultimedia Support --> [*] Filter media drivers\nMultimedia Support --> Media device types --> [*] Cameras and video grabbers\nMultimedia Support --> Video4Linux options -> [*] V4L2 sub-device userspace API\nMultimedia Support --> Media drivers --> [*] Media USB Adapters\nMedia USB Adapters --> &lt;*> USB Video Class (UVC)\nMedia USB Adapters --> &lt;*> GSPCA based webcams<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc124\uc815\uc774 \uc644\ub8cc\ub418\uba74, \uc800\uc7a5\ud55c \ud6c4 \ub2e4\uc2dc \ud130\ubbf8\ub110\ub85c \ub098\uc640 \ub2e4\uc74c\uacfc \uac19\uc774 \uc785\ub825\ud558\uc5ec \ube4c\ub4dc\ub97c \uc9c4\ud589\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ make -j8<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ube4c\ub4dc\uac00 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">  GZIP    arch\/x86\/boot\/compressed\/vmlinux.bin.gz\r\n  MKPIGGY arch\/x86\/boot\/compressed\/piggy.S\r\n  AS      arch\/x86\/boot\/compressed\/piggy.o\r\n  LD      arch\/x86\/boot\/compressed\/vmlinux\r\n  ZOFFSET arch\/x86\/boot\/zoffset.h\r\n  OBJCOPY arch\/x86\/boot\/vmlinux.bin\r\n  AS      arch\/x86\/boot\/header.o\r\n  LD      arch\/x86\/boot\/setup.elf\r\n  OBJCOPY arch\/x86\/boot\/setup.bin\r\n  BUILD   arch\/x86\/boot\/bzImage\r\nKernel: arch\/x86\/boot\/bzImage is ready  (#1)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub2e4\uc74c\uc73c\ub85c \ubaa8\ub4c8\uc744 \ube4c\ub4dc\ud558\uace0 \uc124\uce58\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo make modules_install\r\n\r\narch\/x86\/Makefile:142: CONFIG_X86_X32 enabled but no binutils support\r\n  DEPMOD  \/lib\/modules\/5.15.90.1-microsoft-standard-WSL2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610, \ube4c\ub4dc\ub41c \ucee4\ub110\uc744 \uc124\uce58\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo make install\n\r\narch\/x86\/Makefile:142: CONFIG_X86_X32 enabled but no binutils support\r\nsh .\/arch\/x86\/boot\/install.sh 5.15.90.1-microsoft-standard-WSL2 \\\r\n        arch\/x86\/boot\/bzImage System.map \"\/boot\"\r\nrun-parts: executing \/etc\/kernel\/postinst.d\/unattended-upgrades 5.15.90.1-microsoft-standard-WSL2 \/boot\/vmlinuz-5.15.90.1-microsoft-standard-WSL2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\ub610, \ube4c\ub4dc\ub41c \ucee4\ub110 \uc774\ubbf8\uc9c0 <code>vmlinux<\/code>\ub97c C:\\\uc758 \uc784\uc758\uc758 \ub514\ub809\ud1a0\ub9ac\ub85c \ubcf5\uc0ac\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo cp -rf vmlinux \/mnt\/c\/Kernels<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c Ubuntu\uc5d0\uc11c\uc758 \uc791\uc5c5\uc740 \ubaa8\ub450 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800 WSL2\ub97c \uc885\ub8cc\ud569\ub2c8\ub2e4. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">> wsl2 --shutdown<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc708\ub3c4\uc6b0\uc5d0\uc11c \ud648\ub514\ub809\ud1a0\ub9ac\uc758 .wslconfig \ud30c\uc77c\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \uc218\uc815\ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">[WSL2]\r\nnetworkingMode = bridged\r\nvmSwitch = wsl2-external\r\nkernel = C:\\\\Kernels\\\\vmlinux<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \ub2e4\uc2dc Ubuntu\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\">\ucee4\ub110\uc774 \uc798 \ub85c\ub529\ub418\uc5c8\ub294\uc9c0 \ube4c\ub4dc \ubc88\ud638 \ud655\uc778<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ uname -a\r\nLinux DESKTOP-HFMFSCL 5.15.90.1-microsoft-standard-WSL2 #1 SMP Tue Feb 14 09:51:42 KST 2023 x86_64 x86_64 x86_64 GNU\/Linux<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc774\uc81c \uc6f9\ucea0\uc774 \uc798 \uc5f0\uacb0\ub418\ub294\uc9c0 \ud655\uc778\ud574\ubd05\ub2c8\ub2e4.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\uba3c\uc800 \uc708\ub3c4\uc6b0\uc758 \ucee4\ub9e8\ub4dc \ucc3d\uc5d0\uc11c usbipd\ub97c \uc774\uc6a9\ud574 \uc6f9\ucea0\uc744 attach \ud574\uc90d\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">> usbipd wsl list \nBUSID  VID:PID    DEVICE                                                        STATE   \n2-1    27c6:533c  Goodix fingerprint                                            Not attached  \n2-2    1a86:7523  USB-SERIAL CH340 (COM6)                                       Not attached\n2-5    0c45:6a0c  Integrated Webcam                                             Not attached \n2-14   8087:0026  Intel(R) Wireless Bluetooth(R)                                Not attached \n6-2    0bda:8153  Realtek USB GbE Family Controller                             Not attached \n7-1    05ac:024f  USB Input Device                                              Not attached \n7-3    046d:c539  USB Input Device                                              Not attached \n7-4    0bda:49a7  Realtek USB2.0 Audio, USB Input Device                        Not attached\n\n> usbipd wsl attach -b 2-5<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu\ub97c \uc2e4\ud589\ud558\uace0 \ucee4\ub110 \uba54\uc2dc\uc9c0\ub97c \ud655\uc778\ud574\ubd05\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo dmesg\n...\n[  120.428941] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)\r\n[  120.430636] vhci_hcd vhci_hcd.0: devid(131077) speed(3) speed_str(high-speed)\r\n[  120.431905] vhci_hcd vhci_hcd.0: Device attached\r\n[  120.781071] usb 1-1: new high-speed USB device number 2 using vhci_hcd\r\n[  120.931358] usb 1-1: SetAddress Request (2) to port 0\r\n[  120.985548] usb 1-1: New USB device found, idVendor=0c45, idProduct=6a0c, bcdDevice= 1.30\r\n[  120.986274] usb 1-1: New USB device strings: Mfr=2, Product=1, SerialNumber=0\r\n[  120.986647] usb 1-1: Product: Integrated_Webcam_HD\r\n[  120.986898] usb 1-1: Manufacturer: CKFJH67N3010300037T0\r\n[  121.004725] usb 1-1: Found UVC 1.00 device Integrated_Webcam_HD (0c45:6a0c)\r\n[  121.023621] input: Integrated_Webcam_HD: Integrate as \/devices\/platform\/vhci_hcd.0\/usb1\/1-1\/1-1:1.0\/input\/input0\r\n[  121.026970] usb 1-1: Found UVC 1.00 device Integrated_Webcam_HD (0c45:6a0c)\r\n[  121.038030] input: Integrated_Webcam_HD: Integrate as \/devices\/platform\/vhci_hcd.0\/usb1\/1-1\/1-1:1.2\/input\/input1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\/dev \ub514\ub809\ud1a0\ub9ac\uc5d0 video0\uac00 \uc0dd\uc131\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ ll \/dev\/video*\r\ncrw------- 1 root root 81, 0 Feb 14 10:31 \/dev\/video0\r\ncrw------- 1 root root 81, 1 Feb 14 10:31 \/dev\/video1\r\ncrw------- 1 root root 81, 2 Feb 14 10:31 \/dev\/video2\r\ncrw------- 1 root root 81, 3 Feb 14 10:31 \/dev\/video3<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">v4l2-ctrl \uba85\ub839\uc5b4\ub85c \ub514\ubc14\uc774\uc2a4 \ud655\uc778<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">$ sudo v4l2-ctl --list-devices\r\nIntegrated_Webcam_HD: Integrate (usb-vhci_hcd.0-1):\r\n        \/dev\/video0\r\n        \/dev\/video1\r\n        \/dev\/video2\r\n        \/dev\/video3\r\n        \/dev\/media0\r\n        \/dev\/media1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\uc601\uc0c1\uc740&#8230; \uc81c \uacbd\uc6b0\uc5d4 \uac80\uc740\uc0c9 \ud654\uba74\ub9cc \ub098\uc624\uace0 \uc788\ub294\ub370, \uc774 \ubd80\ubd84\uc740 \ub2e4\uc2dc \ud655\uc778\ud574\ubd10\uc57c\uaca0\uc2b5\ub2c8\ub2e4. \ub610 sudo \uad8c\ud55c\uc73c\ub85c\ub9cc \uc811\uadfc\uc774 \uac00\ub2a5\ud55c \uc810\ub3c4 \ubb54\uac00 \uc124\uc815\uc774 \ub354 \ud544\uc694\ud55c\ub4ef \ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WSL2\uc5d0\uc11c usb-ipd\ub97c \uc774\uc6a9\ud574\uc11c \ub514\ubc14\uc774\uc2a4\ub97c \uc5f0\uacb0\ud560 \uc218 \uc788\uc5c8\uc2b5\ub2c8\ub2e4\ub9cc, \ud604\uc7ac\uc758 WSL2 \uae30\ubcf8 \ucee4\ub110\uc5d0\uc120 \uc6f9\ucea0\uc744 \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \uc6f9\ucea0\uc744 WSL2\uc5d0\uc11c \uc0ac\uc6a9\ud558\uae30 \uc704\ud574\uc120 \ucee4\ub110\uc744 \uc7ac\ube4c\ub4dc\ud574\uc918\uc57c \ud569\ub2c8\ub2e4. Ubuntu\ub97c \uc2e4\ud589\ud558\uace0, \uba3c\uc800 \ube4c\ub4dc\uc5d0 \ud544\uc694\ud55c \ud328\ud0a4\uc9c0\ub97c \uc124\uce58\ud574\uc90d\ub2c8\ub2e4. \ub2e4\uc74c\uc73c\ub85c, \ucee4\ub110 \uc18c\uc2a4\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \ud604\uc7ac \ub9b4\ub9ac\uc988\ub41c \ucd5c\uc2e0 \ubc84\uc804\uc740 5.15.90.1\uc785\ub2c8\ub2e4. \uad00\ub828\ub41c Repository\ub294 https:\/\/github.com\/microsoft\/WSL2-Linux-Kernel \uc5d0\uc11c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uae30\uc874 \ucee4\ub110 \uc635\uc158\uc744 \uac00\uc838\uc640\uc11c \ubcf5\uc0ac\ud574\ub193\uc2b5\ub2c8\ub2e4. \ucee4\ub110 \ube4c\ub4dc \uc635\uc158\uc744 \uc870\uc815\ud558\uae30 \uc704\ud574\uc11c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[66,67,64,65],"class_list":["post-333","post","type-post","status-publish","format-standard","hentry","category-wsl2","tag-usbipd","tag-v4l2","tag-wls2","tag-65"],"_links":{"self":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts\/333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=333"}],"version-history":[{"count":3,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts\/333\/revisions"}],"predecessor-version":[{"id":336,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=\/wp\/v2\/posts\/333\/revisions\/336"}],"wp:attachment":[{"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=333"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=333"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahnbk.dev\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}