top of page
작성자 사진Paran Lee

Linux Kernel DEPT(Dependency Tracker)

최종 수정일: 11월 18일


메일링 리스트에서 패치 적용해서 빌드하기


$ git clone --branch v6.9-rc7 --depth 1 https://github.com/torvalds/linux.git linux-v6.9-rc7-dept

$ sudo apt install b4


Analyzing 29 messages in the thread

Analyzing 591 code-review messages

Checking attestation on all messages, may take a moment...

---

[PATCH v14 1/28] llist: Move llist_{head,node} definition to types.h

[PATCH v14 2/28] dept: Implement Dept(Dependency Tracker)

[PATCH v14 3/28] dept: Add single event dependency tracker APIs

....

---

Total patches: 28

---

Cover: ./v14_20240508_byungchul_dept_dependency_tracker.cover

Base: using specified base-commit dd5a440a31fae6e459c0d6271dddd62825505361

git checkout -b v14_20240508_byungchul_sk_com dd5a440a31fae6e459c0d6271dddd62825505361

git am ./v14_20240508_byungchul_dept_dependency_tracker.mbx



$ git checkout -b v14_20240508_byungchul_sk_com dd5a440a31fae6e459c0d6271dddd62825505361

새로 만든 'v14_20240508_byungchul_sk_com' 브랜치로 전환합니다


$ git am ./v14_20240508_byungchul_dept_dependency_tracker.mbx

적용하는 중: llist: Move llist_{head,node} definition to types.h

적용하는 중: dept: Implement Dept(Dependency Tracker)

적용하는 중: dept: Add single event dependency tracker APIs


$ git shortlog

Byungchul Park (28):

llist: Move llist_{head,node} definition to types.h

dept: Implement Dept(Dependency Tracker)

dept: Add single event dependency tracker APIs

dept: Add lock dependency tracker APIs


이제 kernel hacking -> Lock debugging 항목에서 Dependency Tracking 항목을 켠다.

커널을 빌드해주면 된다.


QEMU 가상 머신 만들기


ubuntu 24.04 배포판 이미지와 컴파일한 커널을 이용해서 DEPT 를 시험해 볼 VM 을 만들어 보자.

이번 포스팅에서는 x86_64 기반으로 만들어볼 예정이다.


아래처럼 데일리 빌드의 우분투 이미지를 다운로드 받는다. 아래의 예시는 24.10 버전의 우분투 메이트를 다운로드 받았다.

그리고 QEMU 디스크를 생성한다.

$ qemu-img create -f qcow2 ubuntu2410.qcow 32G

그리고 QEMU 디스크에 다운로드 받은 우분투를 설치한다.

$ qemu-system-x86_64 -smp 8 -m 8G -enable-kvm --cdrom oracular-desktop-amd64.iso -drive file=ubuntu2410.qcow,format=qcow2

기존에 빌드한 DEPT 커널과 리눅스의 설치가 끝난 디스크를 이용해서 부팅하면 된다.

$ qemu-system-x86_64 -smp 8 -m 8G -enable-kvm -nographic -kernel linux-v6.9-rc7-dept/arch/x86/boot/bzImage -hda ubuntu2410.qcow -append 'root=/dev/sda2 quiet splash oops=panic panic=-1 ftrace_dump_on_oops=orig_cpu slub_debug=UZ nokaslr'

Arm64 버전은 아래 문서를 참고하자




조회수 31회댓글 0개

관련 게시물

전체 보기

Comments


bottom of page