U-Bootで停止し、手動で値を変更せずにユーザースペースでカーネルコマンドラインパラメータを編集する方法を探しています。次の起動用にカーネルパラメータを変更したいと思います。たとえば、カーネルコマンドラインにexample1=true' I would like to change it to the following boot to
example1 = falseというパラメータが含まれている場合
私はOpenWRTベースのシステムを使用しています。
答え1
Das U-Boot環境でOpenWrt Wikiをすばやく検索してください...
「Das U-Bootは、いくつかの重要な設定パラメータを保存するために、フラッシュメモリ(通常は保存されているのと同じパーティション)の小さなスペースを使用します。
具体的には...
bootargs:この変数の内容はLinuxカーネルに起動引数(「コマンドライン」とも呼ばれる)として渡されます。
いくつかの前提がありますが、実行中のカーネルでこの構成ファイルを編集できるはずです。 u-bootパーティションと設定ファイルの場所を見つけてR / Wとしてマウントする必要があるかもしれません。また、.NET Frameworkを使用している場合は、u-bootコマンドラインでこの設定ファイルを編集できる必要がありますsaveenv
。
答え2
私が誤解しているかもしれませんが、私が知っている限り、カーネルを実行した後にブートローダがカーネルに渡したコマンドラインパラメータを変更することはできません。というツールですsysctl
。
たとえば、変更したい場合:
sysctl -w kernel.stack_tracer_enabled=1
再起動すると、これらの変更は失われます。