
드라이버가 커널로 컴파일된다는 점을 이해하지만 API가 커널과 긴밀하게 결합된 이유는 무엇입니까?
업데이트가 있을 때마다 드라이버를 다시 설치할 필요가 없도록 드라이버를 설치할 수 있습니까?
드라이버를 다시 사용하고 컴파일할 수 있다는 사실은 드라이버가 유효하다는 것을 의미합니다. 그렇다면 왜 이 작업을 수동으로 수행해야 합니까?
링크내가 사용하는 드라이버에
AMD Catalyst™ 13.1 독점 Linux x86 디스플레이 드라이버
AMD 라데온 HD 7700 시리즈
현재 실행 중
Linux 3.5.0-25-generic #39-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux
답변1
내부 커널 인터페이스가 변경되었을 수 있으므로 기본 커널 트리(물론 독점 드라이버 포함)에 포함되지 않은 모든 드라이버는 새 커널 버전에 맞게 다시 빌드해야 합니다. 드라이버는 커널 공간에서 실행되고 내부 커널 인터페이스를 사용하기 때문에 커널과 긴밀하게 결합됩니다. 애플리케이션은 다른 게임이며 사용자 영역과 커널 인터페이스인 syscall 인터페이스를 사용하며 해당 인터페이스는 매우 안정적입니다.
Greg Kroah-Hartman이 이 주제에 관한 훌륭한 기사를 게시했습니다.여기.
답변2
개인적인 경험을 바탕으로 새 커널은 완전히 새로운 드라이버/모듈 디렉터리에 배치되며 이전 디렉터리에서 새 디렉터리로 복사할 수 있는 드라이버/모듈이 무엇인지 파악하려고 시도하지 않습니다.
이전 드라이버/모듈을 새 디렉터리에 복사할 수는 있지만 (내가 아는 한) 드라이버의 커널 버전 간 호환성을 자동으로 확인하는 좋은 방법은 없습니다.
나는 그것을 생각한다5월드라이버를 재구축하기 위해 커널 변경 시 자동으로 실행되는 스크립트가 포함된 패키지를 생성할 수도 있지만, 사용 중인 특정 드라이버에서는 그런 일이 발생하지 않는 것 같습니다.
그리고 모든 운영 체제/비디오 드라이버 조합에 대한 설치/업그레이드 스크립트를 작성하고 테스트하는 것이 어렵기 때문에 이는 드문 일이 아닙니다.