Armadilloフォーラム

ABOSのアップデートに失敗する

nshmr

2024年1月30日 14時10分

現在、Armadillo Base OS 3.15.3-at.4 を使用しております。
最新版の3.18.6-at.10にアップデートしようとしているのですが、下記のようなエラーが出て失敗します。

armadillo:~# mount /dev/sda1 /mnt                                                                                           
armadillo:~# swupdate -i /mnt/baseos-x2-3.18.6-at.10.swu                                                                    
SWUpdate v2021.11.0                                                                                                         
 
Licensed under GPLv2. See source distribution for detailed copyright notices.                                               
 
[INFO ] : SWUPDATE started :  Software Update started !                                                                     
[ERROR] : SWUPDATE failed [0] ERROR : cp: cannot stat '/live/rootfs//etc/resolv.conf': No such file or directory            
[ERROR] : SWUPDATE failed [0] ERROR : ----------------------------------------------                                        
[ERROR] : SWUPDATE failed [0] ERROR : /!\ Failed to copy /etc/resolv.conf from previous rootfs                              
[ERROR] : SWUPDATE failed [0] ERROR : ----------------------------------------------                                        
[ERROR] : SWUPDATE failed [0] ERROR : Command failed: sh $1 /var/tmp//zst.scripts_post.sh                                   
[ERROR] : SWUPDATE failed [0] ERROR : Error streaming zst.scripts_post.sh                                                   
[ERROR] : SWUPDATE failed [1] Image invalid or corrupted. Not installing ...                                                
[INFO ] : No SWUPDATE running :  Waiting for requests... 

swupdateのバージョンが古いことが原因かと考え、

#apk update
#apk upgrade

も実行しましたが、状況変わらずです。

エラーメッセージに表示されている /live/rootfs//etc/resolv.conf は確かに存在していませんが、/etc/resolv.confは存在しています。

対処方法が分かれば、教えてください。

コメント

nshmr

2024年1月30日 14時11分

すいません。製品選択を忘れました。
Armadillo-IoT G4です。

at_dominique.m…

2024年1月30日 14時41分

nshmrさん、

お世話になっています、
マルティネです。

> 現在、Armadillo Base OS 3.15.3-at.4 を使用しております。
> 最新版の3.18.6-at.10にアップデートしようとしているのですが、下記のようなエラーが出て失敗します。

 
> [ERROR] : SWUPDATE failed [0] ERROR : cp: cannot stat '/live/rootfs//etc/resolv.conf': No such file or directory            
> [ERROR] : SWUPDATE failed [0] ERROR : ----------------------------------------------                                        
> [ERROR] : SWUPDATE failed [0] ERROR : /!\ Failed to copy /etc/resolv.conf from previous rootfs                              
> [ERROR] : SWUPDATE failed [0] ERROR : ----------------------------------------------                                        
> [ERROR] : SWUPDATE failed [0] ERROR : Command failed: sh $1 /var/tmp//zst.scripts_post.sh              

>
> エラーメッセージに表示されている /live/rootfs//etc/resolv.conf は確かに存在していませんが、/etc/resolv.confは存在しています。

大変申し訳ございません、再現できました。

/etc/swupdate_preserve_files に「POST /etc/resolv.conf」があると思いますが、その行を削除して「persist_file /etc/swupdate_preserve_files」で保存していただければインストールが通ると思います。
(他の POST ファイルで同じ問題が無ければ)

この不具合の条件は:
* ファイルを POST で swupdate_preserve_files に記録されています(persist_file -P等での追加)
* ファイルは overlayfs に存在しますが rootfs に存在しない(persist_file -d 等で削除した後に overlayfs だけに再作成)

デフォルトの /etc/swupdate_preserve_files に POST のルールがないために気づきませんでした、お手数をお掛けしました。
問題を修正してテストを追加します。

> swupdateのバージョンが古いことが原因かと考え

ちなみに古い swupdate のバージョンのままでも問題ないはずです(デフォルト設定で毎月確認しています)が、更新しておいても問題ないはずです。

また何かありましたらまたご連絡ください!

よろしくお願いします。

nshmr

2024年1月30日 15時01分

マルティネです。
ありがとうございます。

> /etc/swupdate_preserve_files に「POST /etc/resolv.conf」があると思いますが、その行を削除して「persist_file /etc/swupdate_preserve_files」で保存していただければインストールが通ると思います。
これで、アップデートできました。