OpenSUSE 12.1 64비트에서 커널을 3.1.9에서 3.2.9로 업그레이드했는데 재부팅했을 때 X-windows가 부팅을 거부하고 셸에 들어갔습니다. 수동으로 실행해 보았지만 startx
여전히 좋지 않습니다.
NVidia 드라이버를 제거하여 X-windows를 작동시킬 수 있었습니다(최신 버전이 있습니다). 다시 설치하려고 하면 설치 프로그램에서 드라이버가 GCC 4.5로 컴파일되었기 때문에 GCC 4.6으로 컴파일된 커널과 호환되지 않는다고 불평했습니다. 애초에 그게 작동하지 않은 이유라고 생각하는 것이 안전하다고 생각합니다 ...
Bumblebee 저장소에서 NVidia 드라이버를 설치하는 것(원래는 NVIDIA-Linux-x86_64-295.20.run
NVidia 사이트의 설치 프로그램에서 설치했습니다)도 작동하지 않았습니다(이번에는 검은색 화면이 나타났고 드라이버를 제거하기 위해 비상 안전 모드를 사용해야 했습니다).
이제 Linux용 NVidia 드라이버가 오픈 소스가 아니라는 것을 알고 있으므로 직접 컴파일할 수는 없지만 최신 커널에서 작동하도록 하는 다른 방법이 있습니까? 아니면 NVidia가 릴리스할 때까지 기다려야 합니까? GCC 4.6 컴파일 커널의 새 버전이 있습니까?
고쳐 쓰다
NVidia에 이메일을 보냈는데 기술 지원팀에서 오류 메시지에 대한 해석이 잘못되었음을 확인했습니다. NVidia 드라이버는 GCC 4.6으로 컴파일됩니다. 이는 GCC 4.5로 컴파일된 Linux 커널입니다.
따라서 해결책은 분명합니다. 나만의 커널을 컴파일해야 합니다...
답변1
확실히 작업을 수행할 수 있는 솔루션이 있지만 고통스러울 수도 있습니다. kernel
필요한 것을 컴파일하고 설치한 GCC 4.5
다음 설치하십시오 NVidia driver
.
자신의 코드를 컴파일하는 것이 가능 kernel
하더라도 거의 결코 쉽지 않기 때문에 이는 어려울 것입니다 . configfile
시스템에 kernel
컴파일이 필요한 구성 요소가 포함되어 있을 수 있습니다 GCC 4.6
. 이러한 구성 요소는 제대로 작동하지 않거나 전혀 작동하지 않습니다.
여기서 안전한 옵션은 문제를 NVidia
이전 문제에 보고하고 기다리는 것 입니다 kernel
.
나는 이 질문에서 파생된 질문을 했습니다.여기.
고쳐 쓰다: 위 질문에 대한 답변이 도착했는데, 중요한 부분은 이렇습니다.
바이너리의 버전 문자열을 패치할 수 있습니다. 이렇게 하면 커널이 모듈을 로드하도록 속일 수 있지만 내부 데이터 구조의 데이터 손상을 일으킬 위험이 있습니다.