Armadilloフォーラム

ルートファイルシステム書き換え方法

sankyo_fukuzawa

2023年2月17日 10時01分

お世話になります、福澤と申します。

現在、Armadillo640にてルートファイルシステムの書き換えを行う方法を調査しています。
以下のフォーラムを参考にさせていただいたのですが、eMMC上のルートファイルシステムで起動した状態でeMMC上のルートファイルシステムを書き換える方法は、現在も存在しないということでよろしいでしょうか。
https://armadillo.atmark-techno.com/forum/armadillo/4028

また、eMMC上から起動した状態でルートファイルシステム書き換えができない場合は、以下フォーラムのUSBメモリによる起動とルートファイルシステムの書き換えを行うことを検討しています。
https://armadillo.atmark-techno.com/howto/usb-update-image-a640
ルートファイルシステムの書き換えは客先で行うことを想定しているため、USBメモリからの起動時、保守モードの「run usbboot」コマンドの手動入力を省略したいと考えております。その場合、保守モード起動時に「run usbboot」コマンドを自動で実行する方法はございますか。

コメント

at_akihito.irie

2023年2月17日 11時08分

入江です。

> 以下のフォーラムを参考にさせていただいたのですが、eMMC上のルートファイルシステムで起動した状態でeMMC上のルートファイルシステムを書き換える方法は、現在も存在しないということでよろしいでしょうか。

申し訳ございませんが、現在も存在しません。

> ルートファイルシステムの書き換えは客先で行うことを想定しているため、USBメモリからの起動時、保守モードの「run usbboot」コマンドの手動入力を省略したいと考えております。その場合、保守モード起動時に「run usbboot」コマンドを自動で実行する方法はございますか。

以下のフォーラムが参考になると思います。
https://armadillo.atmark-techno.com/forum/armadillo/4365

sankyo_fukuzawa

2023年2月20日 11時05分

福澤です。
ご回答ありがとうございます。

> > ルートファイルシステムの書き換えは客先で行うことを想定しているため、USBメモリからの起動時、保守モードの「run usbboot」コマンドの手動入力を省略したいと考えております。その場合、Armadillo起動時に「run usbboot」コマンドを自動で実行する方法はございますか。
>
> 以下のフォーラムが参考になると思います。
> https://armadillo.atmark-techno.com/forum/armadillo/4365
>

上記フォーラムを参照し、boot実行時にコンソールメッセージを出力するboot.scrファイルを作成しました。

echo BootTest!
env default -a
setenv optargs console=ttymxc2,115200
boot

scrファイルをArmadilloの/bootへ配置し、保守モードのコマンドにてboot起動時にscrファイルが実行されるようにu-Bootの環境変数を更新しました。

setenv bootcmd "ext4load mmc 0:2 ${loadaddr} /boot/boot.scr; source;"
saveenv

更新後に端末を再起動すると、起動時にコンソールメッセージが表示されますが、2回目以降の起動ではメッセージが表示されなくなりました。
この状態でU-Boot の環境変数を確認すると、「bootcmd」が初期化されておりました。
bootcmdが初期化されないようにする方法がございましたらお教えください。

at_akihito.irie

2023年2月22日 10時27分

入江です。

私も最新版のu-bootをベースに、boot.scrを読んで実行できるようコンフィグを改変し、
お客様と同じboot.txtからboot.scrを生成して試してみましたが、お客様の方で起こっている現象が再現できません。

原因究明のため、以下を送っていただけますでしょうか。

1. 使用したboot.scr
2. setenv bootcmd "ext4load mmc 0:2 ${loadaddr} /boot/boot.scr; source;"から、bootcmdが初期化されてしまうことを確認するまでの全てのログ

以上、よろしくお願いいたします。

sankyo_fukuzawa

2023年2月22日 11時12分

お世話になっております、福澤です。
ご回答ありがとうございます。

起動時にbootcmdが初期化されてしまう現象ですが、boot.txt内の環境設定初期化コマンド

env default -a

を、bootcmdの初期値を設定するコマンド

setenv bootcmd "run setup_mmcargs; ext4load mmc 0:2 ${loadaddr} /boot/uImage; ext4load mmc 0:2 0x83000000 /boot/${fdt_file}; bootm ${loadaddr} - 0x83000000;"

に変更したところ、再起動毎にboot.scrが実行されて”BootTest!”コメントがコンソールへ出力されることを確認しました。
大変お騒がせし、申し訳ございませんでした。