fkben
2025年7月11日 16時48分
==========
製品型番:Armadillo-640(量産タイプ)
Debian/ABOSバージョン:Buster
カーネルバージョン:Linux armadillo 4.14-at40
3G/LTE モジュール情報 (Debianのみ):
その他:ATDE8を使用
==========
お世話になります。
先日確認させていただいたArmadillo-640のインストールイメージの
作成方法に従い、イメージの作成を試みましたが、エラーで失敗しました。
ちなみに、dumprootfs -c || echo NG による確認では何も表示されませんので
対応していると思われます。
dumprootfsのログ、USBメモリを抜き差しした際のメッセージ(スクショ)を添付いたします。
お手数ですが、ご確認よろしくお願いいたします。
以下、ログ中のエラーメッセージの抜粋です。
fdisk: cannot open : No such file or directory
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
+ dump_rootfs_dst=
+ mkfs.vfat -F 32
mkfs.vfat: unable to open : No such file or directory
mkfs.fat 4.1 (2017-01-24)
+ mktemp -d /tmp/mnt.XXXXXXX
+ tmp=/tmp/mnt.XHM4s5f
+ mount /tmp/mnt.XHM4s5f
mount: mounting on /tmp/mnt.XHM4s5f failed: Invalid argument
/dev/sda1も認識されていますが、スクショ中の赤枠が少し気になります。
よろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
USB抜き差しメッセージ.png | |
dump_rootfs.log | 設定でdebugを有効にしています。 |
コメント
fkben
下山様
ご回答ありがとうありございます。
アドバイスの通り手動でfdiskとmkfsを実行することでdumprootfsに成功しました。
ありがとうございます。
ちなみに、usbメモリの内容は/mnt等にマウントしないと参照できないのですね。
これから、イメージファイルを作成しようと思います。
最新のDLリストは下記の通りですが、これらを利用すればよいでしょうか?
・make-install-disk-image-v1.3.0.tar.gz
・u-boot-a600-v2018.03-at15.imx
・uImage-a600-v4.14-at66
・armadillo-640-v4.14-at66.dtb
それとも、リンクを貼っていただきましたが、そのリンクのバージョンを
利用するのがよいでしょうか?
念のためご確認させて下さい。
お手数ですが、よろしくお願いいたします。
> アットマークテクノの下山です。
>
> おそらく
> https://armadillo.atmark-techno.com/forum/armadillo/10259
> でも報告されているdumprootfsの不具合です
>
> 以下のニュースに記載しているように v4.14-at52 でこの問題を修正していますが、今回のLinux カーネルは4.14-at40であるために発生しているエラーだと思われます。
> https://armadillo.atmark-techno.com/news/20221226/software-update-a600
>
> 対処法としては上記フォーラムに記載されているように、/etc/dumprootfs/dumprootfs.conf
の、force_formatをnoにして、USBメモリを手動でフォーマットしてください
>
>
> [armadillo]# grep "force_format" /etc/dumprootfs/dumprootfs.conf > force_format=no >
>
> USBメモリは以下のようにフォーマットしてください(force_formatで行っている処理と同じです)
>
> 1.fdiskによるパーティション作成
> fdisk コマンドを使い、USBメモリに新しいパーティションテーブルとパーティション(1番目)を作成します。(USBメモリが/dev/sdaの場合)
>
> fdisk /dev/sda >
>
> 次のように入力してください
>
> o:新しいDOSパーティションテーブル作成
> n:新しいパーティション作成
> p:プライマリパーティション
> 1:パーティション番号
> 空行:デフォルト値(開始セクタ)
> 空行:デフォルト値(終了セクタ)
> w:書き込み
>
> 2.パーティションのフォーマット
> 作成したパーティション(例: /dev/sda1)を FAT32 形式でフォーマットします
>
>
> mkfs.vfat -F 32 /dev/sda1 >
>
> 以上の手順でエラーが解決されるかどうか確認いただけますでしょうか?
> よろしくお願いします
at_shota.shimoyama
fkben 様
> ちなみに、usbメモリの内容は/mnt等にマウントしないと参照できないのですね。
はい、そうです。
LinuxではUSBメモリなどの記憶デバイス内のファイルなどを参照するにはマウントという操作が必要になります
> これから、イメージファイルを作成しようと思います。
> 最新のDLリストは下記の通りですが、これらを利用すればよいでしょうか?
>
> ・make-install-disk-image-v1.3.0.tar.gz
> ・u-boot-a600-v2018.03-at15.imx
> ・uImage-a600-v4.14-at66
> ・armadillo-640-v4.14-at66.dtb
>
> それとも、リンクを貼っていただきましたが、そのリンクのバージョンを
> 利用するのがよいでしょうか?
挙げていただいたファイルは私が以前貼ったリンクと同じものですので、どちらでも問題ありません
また、現在のArmadilloに搭載されているバージョンでなければならない理由などがある場合には、そのバージョンのuImage・dtb・u-bootでインストールディスクイメージを作成するのが良いかと思います
よろしくお願いします
fkben
下山様
早速のご回答ありがとうございます。
USBメモリはmountコマンドを実行する必要がある件了解しました。
「make-install-disk-image-v1.3.0.tar.gz」につきましては、
最新版のこのtar.gzを利用してみます。
これら3つにつきましては、できれば「dumprootfs」コマンドを
実行したarmadillo-640実機と同じものが良いかなと思っています。
(同じ方が安心かなと漠然と思っているだけで深い理由はありません。)
その場合、これら3ファイルはどれをDLすべきなのかは、どのようにしたら
わかりますか?
・u-boot-a600-v2018.03-at15.imx
・uImage-a600-v4.14-at66
・armadillo-640-v4.14-at66.dtb
なお、上記最新のモノでも試そうとは思っています。
あまり気にする必要はないのでしょうか?
お手数ですが、よろしくお願いいたします。
> fkben 様
>
> > ちなみに、usbメモリの内容は/mnt等にマウントしないと参照できないのですね。
> はい、そうです。
> LinuxではUSBメモリなどの記憶デバイス内のファイルなどを参照するにはマウントという操作が必要になります
>
> > これから、イメージファイルを作成しようと思います。
> > 最新のDLリストは下記の通りですが、これらを利用すればよいでしょうか?
> >
> > ・make-install-disk-image-v1.3.0.tar.gz
> > ・u-boot-a600-v2018.03-at15.imx
> > ・uImage-a600-v4.14-at66
> > ・armadillo-640-v4.14-at66.dtb
> >
> > それとも、リンクを貼っていただきましたが、そのリンクのバージョンを
> > 利用するのがよいでしょうか?
> 挙げていただいたファイルは私が以前貼ったリンクと同じものですので、どちらでも問題ありません
> また、現在のArmadilloに搭載されているバージョンでなければならない理由などがある場合には、そのバージョンのuImage・dtb・u-bootでインストールディスクイメージを作成するのが良いかと思います
>
> よろしくお願いします
at_shota.shimoyama
> これら3つにつきましては、できれば「dumprootfs」コマンドを
> 実行したarmadillo-640実機と同じものが良いかなと思っています。
> (同じ方が安心かなと漠然と思っているだけで深い理由はありません。)
> その場合、これら3ファイルはどれをDLすべきなのかは、どのようにしたら
> わかりますか?
> ・u-boot-a600-v2018.03-at15.imx
> ・uImage-a600-v4.14-at66
> ・armadillo-640-v4.14-at66.dtb
まず、搭載されているuImageと.dtbについては原則同じバージョンですので、一番上に記載していただいたバージョンであるat40のuImageと.dtbをお使いください
u-bootについては、Armadilloを起動する際に初めにU-Boot 2018.03-atXX (Feb 17 2020 - 19:19:11 +0900)
と表示されると思いますので、そのバージョンのu-bootをお使いください(時期的におそらくat10ではないかと思います)
> なお、上記最新のモノでも試そうとは思っています。
> あまり気にする必要はないのでしょうか?
最新のバージョンはat40と比較して不具合の修正や新機能の追加などが為されていますが、現行のソフトで十分に問題なく動作しているのであれば最新にする必要性もそこまで無いかと思います
よろしくお願いします
fkben
下山様
ご回答ありがとうございます。
念のために再度ご確認させて下さい。
お手数ですが、よろしくお願いいたします。
1) 現在使用しているmicroSDカード(インストーラ)での起動メッセージ抜粋。
U-Boot 2018.03-at8 installer+(Feb 17 2020...)
2) セットアップ完了後の実際にArmadillo-640での起動メッセージの抜粋。
Linux version 4.14-at43(root@atde38)(gcc...)
1)の通り「at8」とありますので、下記のようなファイル構成でしょうか?
アドバイスの通り、「at40」を利用。それとも、2)の「at43」なのでしょうか?
◆ 現在と同じ(現状で問題ないのであればこれで問題なし)
・make-install-disk-image-v1.3.0.tar.gz
・u-boot-a600-v2018.03-at8.imx
・uImage-a600-v4.14-at40
・armadillo-640-v4.14-at40.dtb
気にせず、全て最新で試そうとするとこのような感じでしょうか?
先程までの記述と同様。
◆ 全て最新(最新という認識は正しい?)
・make-install-disk-image-v1.3.0.tar.gz
・u-boot-a600-v2018.03-at15.imx
・uImage-a600-v4.14-at66
・armadillo-640-v4.14-at66.dtb
これら3ファイル、インストーラ、実機の関係を理解できていないことで
繰り返しの質問となってしまい申し訳ありません。
この3つのファイルはインストーラとして利用し、dumprootfsを実行
して新しいインストーラを作成する前にセットアップを行った
uImageとdtb(atdt-web)が適用されるという認識で正しいでしょうか?
よろしくお願いいたします。
> > これら3つにつきましては、できれば「dumprootfs」コマンドを
> > 実行したarmadillo-640実機と同じものが良いかなと思っています。
> > (同じ方が安心かなと漠然と思っているだけで深い理由はありません。)
> > その場合、これら3ファイルはどれをDLすべきなのかは、どのようにしたら
> > わかりますか?
> > ・u-boot-a600-v2018.03-at15.imx
> > ・uImage-a600-v4.14-at66
> > ・armadillo-640-v4.14-at66.dtb
>
> まず、搭載されているuImageと.dtbについては原則同じバージョンですので、一番上に記載していただいたバージョンであるat40のuImageと.dtbをお使いください
> u-bootについては、Armadilloを起動する際に初めにU-Boot 2018.03-atXX (Feb 17 2020 - 19:19:11 +0900)
と表示されると思いますので、そのバージョンのu-bootをお使いください(時期的におそらくat10ではないかと思います)
>
> > なお、上記最新のモノでも試そうとは思っています。
> > あまり気にする必要はないのでしょうか?
> 最新のバージョンはat40と比較して不具合の修正や新機能の追加などが為されていますが、現行のソフトで十分に問題なく動作しているのであれば最新にする必要性もそこまで無いかと思います
>
> よろしくお願いします
at_shota.shimoyama
> この3つのファイルはインストーラとして利用し、dumprootfsを実行
> して新しいインストーラを作成する前にセットアップを行った
> uImageとdtb(atdt-web)が適用されるという認識で正しいでしょうか?
分かりにくくてすみません。
まず、dumprootfsはArmadillo内のルートファイルシステムだけしか抽出しません
Armadilloが動作するためには、
・ブートローダーイメージ(u-boot)
・Linuxカーネルイメージ(uImage)
・デバイスツリー(.dtb)
・ルートファイルシステムアーカイブ(rootfs.tar.gz)
の4つ全てが必要になりますが、dumprootfsはこのうちのルートファイルシステムアーカイブだけをArmadilloから抽出するためのソフトです
また、make-install-disk-imageはこれら4つ全てをArmadilloにインストールするインストーライメージを作成するソフトです
そのため、make-install-disk-imageを使用してインストーラを作成する際には上記4つ全てを用意する必要があります
このうち、ルートファイルシステムアーカイブについてはdumprootfsで用意できますが、他の3つについてもサイト
https://armadillo.atmark-techno.com/armadillo-640/resources/software
からダウンロードするなどして用意する必要があります
ですので、この3つのファイルはインストーラとして利用するのではなく、実際にArmadillo内のブートローダーイメージ(u-boot)・Linuxカーネルイメージ(uImage)・デバイスツリー(.dtb)がそれらで置き換えられます
> 1) 現在使用しているmicroSDカード(インストーラ)での起動メッセージ抜粋。
> U-Boot 2018.03-at8 installer+(Feb 17 2020...)
これも分かりにくくて申し訳ないのですが、make-install-disk-imageで作ったインストーラにはインストーラとして機能するためのu-bootが入っていて、インストーラを起動するとU-Boot 2018.03-at8 installer+
として表示されます
ですので、これはインストーラとして機能するためのu-bootであって、別途用意したu-bootの方ではありません
Armadillo内に搭載されているu-bootのバージョンを確認するには、make-install-disk-imageで作ったインストーラではなく、素の状態で起動した際に表示されるメッセージのバージョンを確認してください
> 2) セットアップ完了後の実際にArmadillo-640での起動メッセージの抜粋。
> Linux version 4.14-at43(root@atde38)(gcc...)
fkben 様が「カーネルバージョン:Linux armadillo 4.14-at40」 と記載していたためat40と指定させていただきましたが、セットアップ完了後の起動メッセージというのはat40のときとはまた別の個体でしょうか?
弊社からArmadilloを出荷する時期によって、Armadillo内のブートローダーやLinuxカーネルイメージなどのバージョンが異なりますので、
ご購入されてからArmadillo内のカーネルイメージなどを直接変えたり、弊社が提供している標準のインストールディスクイメージを使用していない場合には、個体ごとにバージョンが異なっている可能性があります。
何かご不明な点等ございましたら遠慮なくお聞きください
よろしくお願いします。
fkben
下山様
丁寧なご回答ありがとうございます。
こちらこそ、理解が追い付かずお手数をお掛けしています。
最初に「at40」について、確かに私が環境欄に記述しています。
uname -a で確認すると「at43」と表示されますので、私の確認ミスと思われます。
申し訳ありません。
4ファイルについて、いずれも実際に実機で動作するということで理解しました。
下記認識で正しいでしょうか?
1) uImageについて
こちらでカーネルを再構築しています。その場合は、そのuImageが必要。
2) dtbについて
同様に、at-dtwebで変更しています。これも同様に、そのファイルが必要。
3) ubootについて
実機起動時に、U-Boot 2018.03-at10(Nov 24 2021 ...)と表示されます。
ということで、u-boot-a600-v2018.03-at10.imxが必要。
4) rootfsについて
今回作成したdump_rootfs.tar.gzが必要。
そして、「build.sh」を実行する際にこれらのファイル名を引数で指定する。
おそらく、これで先に進めると思われます。ありがとうございます。
明日、本作業を試してみようと思います。その際に結果等をお伝えしようと思います。
引き続き、よろしくお願いいたします。
> > この3つのファイルはインストーラとして利用し、dumprootfsを実行
> > して新しいインストーラを作成する前にセットアップを行った
> > uImageとdtb(atdt-web)が適用されるという認識で正しいでしょうか?
>
> 分かりにくくてすみません。
> まず、dumprootfsはArmadillo内のルートファイルシステムだけしか抽出しません
> Armadilloが動作するためには、
> ・ブートローダーイメージ(u-boot)
> ・Linuxカーネルイメージ(uImage)
> ・デバイスツリー(.dtb)
> ・ルートファイルシステムアーカイブ(rootfs.tar.gz)
> の4つ全てが必要になりますが、dumprootfsはこのうちのルートファイルシステムアーカイブだけをArmadilloから抽出するためのソフトです
>
> また、make-install-disk-imageはこれら4つ全てをArmadilloにインストールするインストーライメージを作成するソフトです
> そのため、make-install-disk-imageを使用してインストーラを作成する際には上記4つ全てを用意する必要があります
> このうち、ルートファイルシステムアーカイブについてはdumprootfsで用意できますが、他の3つについてもサイト
> https://armadillo.atmark-techno.com/armadillo-640/resources/software
> からダウンロードするなどして用意する必要があります
>
> ですので、この3つのファイルはインストーラとして利用するのではなく、実際にArmadillo内のブートローダーイメージ(u-boot)・Linuxカーネルイメージ(uImage)・デバイスツリー(.dtb)がそれらで置き換えられます
>
> > 1) 現在使用しているmicroSDカード(インストーラ)での起動メッセージ抜粋。
> > U-Boot 2018.03-at8 installer+(Feb 17 2020...)
>
> これも分かりにくくて申し訳ないのですが、make-install-disk-imageで作ったインストーラにはインストーラとして機能するためのu-bootが入っていて、インストーラを起動するとU-Boot 2018.03-at8 installer+
として表示されます
> ですので、これはインストーラとして機能するためのu-bootであって、別途用意したu-bootの方ではありません
>
> Armadillo内に搭載されているu-bootのバージョンを確認するには、make-install-disk-imageで作ったインストーラではなく、素の状態で起動した際に表示されるメッセージのバージョンを確認してください
>
>
> > 2) セットアップ完了後の実際にArmadillo-640での起動メッセージの抜粋。
> > Linux version 4.14-at43(root@atde38)(gcc...)
>
> fkben 様が「カーネルバージョン:Linux armadillo 4.14-at40」 と記載していたためat40と指定させていただきましたが、セットアップ完了後の起動メッセージというのはat40のときとはまた別の個体でしょうか?
> 弊社からArmadilloを出荷する時期によって、Armadillo内のブートローダーやLinuxカーネルイメージなどのバージョンが異なりますので、
> ご購入されてからArmadillo内のカーネルイメージなどを直接変えたり、弊社が提供している標準のインストールディスクイメージを使用していない場合には、個体ごとにバージョンが異なっている可能性があります。
>
> 何かご不明な点等ございましたら遠慮なくお聞きください
> よろしくお願いします。
at_shota.shimoyama
> 4ファイルについて、いずれも実際に実機で動作するということで理解しました。
> 下記認識で正しいでしょうか?
はい、全くそのとおりです
> 1) uImageについて
> こちらでカーネルを再構築しています。その場合は、そのuImageが必要。
>
> 2) dtbについて
> 同様に、at-dtwebで変更しています。これも同様に、そのファイルが必要。
uImageとdtbについては変更があったということですね
その場合にはおっしゃるとおり、そのファイルが必要になります
ややこしいことになってしまいすみません
> 明日、本作業を試してみようと思います。その際に結果等をお伝えしようと思います。
> 引き続き、よろしくお願いいたします。
はい、よろしくお願いします。
fkben
下山様
色々とご対応ありあとうございました。
無事にインストールディスクを作成し、作成したディスクから別のArmadillo-640にインストール
することができました。
丁寧なご対応、本当に助かりました。ありがとうございました。
念のため、以下のような確認作業を行っています。
・cmpコマンドで、「uImage」「dtbファイル」について、意図したモノであるか確認。
・その他、適宜diffコマンドでファイルを比較。
・dpkg -l コマンドでインストールしたパッケージを確認。
・pip3 listコマンドでインストールしたpythonパッケージを確認。
・起動時の動作が意図した通りあることを確認。
最後に、本件とは内容がそれますが、2点確認させて下さい。
・一度インストールしたeMMCの内容をクリアすることは可能でしょうか?
可能であれば、素のArmadillo-640に繰り返しインストールを行い、確認してみようかと思いまして。
上書きでも特に問題ないのですが、もし可能であればと思いまして。
・現時点では、busterを使っています。将来的にはbaseosへの切り替えを考えた方が良いのでしょうか?
しばらく(数年程度)は気にする必要はないでしょうか?
本当に、ありがとうございました。
> > 4ファイルについて、いずれも実際に実機で動作するということで理解しました。
> > 下記認識で正しいでしょうか?
>
> はい、全くそのとおりです
>
> > 1) uImageについて
> > こちらでカーネルを再構築しています。その場合は、そのuImageが必要。
> >
> > 2) dtbについて
> > 同様に、at-dtwebで変更しています。これも同様に、そのファイルが必要。
>
> uImageとdtbについては変更があったということですね
> その場合にはおっしゃるとおり、そのファイルが必要になります
> ややこしいことになってしまいすみません
>
> > 明日、本作業を試してみようと思います。その際に結果等をお伝えしようと思います。
> > 引き続き、よろしくお願いいたします。
>
> はい、よろしくお願いします。
at_shota.shimoyama
fkben 様
> 色々とご対応ありあとうございました。
> 無事にインストールディスクを作成し、作成したディスクから別のArmadillo-640にインストール
> することができました。
無事に作成したインストールディスクでインストールができたようでなによりです
> 最後に、本件とは内容がそれますが、2点確認させて下さい。
> ・一度インストールしたeMMCの内容をクリアすることは可能でしょうか?
> 可能であれば、素のArmadillo-640に繰り返しインストールを行い、確認してみようかと思いまして。
> 上書きでも特に問題ないのですが、もし可能であればと思いまして。
弊社が提供している標準のインストールディスクイメージでインストールする(=初期化)というのはどうでしょうか?
これであれば、任意のバージョンでのLinuxカーネルイメージ・デバイスツリー・ブートローダ・ユーザーランドに書き換えることができますので、
Armadillo-640(量産タイプ)のセットアップをするという状況により近くなるのではないかと思います
https://armadillo.atmark-techno.com/resources/software/armadillo-640/di…
> ・現時点では、busterを使っています。将来的にはbaseosへの切り替えを考えた方が良いのでしょうか?
> しばらく(数年程度)は気にする必要はないでしょうか?
ABOSの方については弊社が現在積極的に機能追加・改善&セキュリティの向上&不具合の修正などに力を入れて取り組んでいるため、新規に製品を開発される場合にはbusterではなくABOSを推奨していますが、
現時点でbusterなどのABOS以外のOSで組みあがっている製品については、積極的にABOSに切り替える必要性はそこまで無いかと思います。
fkben
下山様
> 無事に作成したインストールディスクでインストールができたようでなによりです
ありがとうございます。
> > 最後に、本件とは内容がそれますが、2点確認させて下さい。
> > ・一度インストールしたeMMCの内容をクリアすることは可能でしょうか?
> > 可能であれば、素のArmadillo-640に繰り返しインストールを行い、確認してみようかと思いまして。
> > 上書きでも特に問題ないのですが、もし可能であればと思いまして。
> 弊社が提供している標準のインストールディスクイメージでインストールする(=初期化)というのはどうでしょうか?
> これであれば、任意のバージョンでのLinuxカーネルイメージ・デバイスツリー・ブートローダ・ユーザーランドに書き換えることができますので、
> Armadillo-640(量産タイプ)のセットアップをするという状況により近くなるのではないかと思います
> https://armadillo.atmark-techno.com/resources/software/armadillo-640/di…
そうですね。アドバイスいただいた、方法で確認します。
> > ・現時点では、busterを使っています。将来的にはbaseosへの切り替えを考えた方が良いのでしょうか?
> > しばらく(数年程度)は気にする必要はないでしょうか?
>
> ABOSの方については弊社が現在積極的に機能追加・改善&セキュリティの向上&不具合の修正などに力を入れて取り組んでいるため、新規に製品を開発される場合にはbusterではなくABOSを推奨していますが、
> 現時点でbusterなどのABOS以外のOSで組みあがっている製品については、積極的にABOSに切り替える必要性はそこまで無いかと思います。
こちらにつきましても、アドバイスいただいた内容で考えていきます。
本当にありがとうございました。
本件、クローズでお願いします。
at_shota.shimoyama
2025年7月14日 11時38分
アットマークテクノの下山です。
おそらく
https://armadillo.atmark-techno.com/forum/armadillo/10259
でも報告されているdumprootfsの不具合です
以下のニュースに記載しているように v4.14-at52 でこの問題を修正していますが、今回のLinux カーネルは4.14-at40であるために発生しているエラーだと思われます。
https://armadillo.atmark-techno.com/news/20221226/software-update-a600
対処法としては上記フォーラムに記載されているように、
/etc/dumprootfs/dumprootfs.conf
の、force_formatをnoにして、USBメモリを手動でフォーマットしてくださいUSBメモリは以下のようにフォーマットしてください(force_formatで行っている処理と同じです)
1.fdiskによるパーティション作成
fdisk コマンドを使い、USBメモリに新しいパーティションテーブルとパーティション(1番目)を作成します。(USBメモリが/dev/sdaの場合)
次のように入力してください
o:新しいDOSパーティションテーブル作成
n:新しいパーティション作成
p:プライマリパーティション
1:パーティション番号
空行:デフォルト値(開始セクタ)
空行:デフォルト値(終了セクタ)
w:書き込み
2.パーティションのフォーマット
作成したパーティション(例: /dev/sda1)を FAT32 形式でフォーマットします
以上の手順でエラーが解決されるかどうか確認いただけますでしょうか?
よろしくお願いします