PIC 모드를 지원하기 위해 커널 패치 적용

PIC 모드를 지원하기 위해 커널 패치 적용

Kali Linux에서 TP Link AC 600용 드라이버를 컴파일하려고 하면 오류가 발생합니다 amd64 4.7.0 gcc 5.4.1 Debian 5.4.1-3.

오류는 "오류 코드 모델 커널이 PIC 모드를 지원하지 않습니다"입니다.

약간의 무감각 끝에 비슷한 문제를 겪고 있는 사람과 패치를 게시한 사람을 발견했습니다.

패치는 어떻게 적용하고, 어디에 적용하나요?

다른 링크는 다음과 같습니다.커널을 컴파일할 수 없습니다: 오류, 커널은 PIC 모드를 지원하지 않습니다.

답변1

Ubuntu 및 Intel 드라이버와 관련하여 Intel은 Ubuntu의 LTS 버전에 대해서만 드라이버를 테스트했습니다(Todd Fujinaka의 답변 보기). 따라서 Ubuntu를 16.10에서 16.04.1 LTS로 다운그레이드해야 합니다(유지하면서 다시 설치/home).

Kali와 같은 다른 모든 Debian 기반 배포판의 경우에도 마찬가지입니다. 드라이버 공급업체에서 명시적으로 지원하는 버전으로 다운그레이드(즉, 다시 설치)해야 합니다. gcc PIC 이전 버전입니다.

기분 좋은 답변은 아닐 수도 있지만 기술적으로는 맞는 답변입니다. 커널 개발자가 아닌 경우 할 수 있는 일은 커널 메일링 리스트에 가서 개발자가 드라이버 코드 작업을 할 수 있는지 정중하게 물어보는 것뿐입니다. . 때로는 효과가 있지만 인내심을 가지십시오.

답변2

패치를 적용하는 과정은 매우 간단합니다. 다음과 같은 커널 디렉토리와 패치 파일이 있다고 가정합니다.

- /usr/src/kernels (or where you have the kernel directory)
---- /user/src/kernels/kernel_directory
---- /user/src/kernels/patch_file

어떤 형식으로 패치를 받았는지(보통 .gz, .bz2 또는 .xz)에 따라 다른 명령을 사용하여 패치를 추출해야 합니다. 로 이동 kernel_directory하여 다음 명령을 실행 해야 합니다 .

gzip -cd ../patch_file | patch -p1- 이것은 gzip 패치용입니다.

bzip2 -cd ../patch_file | patch -p1- 이것은 bzip 패치용입니다.

xz -cd ../patch_file | patch -p1- 이것은 xz 패치용입니다.

/usr/src/kernels/patch_file패치 파일을 커널에 적용합니다 /usr/src/kernels/kernel_directory. 먼저 로 이동하여 /usr/src/kernels/kernel_directory거기에서 명령을 실행 해야 합니다 .

커널 디렉토리의 복사본을 만들어 백업에 있는 커널 복사본을 사용하여 프로세스를 수행하면 쉽게 되돌릴 수 있습니다.

참고: 이는 패치를 적용하는 프로세스일 뿐이며 커널에 적합한 패치를 사용하고 있다고 가정하면 오류가 발생하지 않습니다. 커널 공식 파일과 같은 패치 파일이 필요합니다.

관련 정보