
ブートプロセスのユーザースペース部分をデバッグする必要があり、sh -x
ブートプロセス中に何が起こっているのかを観察するために、すべてのスクリプトがデフォルトで実行されることを望みます。
busyboxが提供する組み込みシステムですsh
。 /bin/sh
はへのリンクですbuysbox
。
sh
からまでインタプリタをシステム的に変更できますかsh -x
?
答え1
私のシステムにはダッシュへのリンクがあるので、その/bin/sh
リンクをコマンドライン引数を実行して渡すプログラムに置き換えることができます。/bin/dash -x
/bin/sh
あなたのファイルがバイナリファイルの場合。次にコピーして上記と/bin/sh.org
同じことを行います。ただし/bin/sh.org -x
、dash
。
これらの変更を実行するにはルートである必要があります。
/bin/sh
リンクの場合は、busybox
上記の作業を続行できます。移動busybox
してbusybox.org
バイナリを生成してbusybox
呼び出されたことを確認しますsh
(本質的に、元のビジボックスがさまざまなIDを取得するために行った操作です)。その場合は、-x
コマンドライン引数の残りの部分の前に挿入して呼び出してください。busybox
そうでない場合(つまり、呼び出されない場合sh
)、コマンドライン引数を使用してbusyboxを呼び出します。
ただし、この時点では、busyboxのソースコードをダウンロードし、ソースを常に呼び出し、コンパイル、インストール(元のbusyboxバイナリバックアップ)と見なすように変更する方が-x
簡単ですsh
。