組み込みLinuxシステムがuClinuxを実行していることを確認する

組み込みLinuxシステムがuClinuxを実行していることを確認する

カーネルバージョン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

おすすめ記事