
私のinitramfsには次のものがあります。
[root@xilinx Peta_Microzed_15_05]# ls initramfs/dev/
console
[root@xilinx Peta_Microzed_15_05]# nano initramfs/dev/console
[root@xilinx Peta_Microzed_15_05]#
上記のnanoは空のファイルを開きます。
console
それでは、このファイルに何もないとどうなりますか?
答え1
ほとんどのファイル/dev
はデバイスファイル。これはディスク・ストレージには対応していませんが、通常、ハードウェアと対話するためにカーネルの機能を呼び出す特別なディレクトリー項目です。
Unixシステムは、次の出力で対応する行の最初の文字で表されるさまざまな種類のファイルをサポートしています(一部の「エキゾチック」タイプは省略しました)ls -l
。
-
一般ファイル。ディスク対応ファイルシステムの場合、これらのファイルはディスクに書き込まれます。このタイプのファイルを読み取ると、ファイルに書き込まれたデータが再インポートされます。d
目次。これらのファイルの唯一の目的は、他のファイルを含めることです。l
シンボリックリンク。これらのファイルの唯一の目的は、別のファイルにリダイレクトすることです。p
名前付きパイプ(FIFOとも呼ばれます):あるプロセスが名前付きパイプに書き込む間、もう一方のプロセスはリアルタイムで出力を読み取り、リーダーが読み取るまで書き込みをブロックします。s
名前ソケット- Named Pipesに似ていますが、セッションベースの双方向通信(ネットワークソケットなど)を提供します。b
、c
ブロック、文字装備。
ブロックデバイスは、固定サイズの通常のファイルと非常によく似た動作をするデバイスです。つまり、特定の場所から再度読み取ると、その場所に最後に書き込まれたデータが再インポートされます。ブロックデバイスは通常、ディスク、ディスクパーティション、またはその他のディスクと同様のハードウェアです。
文字デバイスは、このように動作しないデバイスです。これらはさまざまです。一部のデバイスは出力専用または入力専用です。文字デバイスが入力と出力の両方をサポートしていても、書かれたものと読み取るものとの間に必ずしも関係があるわけではありません。たとえば、シリアルポートに対応するデバイスに書き込まれたデータはシリアルポートに接続されている周辺機器に送信され、デバイスから読み取られたデータは周辺機器から受信したデータです。
/dev/console
指定するシステムコンソール、コンピュータのキーボードと画面に接続します。コンピュータにキーボードと画面がない場合は存在します/dev/console
が、書き込みが失敗したり無視される可能性があります。コンピュータに複数のキーボードと画面がある場合、特定のシステム構成によって/dev/console
接続されているキーボードまたは画面が決まります。一部のUnixバージョンは仮想コンソールを提供します。たとえば、LinuxではCtrl++、++などを押してコンソールを切り替えることができます。各コンソールには、独自のビデオバッファに関連付けられた独自のプログラムセットがあります。キーボード入力を受けて画面に表示するコンソールです。AltF1CtrlAltF2
読むことができます/dev/console
(権限がある場合)。 Nanoは少し役に立たない。すべてのデバイスファイルからの読み取りを拒否します。 (文字デバイスを「編集」することは意味がなく、ブロックデバイスには通常テキスト編集に使用してはいけないファイルシステムエディタが含まれているので完全に合理的です)、しかしそうではありません。エラーメッセージが表示されます。
ディレクトリ名が与えられると、これは次のようになります。ファイルシステムの初期化tree:Linuxシステムの初期ファイルツリーとして使用されるファイルツリー。 initramfsをアセンブルし(通常はカーネルビルドの一部として実行されます)、そのinitramfsから起動すると、最終的にこのファイルが起動しているシステムに表示されますconsole
。/dev/console