커널 컴파일을 배우기 위해 이것을 따르고 있습니다. 나는 사용했다
apt-get source linux-image-$(uname -r)
현재 사용중인 Linux 커널의 소스 코드를 다운로드하십시오.
위 명령을 실행 한 후 다음 파일 및 디렉토리가 다운로드되었습니다.
user $ ls -l
total 130972
drwxrwxr-x 27 sps sps 4096 Oct 16 03:10 linux-lts-vivid-3.19.0
-rw-rw-r-- 1 sps sps 10980684 Oct 5 10:54 linux-lts-vivid_3.19.0-30.34~14.04.1.diff.gz
-rw-rw-r-- 1 sps sps 7396 Oct 5 10:54 linux-lts-vivid_3.19.0-30.34~14.04.1.dsc
-rw-rw-r-- 1 sps sps 123115155 May 6 21:35 linux-lts-vivid_3.19.0.orig.tar.gz
user $
에서 같은 페이지가 언급 :
커널을 만드는 것은 매우 쉽습니다. 작업 디렉토리를 커널 소스 트리의 루트로 변경 한 후 다음 명령을 입력하십시오.
그러나 어느 것이 “커널 소스 트리의 루트”인지 확실하지 않습니다.
현재 디렉토리입니까 (내가 실행 한 위치 apt-get source ...
와 위에 나열된 파일이있는 위치)?
또는 디렉토리입니까?
drwxrwxr-x 27 sps sps 4096 Oct 16 03:10 linux-lts-vivid-3.19.0
또는 타르볼을 추출해야합니까?
-rw-rw-r-- 1 sps sps 123115155 May 6 21:35 linux-lts-vivid_3.19.0.orig.tar.gz
에 대한 출력 uname -r
:
user $ uname -r
3.19.0-30-generic
user $
답변
로부터 데비안 위키 :
소스 패키지 는 원하는 소프트웨어를 컴파일하거나 빌드하는 데 필요한 모든 파일을 제공합니다.
가장 간단한 형태로 3 개의 파일로 구성됩니다.
.tar.gz로 끝나는 업스트림 타르볼
.dsc로 끝나는 설명 파일. 파일 이름과 내용 (Source : 키워드 뒤)에 패키지 이름이 들어 있습니다.
업스트림 소스에 대한 변경 사항과 데비안 패키지 용으로 생성 된 모든 파일이 포함 된 tarball.
- 이것은 .debian.tar.gz를 가지고 있습니다 (소스 형식 : 3.0)
- 또는 .diff.gz 결말 (소스 형식 : 1.0)
우분투와 동일하며 귀하의 경우 :
- “linux-lts-vivid-3.19.0”: 업스트림 타르볼 “linux-lts-vivid_3.19.0.orig.tar.gz”에서 시작하여 “linux-lts-vivid_3.19.0에 나열된 수정 사항으로 패치 된 실제 커널 -30.34 ~ 14.04.1.diff.gz “;
- “linux-lts-vivid_3.19.0-30.34 ~ 14.04.1.diff.gz”: 업스트림 소스에 대한 변경 사항과 데비안 패키지 용으로 만들어진 모든 파일이 포함 된 tarball;
- “linux-lts-vivid_3.19.0-30.34 ~ 14.04.1.dsc”: 설명 파일 “.dsc”끝. 파일 이름과 내용 (소스 : 키워드 뒤)에 패키지 이름이 들어 있습니다.
- “linux-lts-vivid_3.19.0.orig.tar.gz”: “.tar.gz”로 끝나는 업스트림 타르볼 (제 경험상 항상 “.tar.gz”파일이 아니라는 점에 유의하십시오. “.tar.xz”와 같은 다른 형식);
를 실행하면 apt-get source linux-image-$(uname -r)
“linux-lts-vivid-3.19.0″의 “linux-lts-vivid_3.19.0-30.34 ~ 14.04.1.diff.gz”에 나열된 수정 사항으로 업스트림 타르볼이 자동으로 패치됩니다.
% apt-get source linux-image-$(uname -r)
# ...
dpkg-source: info: extracting linux in linux-3.19.0
dpkg-source: info: unpacking linux_3.19.0.orig.tar.gz
dpkg-source: info: applying linux_3.19.0-30.34.diff.gz
# ...
답변
커널 트리의 루트는 디렉토리 linux-lts-vivid-3.19.0
입니다.
다른 파일에 관하여 :
tarball에서 linux-lts-vivid_3.19.0.orig.tar.gz
당신은 “바닐라”커널을 찾을 수 있습니다. 이 커널에 우분투 개발자들은 패치, 드라이버를 추가 diff
하고에 압축 된 파일을 수집 했습니다 linux-lts-vivid_3.19.0-30.34~14.04.1.diff.gz
.
답변
흠. 명령을 실행할 때
apt-get source linux-image-`uname -r`
이 명령은 소스 tarball을 자동으로 추출하고 패치하여 커널 다음에 호출되는 디렉토리를 작성해야합니다. 귀하의 경우, 그것은 ‘linux-lts-vivid-3.19.0’으로 보입니다-그것은 귀하의 디렉토리 목록에 있습니다.
따라서 이것이 소스 디렉토리이므로 다음을 실행해야합니다.
cd linux-lts-vivid-3.19.0
그런 다음 지침을 계속 따르십시오.