어떻게 아는가

어떻게 아는가

존재하다https://github.com/facebook/flashcache/라는 말이 있습니다

make KERNEL_TREE=<root of the kernel source tree>

이것은 flashcache.ko와 3개의 유틸리티를 빌드합니다.

flascache-sa-guide.txt에는 플래시캐시 ​​볼륨을 생성하고 마운트하는 방법이 자세히 설명되어 있습니다.

모한 스리니바산 폴 사브

대체하려면 무엇을 써야 하나요?

답변1

중앙 운영 체제

인용하다:튜토리얼 링크

튜토리얼의 빠른 인용문:

1단계: 일반 사용자로

[user@host]$ mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
[user@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

2단계: 루트로

[root@host]# yum install rpm-build redhat-rpm-config asciidoc hmaccalc
[root@host]# yum install binutils-devel elfutils-libelf-devel newt-devel zlib-devel

3단계: 일반 사용자로

[user@host]$ rpm -i http://vault.centos.org/6.3/updates/Source/SPackages/kernel-2.6.32-279.19.1.el6.src.rpm 2>&1 | grep -v mock

커널 소스 트리: /home/user/rpmbuild/BUILD/kernel*/linux*/<-- "*"를 식별하기 위해 여기에 들어갑니다.

그래서

make KERNEL_TREE=<put in the full path above>

더반

<root of the kernel source tree>커널 소스 코드가 있는 곳입니다.

Ubuntut/Debain에서 커널 소스 코드를 다운로드하세요.

apt-get install linux-source-3.2.0

그러면 커널 소스 트리가 다음 위치에 배치됩니다.

/usr/src/linux-source-3.2.0

그러나 실제 소스 트리를 언팩해야 합니다.

# cd /usr/src/linux-source-3.2.0
# ls -lh
total 77M
drwxr-xr-x 10 root root 4.0K Jan 24 22:40 debian
drwxr-xr-x  8 root root 4.0K Jan 24 22:40 debian.master
-rw-r--r--  1 root root  77M Jan  8 17:46 linux-source-3.2.0.tar.bz2

# tar xf linux-source-3.2.0.tar.bz2
# ls -lh
total 77M
drwxr-xr-x 10 root root 4.0K Jan 24 22:40 debian
drwxr-xr-x  8 root root 4.0K Jan 24 22:40 debian.master
drwxrwxr-x 24 root root 4.0K Jan  8 17:45 linux-source-3.2.0
-rw-r--r--  1 root root  77M Jan  8 17:46 linux-source-3.2.0.tar.bz2

소스 트리는/usr/src/linux-source-3.2.0/linux-source-3.2.0

그래서

make KERNEL_TREE=/usr/src/linux-source-3.2.0/linux-source-3.2.0

답변2

이 패키지는 Red Hat, CentOS 및 Fedora 시스템에서 사용할 수 kernel-devel있으며 커널에 대해 모듈을 구축하는 데 필요한 메커니즘을 포함합니다(전체 소스 코드는 아님). 소스의 루트는 에 있습니다 /usr/src/kernels/<version>.

답변3

추가 커널 모듈을 컴파일하려면 일반적으로 커널 헤더 파일이 포함된 패키지를 설치해야 합니다.

  • kernel-develRedHat 기반 배포판(Fedora, CentOS...)
  • linux-headers-$(uname -r)Debian 기반 배포판(Ubuntu,...).

에는 올바른 디렉토리를 가리키는 심볼릭 링크가 /lib/modules/$(uname -r)/있어야 합니다 .build

따라서 커널 헤더 패키지를 설치한 다음

make KERNEL_TREE=/lib/modules/$(uname -r)/build

관련 정보