コマンドを使用してu-boot環境パラメータを変更しようとしていますsetenv
。
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; bootm
指定された設定を使用すると、bootm
ubootはLinuxカーネルのロードを開始しますがsaveenv
。
bootcmd
設定時にsaveenvを使用してパラメータを保存できますが、bootm
ubootはカーネルをロードできず、次のログが表示されます。
T T T T T T #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
##########
done
Bytes transferred = 2378156 (2449ac hex)
Unauthorized >
を実行してカーネルを直接ロードできますbootm
。
答え1
u-bootコマンドラインから呼び出すとします。
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; bootm
ここで重要なのは、セミコロンがコマンド区切り記号であることです。簡単な修正(テストされていない)は、bootmコマンドの前にsaveenvコマンドを追加することです。
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm
これにより変数が設定されます。スタートコマンド受信者:tftpboot 0x80800000 192.168.2.2:uImage2
それから環境を保存する変数が保存されます
それからブテムメモリ内イメージが起動します。
することができますいいえ起動するたびにこれを行う必要があります。もし起動順序に満足したら、変数を保存してください。
設定のすべてのu-boot変数を設定することから始めます。(例だけです。設定に合わせて調整してください。)
- setenvが自動的に起動します。
- setenvはuImage2ファイルを起動します。
- setenv ipaddr 192.168.2.2
- 環境サーバーIP 192.168.2.Xの設定
- setenv bootcmd tftpboot 0x80800000 192.168.2.2:uImage2
または
- setenv bootcmd bootp 0x80800000 uImage2
u-boot変数を永続メディアに保存する
saveenv
bootcmdを実行して起動オプションをテストします。
run bootcmd
変数が正しく設定され、bootcmdが正しく機能するまでこの操作を繰り返します。
bootdelay に設定された遅延後も U-Boot が中断されない場合、自動起動プロセスが発生します。自動起動には、環境変数で指定されているようにbootcmdの実行が含まれます。
いくつかのシステム変数:
- スタートコマンド:初期カウントダウンが中断されないときに自動的に実行されるコマンド文字列を定義します。 bootdelay変数も定義されている場合にのみ実行されます。
- 自動ロード:「no」(または「n」で始まる文字列)に設定されている場合、rarpboot、bootp、またはdhcpコマンドはBOOTP / DHCPサーバーで構成照会を実行しますが、TFTPを使用してイメージをロードしようとしません。
- 自動起動: "yes"に設定すると、rarpboot、bootp、dhcp、またはtftpbootコマンド(内部でbootmコマンドを呼び出す)を使用して自動的に起動イメージがロードされます。
- bootfile:TFTPを使用してロードされたベースイメージの名前。
答え2
bootcmd tftpboot 0x80800000 192.168.2.2:uImage2; saveenv; bootm
後に二重引用符を追加して、コマンド全体を正常に保存しました。bootcmd
setenv bootcmd "tftpboot 0x80800000 192.168.2.2:uImage2; bootm"