커널 버전 2.4를 실행하는 ARM Linux 시스템이 있지만 프로세서에 메모리 관리 장치가 있는지 확실하지 않습니다. 그러면 시스템이 uClinux 커널을 실행하고 있는지 아니면 바닐라 Linux 커널을 실행하고 있는지 어떻게 알 수 있습니까? 시스템은 그렇지 않습니다 uname
.
답변1
2.4가 지원한다고 생각합니다이름을 밝히다시스템 호출. 이 시도
/*
* Author: NagaChaitanya Vellanki
*/
#include <sys/utsname.h>
#include <stdio.h>
#include <errno.h>
int main() {
struct utsname buf;
if(uname(&buf) != -1) {
printf("Operating System name: %s\n", buf.sysname);
printf("Node name: %s\n", buf.nodename);
printf("Release: %s\n", buf.release);
printf("Version: %s\n", buf.version);
printf("Machine: %s\n", buf.machine);
} else {
printf("Error: %s\n", strerror(errno));
}
return 0;
}
엮다
gcc -o uname uname.c
내 Raspberry Pi의 출력 예
./uname
Operating System name: Linux
Node name: naga-playground
Release: 4.4.11-v7+
Version: #888 SMP Mon May 23 20:10:33 BST 2016
Machine: armv7l
매뉴얼 페이지에서 제안한 대로 사용 가능한 경우 다음을 시도하십시오.
cat /proc/sys/kernel/osrelease
4.4.11-v7+
cat /proc/sys/kernel/ostype
Linux
cat /proc/sys/kernel/version
#888 SMP Mon May 23 20:10:33 BST 2016