initramfsの簡単な設定ファイルについて

initramfsの簡単な設定ファイルについて

誰かが以下で何が起こっているのか説明できますか?

# This is a very simple, default initramfs

    dir /dev 0755 0 0
    nod /dev/console 0600 0 0 c 5 1
    nod /dev/tty 0666 0 0 c 5 0
    nod /dev/null 0600 0 0 c 1 3
    nod /dev/mem 0600 0 0 c 1 1
    nod /dev/kmem 0600 0 0 c 1 2
    nod /dev/zero 0600 0 0 c 1 5
    nod /dev/random 0600 0 0 c 1 8
    nod /dev/urandom 0600 0 0 c 1 9

    dir /dev/pts 0755 0 0
    nod /dev/ptmx 0666 0 0 c 5 2

    nod /dev/ttyS0 0666 0 0 c 4 64
    nod /dev/ttyS1 0666 0 0 c 4 65
    nod /dev/ttyS2 0666 0 0 c 4 66

    dir /bin 755 0 0
    dir /proc 755 0 0

    file /bin/hello ${INSTALL_ROOT}/projects/${SAMPLE}/hello/hello 755 0 0
    slink /bin/init hello 777 0 0

ここで私たちが実際に達成しようとしているものは何ですか?

これは次のようになります。これ

通常、私たちはinit(コードの最後の行)で(hello)を実行しようとしていることは明らかです。

ベストアンサー1

このファイルは、カーネルソースツリーの gen_init_cpio プログラムの入力ファイルです。

次に適切なcpioアーカイブを作成します。ファイルシステムの初期化ファイル/ディレクトリ/デバイス(=ノード)/...入力ファイルに一覧表示されます。

構文は次のとおりです。

file <name> <location> <mode> <uid> <gid> [<hard links>]
dir <name> <mode> <uid> <gid>\n
nod <name> <mode> <uid> <gid> <dev_type> <maj> <min>
slink <name> <target> <mode> <uid> <gid>

など。

init起動時に実際に実行されるプログラムは、initramfsのプログラムによって異なります。ここのプログラムinitシンボリックリンク到着するhello

おすすめ記事