[컴] wsl2 에서 bcc 설치 및 실행

wsl2 에서 bcc 설치 및 실행

절차

  1. wsl2 kernel build
  2. bcc 설치 및 실행

1. wsl2 kernel build

wsl2 linux kernel source 를 받아서 wsl2 ubuntu 에서 build 한다.

  1. 다음 link 에서 kernel source 를 받자.

  2. build 를 위한 config 설정

  3. build

    • cpu : i5-9400F @ 2.9GHz

    • wsl2 에서 build, 대략 27분 소요

    • <proj_root>\vmlinux : build 후 생성된 kernel

      sudo apt install build-essential flex bison dwarves libssl-dev libelf-dev
      tar xvf WSL2-Linux-Kernel-linux-msft-wsl-5.10.74.3.tar.gz
      cd WSL2-Linux-Kernel-linux-msft-wsl-5.10.74.3
      
      # 만약, 커널 버전 이름을 변경하고 싶다면, 아래처럼 하면 된다. 굳이 수정할 필요는 없다.
      # export KERNELRELEASE=5.10.74.3-microsoft-standard
      # make KCONFIG_CONFIG=Microsoft/config-wsl KERNELRELEASE=$KERNELRELEASE -j 4
      
      sudo apt-get install flex bison libssl-dev libelf-dev dwarves
      
      cp ./Microsoft/config-wsl .config
      # config path 설정은 아래처럼 할 수 있다.
      # make KCONFIG_CONFIG=Microsoft/config-wsl -j 4
      make -j 4
      make modules -j 4
      sudo make modules_install
    • ls /lib/modules/ : /lib/modules 가 만들어진다.

  4. 새로 build 한 kernel 을 사용하도록 설정

    • vmlinux를 windows 로 복사
    mkdir /mnt/c/Users/myuserid/kernel
    cp vmlinux /mnt/c/Users/myuserid/kernel/vmlinux-5.10.74.3
    • c:\Users\myuserid\.wslconfig 설정
    [wsl2]
    
    kernel=c:\\Users\\myuserid\\kernel\\vmlinux-5.10.74.3
  5. 새롭게 wsl2 시작

    wsl --shutdown
    wsl -d Ubuntu-20.04
    ...
    # kernel version 확인
    uname -r
    5.10.74.3-microsoft-standard-WSL2

2. bcc 설치 및 실행

sudo apt-get update
sudo apt-get install bpfcc-tools
sudo opensnoop-bpfcc

opensnoop-bpfcc 를 켜놓은 상태에서 curl 을 한번 쳐보면, 이 tool이 어떻게 동작하는지 볼 수 있다.

opensnoop 은 `open()`` syscall에 대해 한 줄의 출력을 print 한다. 이렇게 어떤 file 이 open 됐는지를 보면서, data file 들, config filed 들 , log file 들이 무엇인지 확인할 수 있다.(참고: 1.2. opensnoop | bcc/docs/tutorial.md)

Reference

  1. bcc/INSTALL.md at master · iovisor/bcc · GitHub
  2. Enable EBPF on WSL2 · GitHub
  3. Advanced settings configuration in WSL | Microsoft Learn

댓글 없음:

댓글 쓰기