setup -
デバイスとファイルシステムの初期化を行い、
ルートファイルシステムのマウントを行う
#include <unistd.h>
int setup(void);
setup() は
linux/init/main.c
の中で一度だけ呼ばれる。
カーネル内部のデバイスとファイルシステムの初期化関数を呼び、
ルートファイルシステムのマウントを行う。
ユーザープロセスからは
setup()
を呼びだすことはできない。
ユーザープロセスからのアクセスは、たとえそのプロセスが
スーパーユーザー権限を持っていても
EPERM
を受け取ることになる。
setup()
はユーザープロセスに対して常に
-1 を返す。
- EPERM
- ユーザープロセスに対しては、常にこのエラーとなる。
Linux 2.1.121
以降では、もはやこの関数は存在しない。
この関数は Linux
に特有のものであり、移植を考慮したプログラムでは
用いるべきではない。それどころか、あらゆるプログラムで用いるべきではない。
呼び出し手続きは変化してきた。
ある時は
setup()
は一つの引数
void *BIOS
を取っており、またある時には
int magic
を一つの引数として取っていた。
この man ページは Linux
man-pages
プロジェクトのリリース
5.10
の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/
に書かれている。