나는 /boot
"뿌리"입니다. config-2.6.32-431.el6.x86_46
내 이름을 수정 하고 추가했습니다.CONFIG_LOCALVERSION="John"
하지만 입력하면 uname -r
버전만 표시되고 끝에 내 이름은 표시되지 않습니다. 잘못된 구성 파일을 편집했습니까?
답변1
편집 중인 파일은 단순히 커널이 컴파일될 때의 구성 기록입니다. 여기서 변경하는 유일한 방법은 새 커널을 컴파일하도록 시스템을 준비하고 파일을 /boot
커널 소스 트리에 복사하여 컴파일 중에 커널 옵션으로 사용할 수 있도록 하는 것입니다.
구성 파일은 커널 빌드 방법을 결정하고 일부 옵션(예: CONFIG_LOCALVERSION
. 예를 들어 현재 구성의 첫 번째 줄은 다음과 같습니다.
CONFIG_64BIT=y
이는 커널 빌드 프로세스에 64비트 시스템용으로 컴파일하도록 지시합니다. 파일을 보면 로드 가능한 모듈( )로 빌드할 수 있는 드라이버를 활성화( y
) 또는 비활성화( )하는 여러 n
옵션이 표시됩니다 m
.
따라서 이 파일은 커널에 상주하지 않으며 빌드 시 커널을 정의합니다. 그 이상도 이하도 아닌. 커널이 컴파일되면 이 파일은 효과적으로 중복됩니다. /boot
나중에 각 옵션을 거치지 않고 해당 값을 처음부터 결정할 필요 없이 유사한 커널을 다시 빌드할 수 있도록 저장됩니다 . 내 현재 구성 파일에는 다음으로 시작하는 4448개의 줄이 있습니다 CONFIG
. 각 줄을 결정하는 것은 상당히 힘들고 오류가 발생하기 쉽습니다. 대신 이 파일을 커널 빌드 트리에 복사하고 변경해야 하는 일부 설정을 변경한 다음 커널을 다시 빌드할 수 있습니다.
컴파일 타임에 하드코딩 되므로 CONFIG_LOCALVERSION
변경할 수 없습니다. command 를 통해서만 읽을 수 있거나 uname
g4ur4v가 말했듯이 proc 파일 시스템에서 읽을 수 있습니다 /proc/sys/kernel
.
답변2
uname -r
에서 데이터를 가져옵니다 /proc/sys/kernel/osrelease
.
이 파일은 수정할 수 없습니다.
/boot
새 커널을 컴파일하려고 할 때 사용되므로 파일을 변경해도 실행 중인 커널에는 영향이 없습니다.