커널 소스 코드는 어떻게 얻습니까? 계획이며 Linux

일부 장치 드라이버를 작성할 계획이며 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) 런치 패드에서 직접 소스를 가져 오십시오.

  • 그것들을 새로운 디렉토리에 넣고 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/(예를 들어) 저장됩니다 .