busyboxを使用したルートディレクトリツリーの複製

busyboxを使用したルートディレクトリツリーの複製

ネットワークブートにTFTPおよびNFSマウントルートファイルシステムを使用するTI DaVinci(OMAPに似たARMアーキテクチャ)ベースのシステムがあり、ネットワークブートサーバーなしで独立してブートすることを試みます。

デフォルトのアプローチでは、カーネルイメージをNANDフラッシュにコピーし、ルートファイルシステムを接続されたSATAディスクにコピーし(NANDフラッシュはシステム全体に比べて十分に大きくありません)、NANDフラッシュからカーネルをロードするようにu-bootを設定し、適切なroot=引数を渡します。

ファイルシステムをコピーする段階で停止しました。 この問題cp関連していますが、cpioツールのbusyboxバージョンのみがあり、--one-file-systembusyboxがそのオプションをサポートしていないため、提案は効果がありませんでした。

busyboxが提供するツール機能だけでルートファイルシステムを複製する方法は? NFSサーバー(Ubuntuを実行しているx64アーキテクチャ)でアーカイブ生成コマンドを実行してから、ターゲットから解凍するのに役立ちますか?

ベストアンサー1

BusyBoxはfindこの-xdevオプションをサポートしているため、この方法でルートファイルシステムのcpioアーカイブを作成できます。 tarとは異なり、cpioはディレクトリをアーカイブするときにディレクトリの内容を保持しません。

find . -xdev | cpio -H newc -o |
{ cd /mnt && cpio -m -i; }

デバイスから画像を構築する理由がわかりません。開発マシンでビルドスクリプトを使用してファイルシステムイメージをビルドし、イメージをデプロイしたいと思います。

おすすめ記事