私は使う
cpio -idv <rootfs
rootfs.cpio ファイルの内容をすべて抽出します。
以下は、petalinuxをコンパイルした後に取得したデフォルトのrootfs.cpioの内容です。
[root@xilinx ourput]# ls -ld *
drwxr-xr-x. 2 root root 4096 Apr 14 14:12 bin
drwxr-xr-x. 2 root root 4096 Apr 14 14:12 boot
drwxr-xr-x. 3 root root 4096 Apr 14 14:12 dev
drwxr-xr-x. 15 root root 4096 Apr 14 14:12 etc
drwxr-xr-x. 3 root root 4096 Apr 14 14:12 home
lrwxrwxrwx. 1 root root 9 Apr 14 14:12 init -> sbin/init
drwxr-xr-x. 3 root root 4096 Apr 14 14:12 lib
drwxr-xr-x. 10 root root 4096 Apr 14 14:12 media
drwxr-xr-x. 2 root root 4096 Apr 14 14:12 mnt
drwxr-xr-x. 2 root root 4096 Apr 14 14:12 proc
drwxr-xr-x. 2 root root 4096 Apr 14 14:12 sbin
drwxr-xr-x. 2 root root 4096 Apr 14 14:12 sys
lrwxrwxrwx. 1 root root 8 Apr 14 14:12 tmp -> /var/tmp
drwxr-xr-x. 9 root root 4096 Apr 14 14:12 usr
drwxr-xr-x. 8 root root 4096 Apr 14 14:12 var
各フォルダのサイズは次のとおりです。
[root@xilinx ourput]# du -sb *
680661 bin
4096 boot
8192 dev
160521 etc
8192 home
9 init
2572159 lib
36864 media
4136 mnt
4096 proc
730887 sbin
4096 sys
8 tmp
518578 usr
176548 var
ファイルシステムの合計サイズは約6.9MBで、私のシステムに比べて大きすぎます。私のアプリケーションに1つだけ追加するだけで、他のものは必要ありlogin prompt
ません。しかし、なぜ不必要なものがそんなにたくさんあるべきですか?
不要なパッケージを削除してアプリケーションに再ログインするには、どのようなアプローチを取る必要がありますか? sbinにバイナリtinyloginがあることを確認し、それを維持したいと思います。しかし、他のファイルを無視して削除することはできないようです。
もしそうなら、rootfs.cpioのサイズを小さくする正しい方法は何ですか?
修正するtinylogin
必要なログイン情報を提供するsbinフォルダにというファイルがあることをお伝えしたいと思います。しかし、次に何をすべきかわかりません!
ベストアンサー1
どのディストリビューションがrootfsを生成したかについては言及していません。しかし、最小限のrootfsだけを生成したいようです。このガイドは、最小限のファイルシステムを最初から構築するプロセスを案内します。http://www.tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html