커널 부분 병합 - 가장 좋은 방법은 무엇입니까?

커널 부분 병합 - 가장 좋은 방법은 무엇입니까?

예: 임베디드 지원을 위한 커널 3.16이 있지만 네트워크 무선 드라이버의 3.19 버전이 필요합니다. 전체 커널 대신 이 드라이버만 통합하는 가장 좋은 방법은 무엇입니까?

  1. 병합을 시도했지만 많은 충돌이 발생했습니다.
  2. 3.19에서 3.16으로 파일을 복사하려면 많은 작업이 필요하며 많은 기능이 누락됩니다. 또한 포함 항목을 복사해야 하며 여기에는 다른 포함 항목과 새로운 기능 등이 필요합니다. 결코 끝나지 않거나 결코 작동하지 않는 직업입니다.
  3. 몇 가지 커밋 중에서 선택 diff하고 선별해 보았지만 git diff A..B이것이 실제로 작동하는지 확실하지 않습니다. 때때로 우리는 서로 다른 브랜치의 A..B를 병합하는데, "무엇이 무엇인지"에 대해 생각하는 것은 정말 혼란스럽습니다. 반면에 무선 드라이버에 어떤 옵션이 중요하고 어떤 옵션이 중요하지 않은지 결정해야 합니다.

더 좋은 방법이 있나요?

답변1

결국 나에게 가장 좋은 선택은 다음과 같습니다.

  1. 3.19에서 3.16으로 드라이버 파일을 직접 복사합니다.
  2. 커밋하기 전에 git difftool 덕분에 이전 코드의 모든 변경 사항을 확인하세요.

    • 변경 사항에서 최신 커널 함수를 사용하는 경우 이전 함수로 돌아가거나 3.19 커널에서 최신 함수 파일을 추가하세요.
  3. 컴파일 - 오류가 발생하면 2를 반환합니다.

  4. 시험.
  5. 변경 사항을 커밋합니다.

관련 정보