VyOS 커널용 패치를 작성하는 방법

VyOS 커널용 패치를 작성하는 방법

저는 VyOS 개발이 처음입니다. VyOS 커널 모듈에서 정보를 가져와 이를 netlink 소켓에 쓰는 패치를 작성했습니다. 그런데 문제는 내가 정의한 함수를 호출하기 위해 커널 모듈 코드를 직접 편집해야 할지, 아니면 패치를 작성해야 할지 잘 모르겠다는 점이다. 패치 파일을 만들어야 한다면 커널 소스의 어디에 넣어야 합니까? diff 명령을 사용하여 패치 파일을 만들었습니다.

답변1

오랜 검색 끝에 제가 직면한 문제를 해결했습니다. 여러분 중에 같은 문제에 봉착한 경우를 대비해 결론은 다음과 같습니다.

  1. 예, VyOS 개발에서 커널 모듈 코드를 편집할 수 있습니다. 그러나 이 접근법은 그다지 주목을 받지 못했다.

  2. 예, 커널 모듈용 패치도 작성할 수 있습니다. 에 설명된 대로 GIT 형식이어야 합니다.VyOS 패치 작성 방법. 곧 .patchVyOS 커널 코드에서 파일을 배치할 위치를 업데이트할 예정입니다 .

디버그 출력 검사를 사용하려면 옵션을 dmesg사용하십시오 . KERN_DEBUG다른 사람들에 대해서는 잘 모르기 때문입니다.

printk(KERN_DEBUG "%s: Debuging info \n", __FUNCTION__);

또한 VyOS 커널의 수정 사항을 확인하기 위해 항상 완전한 ISO 파일을 만들 필요는 없습니다. 다음 명령을 실행하면 됩니다.

*각 경로는 경로 문제를 방지하기 위해 매번 기본 iso 빌드 디렉터리에서 설명됩니다.

cd build-iso/
sudo make clean-linux-image
sudo make linux-image

그 다음에

cd buil-iso/pkgs/

여기에서 이러한 데비안 패키지를 찾을 수 있습니다.

buil-iso/pkgs/linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
buil-iso/pkgs/linux-libc-dev_999.dev_amd64.deb
buil-iso/pkgs/linux-vyatta-kbuild_999.dev_amd64.deb

이 파일을 설치된 VyOS 시스템에 복사하고 거기에 설치하십시오.

dpkg -i linux-image-3.13.11-1-amd64-vyos_999.dev_amd64.deb
dpkg -i linux-libc-dev_999.dev_amd64.deb
dpkg -i linux-vyatta-kbuild_999.dev_amd64.deb

reboot시스템을 사용하여 변경 사항을 확인하십시오 dmesg.

관련 정보