FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 解説 | 組み込みコマンド | FICL | セキュリティ | MD | 関連ファイル | 使用例 | エラー | 関連項目 | 規格 | 歴史 | 作者
LOADER_4TH(8)          FreeBSD システム管理者マニュアル          LOADER_4TH(8)

名称
     loader_4th -- カーネルブートストラップの最終ステージ

解説
     loader_4th と呼ばれるプログラムは、FreeBSD のカーネルのブートストラッププ
     ロセスの最終ステージです。IA32 (i386) アーキテクチャで、それは、BTX クラ
     イアンです。それは、libsa(3) に静的にリンクされていて、通常、ディレクトリ
     /boot に置かれます。

     タスクの自動化、事前設定、またはリカバリ手続きの補助に使用することができ
     る、スクリプト言語を提供しています。このスクリプト言語は、大まかに 2 つの
     主要構成要素に分かれています。小さいものは、一般ユーザによって直接使用す
     るように設計されたコマンドの組で、歴史的な理由のために "組み込みコマンド"
     と呼ばれています。これらのコマンドの主な目的は、ユーザの利便性です。より
     大きな要素は、John Sadler によって、FICL をベースにした ANS Forth 互換の
     Forth インタプリタです。

     初期化の間に、loader_4th は、コンソールをフローブし、console 変数を設定す
     るか、または前のブートステージでシリアルコンソール (``comconsole'') を使
     用するなら、それを設定します。複数のコンソールが選択されるなら、空白で区
     切ってリストされます。それから、デバイスがプローブされ、currdevloaddev が設定され、LINES は、24 に設定されます。次に、FICL が初期化さ
     れ、組み込みタンゴは、語彙に追加され、/boot/boot.4th は、存在するなら、処
     理されます。そのファイルが読み込まれている間に、ディスクの切り替えはでき
     ません。内部のインタプリタ loader_4th は、FICL で使用し、次に FICL のデ
     フォルトである interpret に設定します。その後、/boot/loader.rc は、利用可
     能であるなら、処理されます。これらのファイルは、それらを処理する前に、メ
     モリにそれらのすべてを読み込みディスクの変更が可能になる、include コマン
     ドを通して処理されます。

     この時点で、autoboot (自動起動) が試みられていなくて、autoboot_delay が
     ``NO'' (大文字小文字を区別しません) に設定されていないなら、autoboot が試
     みられます。システムがこのポイントを通り抜けたあんら、prompt (プロンプト)
     が設定され、loader_4th は、対話型モードになります。歴史的に、
     autoboot_delay が ``0'' に設定されていても、カーネルとモジュールがロード
     されている間に、ユーザがコンソールで何らかのキーを押すことによって auto
     boot プロセスを割り込むことができることに注意してください。ある場合には、
     そのような振る舞いは、autoboot_delay が ``-1'' に設定するすることを防ぐご
     とは、好ましくありません、この場合に、loader_4th は、autoboot に失敗した
     場合にのみ対話モードになります。

組み込みコマンド
     loader_4th で、組み込みコマンドは、コマンド行からパラメータを取ります。現
     在、スクリプトからこれらを呼び出す唯一の方法は、文字列で evaluate を使用
     することです。エラー状態が起こったなら、ANS Forth の例外処理単語を使用し
     てインタセプトすることができる、例外が生成されます。インターセプトされな
     かったなら、エラーメッセージが表示され、インタプリタの状態がリセットさ
     れ、スタックが空になり、インタプリタモードに戻ります。コマンドは、
     loader_simp(8) の ``組み込みコマンドの'' セクションで説明されています。

   組み込みの環境変数
     すべてのインタプリタに共通する環境変数は、loader_simp(8) の ``組み込み環
     境変数'' セクションで説明されています。

   組み込みパーサ
     組み込みコマンドが実行されるとき、行の残りの部分がその引数によって取ら
     れ、通常の Forth コマンドのために使用されない特別なパーサによって処理され
     ます。

     この特別なパーサは、解析されたテキストに次のルールを適用します:

     1.   すべてのバックスラッシュ文字は、前処理されます。

          •   \b , \f , \r , \n と \t は、C のように処理されます。

          •   \s は、空白に変換されます。

          •   \v は、ASCII に変換されます。

          •   \z は、単にスキップされます。``\0xf\z\0xf'' のようなものに役に立
              ちます。

          •   \0xN と \0xNN は、16 進数の N または NN によって置き換えられま
              す。

          •   \NNN は、8 進数の NNN ASCII 文字によって置き換えられます。

          •   \" , \' と \$ は、これらの文字をエスケープし、後述のステップ 2
              での特別な扱いを受けないようにします。

          •   \\ は、単一の \ に置き換えられます。

          •   他の発生で、バックスラッシュは、ちょうど削除されます。

     2.   エスケープされていない引用符または二重引用符の間のあらゆる文字列は、
          残りのステップの目的のための単一の単語として扱われます。

     3.   $VARIABLE または ${VARIABLE} は、環境変数 VARIABLE の値に置き換えら
          れます。

     4.   空白で区切られた引数は、呼び出された組み込みコマンドに渡されます。ま
          た、\\ を使用して空白をエスケープすることができます。

     存在するこの構文解析規則の例外は、「組み込みと FORTH」で説明されてしてい
     ます。

   組み込みと FORTH
     すべての組み込み単語は、ステートスマートな即時の単語です。解釈されるな
     ら、以前に記述されるように正確に振る舞います。しかし、それらがコンパイル
     されるなら、コマンド行の代りにスタックからそれらの引数を抽出します。

     コンパイルされるなら、組み込みの単語は、実行時にスタックで次のパラメータ
     を見つけることを期待しています。
           addrN lenN ... addr2 len2 addr1 len1 N
     ここで、addrX lenX は、コマンド行を構成する文字列で、組み込みの引数に解析
     されます。内部的に、これらの文字列は、1 から N まで連結され、各文字列の間
     に、空白が置かれます。

     引数が渡されないなら、組み込みが引数を受け付けない場合でも、0 が渡さなけ
     ればなりません。

     この振る舞いに、利点がありますが、トレードオフもあります。組み込みの実行
     トークンが (' まはた ['] を通して) 獲得され、catch または execute に渡さ
     れるなら、組み込みの振る舞いは、システムの状態に依存してし、その時点で、
     catch または execute が処理されます。これは、例外を処理したい、または処理
     する必要があるプログラムのために特に困ったことです。この場合に、プロキシ
     の使用をお勧めします。例えば:
           : (boot) boot;

