일부 장치 드라이버를 작성할 계획이며 Linux 커널 소스를 가져와야합니다. 내 Linux 커널 버전은 3.2.0-23-generic-pae이며 여기에서 이미지를 다운로드 했습니다 . 내가 읽은 많은 기사에서 새 모듈 삽입을 시작하려면 전체 커널 트리가 필요하다는 것을 알려줍니다.
이 이미지를 다운로드하여 usr/src/
폴더에 붙여 넣거나 다른 작업을 수행 하면 충분 합니까?
답변
이것은 주식 커널의 소스를 얻을 것입니다 :
apt-get source linux-source
다음과 같이 실행중인 커널 버전을 확인할 수 있습니다.
uname -r
다음과 같이 인쇄됩니다.
3.13.0-46-generic
다음을 통해 시스템에서 사용 가능한 현재 소스 패키지 버전 목록을 찾을 수 있습니다.
apt-cache search linux-source
커널의 업스트림 버전을 얻으려면 :
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-trusty.git
위의 링크에서 ‘trusty’는 Ubuntu 버전의 코드 이름입니다. 다음을 통해 설치 한 Ubuntu 버전의 코드 이름을 찾을 수 있습니다.
cat /etc/lsb-release
답변
apt-get source linux
가장 쉬운 방법입니다. 리포지토리에서 소스를 다운로드하며 실행중인 버전과 동일합니다 (아직 사용자 정의하지 않은 경우).
그러나 소스가 유지 관리되는 위치를 찾으려면 다음을 실행할 수 있습니다.
apt-cache showsrc linux
‘Vcs-‘속성 (버전 제어 시스템)을 찾으십시오. 일반적으로 git (Vcs-Git) 또는 수은 저장소입니다.
주 –이 명령은 모든 패키지에서 작동합니다. 관심있는 패키지로 ‘linux’를 대신 사용하십시오. 또한 ‘apt-get source’는 sudo 액세스가 필요하지 않으며 현재 디렉토리에 소스를 덤프합니다.
답변
런치 패드에서 직접 소스 다운로드
이상하게도 모든 사람들 apt-get source
이 특정 커널 버전을 찾고 있다면 대부분 작동하지 않는 것이 좋습니다 .
3.19.0-58에 대한 커널 소스가 필요하다고 가정하십시오
apt-get source linux-image-3.19.0-58-generic
.이 경우 시리즈의 최신 커널에 대한 소스를 얻습니다.이 경우 3.19.0-80은 요청한 것이 아닙니다.
따라서 두 가지 옵션이 있습니다.
1) 포기하고 커널 3.19.0-80을 설치하고 사용하십시오. apt-get source
2) 런치 패드에서 직접 소스를 가져 오십시오.
-
해당 버전 의 런치 패드 패키지 페이지 가 표시됩니다.
-
아래로 스크롤하여 “소스 :”링크를 클릭하면 패키지 소스 페이지 가 나타납니다.
-
스크롤 다운 및 다운로드
.tar.gz
,.diff.gz
,.dsc
파일 :
- 그것들을 새로운 디렉토리에 넣고
dpkg-source -x *.dsc
노트:
- 더 좋은 방법이 있어야합니다.
- git에서 원하는 버전을 얻을 수 있지만 큰 다운로드가 필요합니다. Ubuntu Wiki Kernel Source Code의 “git을 사용하여 Ubuntu 릴리스의 커널 소스 얻기”를 참조하십시오 .
답변
다음 중 하나를 선택하십시오.
sudo apt install linux-source # downloads into system directory
sudo apt source linux-source # downloads into working directory
에 일부 ‘소스’URL을 제공하라는 메시지가 표시되면 파일을 sources.list
편집 /etc/apt/sources.list
하고 원하는 deb-src
줄을 주석 해제하십시오 (예 : Xenial을 실행중인 경우).
deb http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted
# deb-src http://fr.archive.ubuntu.com/ubuntu/ xenial main restricted
#
이 마지막 행을 제거하면 커널 소스를 포함하여 소스 리포지토리를 다운로드 할 수 있습니다.
비고 :
- 최신 도구를 사용하십시오. 피하십시오
apt-get
. - 이 명령은 현재 커널 의 소스 코드를 다운로드합니다 (
4.4.0-75-generic
예를 들어 제 경우 ). - 시스템 디렉토리로 다운로드하면 파일이
/usr/src/linux-source-4.4.0/
(예를 들어) 저장됩니다 .