배경어떻게 제대로 체리는 리눅스 커널 자식 트리에서 문제가 커밋을 선택합니다
나는 위의 리눅스 커널 버전 4.12 및부터 제대로 작동하지 않는 장치를 가지고있다. 특정 커밋이 어떤 문제를 일으켰는지 확인하고 싶습니다. 나의 현재의 흐름은 다음과 같습니다
이- 는 리눅스 커널이 ID
- 실행
git checkout <commit id>
- 재구성 커널
make menuconfig
커밋하고, 컴파일, 개인에 here - 클릭하면 커밋에서 로그를 저지 복사보기
make -j32
- 장치에 커널을 설치하고 문제가 지속되는지 확인하십시오.
- 그렇지 않은 경우 커밋 범위를 좁히고 t ㅇ 1 단계
문제점
나는이 지루한 과정을 겪고있는 동안, 나는 컴파일 된 커널 버전 (당신은 또한 Makefile
읽기를 통해이를 볼 수 있습니다) 다른 것을 발견했다. 그러나 Linux 커널 커밋 로그를 통해 버전이 변경되지는 않습니다. 사실, git diff <first commit id> <second commit id>
을 시도한 후, 1 단계에서 리눅스 커널 커밋 로그에 따라 두 번째 커밋 ID가 첫 번째 커밋 ID보다 1 커밋 뒤에있는 경우, 웹 사이트에 반영되지 않은 변경 사항이있는 것으로 나타났습니다.
질문
는 왜 이런 일이 벌어지고? 내 장치에서 문제를 일으킨 특정 커밋을 어떻게 올바르게 발견해야합니까?
커밋이 * 병합되지 않은 상태에서 * merge * commit으로 재생하려고하는 것일 수 있습니다. 아래 대답은 올바른 방향을 가리 킵니다. – 0andriy