組み込みシステムで buildroot から生成された小さな OS を作成して起動することに成功しました。Buildroot は cpio を生成します。私はそれを解凍します(動作しているcpio、問題なく起動します)
cpio -iv < ../rootfs.cpio
ディレクトリに。その後、もう一度圧縮します
find . | cpio --quiet -o -H newc > ../rootfs.cpio
これは、buildroot (cpio.mk:31 内) で使用されるコマンドです。
しかし、この時点で cpio はもう機能しません。そのファイルを使用してカーネルをコンパイルすると、カーネル パニックが発生します。ファイルのアクセス許可は同じようです。bcompare を使用すると、「再圧縮された」ファイルの末尾、init スクリプトの直前にゼロが追加されていることがわかりました。それらを削除しようとしましたが、この時点でシステムがフリーズします。CRC チェックがどこかにある可能性があります。
何か案は?要点は、buildroot から開始したいのですが、その rootfs に自分のものを追加してから、それを自分のカーネルに組み込みたいということです。