我有一个运行内核版本2.4的ARM Linux系统,但我不确定处理器是否有内存管理单元,那么如何判断系统是运行uClinux内核还是普通Linux内核?系统没有uname。
发布于 2016-10-19 00:52:22
我认为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我的覆盆子-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 2016https://unix.stackexchange.com/questions/317339
复制相似问题