FICL
     FICL は、C で書かれた Forth インタプリタで、C の関数によって呼び出すこと
     ができる forth 仮想マシンライブラリの形式で、逆もまた同様です。

     次に loader_4th で、対話的に読まれた各行は、組み込みの単語を実行するため
     に loader_4th を呼び返す、FICL に供給されます。また、組み込みの include
     は、FICL を 1 度に 1 行ずつ供給します。

     FICL で利用可能な単語は、4 つのグループに分類することができます。ANS
     Forth の標準単語、追加の FICL 単語、追加の FreeBSD 単語、と組み込みのコマ
     ンドです。後者は、すでに説明した通りです。ANS Forth の標準単語は、「規
     格」セクションにリストされています。他の 2 つのグループに収まる単語は、次
     のサブセクションで説明されています。

   FICL 追加の単語
     .env

     .ver

     -roll

     2constant

     >name

     body>

     compare        これは、STRING 単語のセットの compare (比較) です。

     compile-only

     endif

     forget-wid

     parse-word

     sliteral       これは、STRING 単語のセットの sliteral です。訳注: slit
                    eral は、literal (定数) の間違いか?

     wid-set-super

     w@

     w!

     x.

     empty

     cell-

     -rot

   FreeBSD 追加の単語
     $ (--)    最初に印刷した後に入力バッファの残りの部分を評価します。

     % (--)    catch 例外ガードの下で入力バッファの残りを評価します。

     .#        .  と同じように動作しますが、後続する空白は、出力されません。

     fclose (fd --)
               ファイルをクローズします。

     fkey (fd -- char)
               ファイルから 1 文字を読み込みます。

     fload (fd --)
               ファイル fd を処理します。

     fopen (addr len mode -- fd)
               ファイルをオープンします。ファイルの記述子を返します、失敗する
               と、-1 を返します。mode パラメータは、ファイルが読み込みアクセ
               ス、書き込みアクセス、またはその両方でオープンするかどうかを選
               択します。定数 O_RDONLY, O_WRONLY と O_RDWR は、それぞれ、読み
               込み専用、書き込み専用、読み込み書き込みアクセスを示し、
               /boot/support.4th で定義されています。

     fread (fd addr len -- len')
               ファイル fd から len バイトをバッファ addr に読み込むことを試み
               ます。実際に読み込んだバイト数を返します、エラーの場合、または
               ファイルの終りの場合に、-1 を返します。

     heap? (-- cells)
               辞書のヒープに残っている空白をセル単位で返します。これは、動的
               メモリ割り付け単語によって使用されるヒープとは関係ありません。

     inb (port -- char)
               ポートから 1 バイトを読み込みます。

     key (-- char)
               コンソールから 1 文字を読み込みます。

     key? (-- flag)
               コンソールから読み込まれる利用可能な文字があるなら、true を返し
               ます。

     ms (u --)
               u マイクロ秒待機します。

     outb (port char --)
               ポートに 1 バイトを書き込みます。

     seconds (-- u)
               午前 0 時からの秒数を返します。

     tib> (-- addr len)
               スタック文字列として入力バッファの残りを返します。

     trace! (flag --)
               追跡 (トレース) を有効にするか、または無効にします。catch で動
               作しません。

   FreeBSD で定義された環境変数
     arch-i386
             アーキテクチャが IA32 であるなら、TRUE。

     FreeBSD_version
             コンパイル時の FreeBSD のバージョン。

     loader_version
             loader_4th のバージョン。

セキュリティ
     loader_4th コマンド行にアクセスすることは、次のようなシステムセキュリティ
     を危険にさらすいくつかの方法をもたらしますが、次に限定されません:

     •   currdev または loaddev 変数を設定することによって、リムーバブル記憶域
         からブートします。

     •   init_path または init_script 変数を設定することによって、選択されたバ
         イナリを実行します。

     •   任意のコードを ACPI サブシステムに注入するために ACPI DSDT を上書きし
         ます。

     password を設定するか、autoboot_delay を -1 に設定することによって
     loader_4th コマンド行への不正アクセスを防ぐことができます。詳細について
     は、loader.conf(5) を参照してください。これを有効にするために、ファーム
     ウェア (BIOS または UEFI) を設定して、不正なデバイスからのブートを防止す
     るべきです。

MD
     loader_4thMD_IMAGE_SIZE でコンパイルされたとき、メモリディスク (MD)
     を使用することができます。メモリディスクのサイズは、MD_IMAGE_SIZE によっ
     て決定されます。MD が利用可能であるなら、/sys/tools/embed_mfs.shloader_4th にファイルシステムを組み込むことができます。次に、MD は、プ
     ローブされ、初期化の間に currdev に設定されます。

     現在、MD は、loader.efi(8) でのみサポートされています。

関連ファイル
     /boot/loader                    loader_4th 自体。
     /boot/boot.4th                  追加の FICL の初期化。
     /boot/defaults/loader.conf
     /boot/loader.4th                特別な組み込みのような単語。
     /boot/loader.conf
     /boot/loader.conf.local         loader.conf(5) で説明されているような、
                                     loader_4th の設定ファイル。
     /boot/loader.rc                 loader_4th のブートストラップスクリプト。
     /boot/loader.help               help によってロードされます。ヘルプメッ
                                     セージを含みます。
     /boot/support.4th               loader.conf の処理語。
     /usr/share/examples/bootforth/  ソードされた例。

使用例
     シングルユーザモードでブートします:

           boot -s

     カーネルをロードし、スプラッシュ画面と、次に 5 秒後にオートブートします。
     カーネルは、他の load コマンドを試みる前に、ロードされなければならないこ
     とに注意してください。

           load kernel
           load splash_bmp
           load -t splash_image_data /boot/chuckrulez.bmp
           autoboot 5

     ルートデバイスのディスクユニットを 2 に設定して、次にブートします。これ
     は、ada1 の代りに ada2 に配線で接続された 2 番目の IDE ディスクがあり、2
     つの IDE ディスクがあるシステムで必要とされます。

           set root_disk_unit=2
           boot /boot/kernel/kernel

     ZFS ファイルシステムからカーネルをロードするために使用されるデフォルトの
     デバイスを設定します:

           set currdev=zfs:tank/ROOT/knowngood:

エラー
     次の値は、loader_4th によってスローされます:

           100    ビルドインの処理で何らかのタイプのエラーがありました。

           -1     Abort を実行しました。

           -2     Abort" を実行しました。

           -56    Quit を実行しました。

           -256   テキストを解釈できません。

           -257   成功するためによりテキストが必要です -- 次の実行で終了しま
                  す。

           -258   Bye を実行しました。

           -259   特定されないエラー。

関連項目
     libsa(3), loader.conf(5), tuning(7), boot(8), btxld(8)

規格
     ANS Forth に準拠する目的のために、ローダは、環境制限がある ANS Forth シス
     テム、次を提供します、.(, :noname, ?do, parse, pick, roll, refill, to,
     value, \, false, true, <>, 0<>, compile, , erase, nip, tuck と marker コ
     ア拡張語のセットから、例外拡張語のセットを提供し、ローカル拡張語のセット
     を提供し、メモリ割り付け拡張語のセットを提供し、次を提供します、.s, bye,
     forget, see, words, [if], [else] と [then] Programming-Tools の拡張語の
     セットから、Search-Order 拡張語のセットを提供します。

歴史
     loader_4th は、FreeBSD 3.1 ではじめて登場しました。

作者
     loader_4th は、Michael Smith <msmith@FreeBSD.org> によって書かれました。

     FICL は、John Sadler <john_sadler@alum.mit.edu> によって書かれました。

FreeBSD 13.2                  September 29, 2021                  FreeBSD 13.2

Table of Contents

FreeBSD マニュアル検索