3월 4, 2022

리눅스 커널에 기여하기 위한 단계

가장 크고 가장 빠르게 움직이는 오픈 소스 프로젝트 중 하나인 리눅스 커널은 약 53,600 개의 파일과 거의 2 천만 줄의 코드로 구성되어 있다. 전 세계적으로 15,600 명 이상의 프로그래머가 이 프로젝트에 기여하고 있으며,리눅스 커널은 협업을 위한 메인테이너 모델을 따르고 있다.

이 기사에서는 첫 번째 커널 기여와 관련된 단계에 대한 빠른 체크리스트를 제공하고 패치를 제출하기 전에 알아야 할 사항을 살펴 보겠습니다. 커널뉴비 퍼스트 커널 패치 튜토리얼을 읽어보시기 바랍니다.

커널 기여

1 단계:시스템 준비.

이 문서의 단계는 시스템에 다음 도구가 있다고 가정합니다:

  • 텍스트 편집기
  • 이메일 클라이언트
  • 버전 제어 시스템(예:자식)

2 단계:리눅스 커널 코드 저장소 다운로드:

git clone -b staging-testing
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git

현재 구성 복사:

cp /boot/config-`uname -r`* .config

3 단계:커널 빌드/설치.

make -jX
sudo make modules_install install

4 단계:분기를 만들고 전환하십시오.

git checkout -b first-patch

5 단계:최신 코드 베이스를 가리키도록 커널을 업데이트합니다.

git fetch origin
git rebase origin/staging-testing

6 단계:코드 베이스를 변경합니다.

make명령을 사용하여 다시 컴파일하여 변경에 오류가 발생하지 않도록 합니다.

7 단계:변경 사항을 커밋하고 패치를 만듭니다.

git add <file>
git commit -s -v
git format-patch -o /tmp/ HEAD^

주제는 파일 이름에 대한 경로를 콜론으로 구분한 다음 패치가 명령형 시제로 수행하는 경로로 구성됩니다. 빈 줄 후 패치의 설명과 필수 서명 오프 태그와,마지막으로,패치의 차이를 온다.

다음은 간단한 패치의 또 다른 예입니다.

mutt -H /tmp/0001-<whatever your filename is>

패치를 보낼 메인테이너의 목록을 알고,사용 get_maintainer.pl 스크립트.

첫 번째 패치를 제출하기 전에 알아야 할 사항

  • 그렉 크로아-하트만의 스테이징 트리는 첫 번째 패치를 제출하기에 좋은 장소입니다. 패치 전송 프로세스에 익숙해지면 복잡성이 증가한 하위 시스템 특정 패치를 보낼 수 있습니다.
  • 코드에서 코딩 스타일 문제를 수정하는 것으로 시작할 수도 있습니다. 자세히보기 리눅스 커널 코딩 스타일 설명서를 참조하십시오.
  • 스크립트 checkpatch.pl 당신을 위해 코딩 스타일 오류를 감지합니다. 예를 들어,실행:
    perl scripts/checkpatch.pl -f drivers/staging/android/* | less
  • 당신은 개발자가 불완전 왼쪽 수행 할 작업을 완료 할 수 있습니다:
    find drivers/staging -name TODO 
  • 코시넬은 패턴 매칭을 위한 유용한 도구입니다.
  • 커널 메일 링 아카이브를 읽으십시오.
  • 리눅스를 통해 이동합니다.힘내 로그 영감을 이전 저자에 의해 커밋을 볼 수 있습니다.
  • 참고:패치 검토자와 통신하려면 맨 위로 게시하지 마십시오! 예:

    잘못된 길:

    크리스,
    예 내일 2 층에서 회의를 예약하겠습니다.
    >2013 년 4 월 26 일 금요일 오전 9 시 25 분에 크리스는 다음과 같이 썼다.
    > 내일 회의를 예약하시겠습니까?
    > 2. 사무실에서 어느 층에?
    > 3. 당신에게 적합한 시간은 무엇입니까?

    (마지막 질문은 의도하지 않게 대답에 답이 남지 않았음을 알 수 있습니다.)

    올바른 방법:

    크리스,
    아래 내 답변을 참조하십시오…
    >2013 년 4 월 26 일 금요일 오전 9 시 25 분에 크리스는 다음과 같이 썼다.
    > 내일 회의를 예약하시겠습니까?
    네,내일은 괜찮습니다.
    > 2. 사무실에서 어느 층에?
    2 층에 보관합시다.
    > 3. 당신에게 적합한 시간은 무엇입니까?
    09:00 오전 괜찮을 것입니다.

    (모든 질문에 답했고,이 방법은 독서 시간을 절약 할 수 있습니다.)

  • 유딥툴라 챌린지는 커널의 기초를 배울 수 있는 좋은 방법입니다.

자세한 내용은 커널 뉴비 퍼스트 커널 패치 자습서를 참조하십시오. 커널 뉴비 메일링 리스트 또는 커널뉴비 채널에서 질문하실 수 있습니다.

답글 남기기

이메일 주소는 공개되지 않습니다.