web-dev-qa-db-ja.com

rootfs.cpioのサイズを減らすための正しいアプローチは何ですか?

私が使う

cpio -idv <rootfs

rootfs.cpioファイル内にあるものをすべて抽出します。

以下は、petalinuxをコンパイルした後に取得するdefualtrootfs.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で、私のシステムには大きすぎます。私は自分のアプリケーションにlogin Promptが必要なだけで、他には何も必要ありません。

不要なパッケージを削除し、ログインアプリケーションのみを再利用するための私のアプローチはどうあるべきですか。 sbinにバイナリのtinyloginがあるのを見たので、それを保持するのは嘘ですが、他のファイルをやみくもに削除することはできないと思います。

では、rootfs.cpioのサイズを縮小するための正しいアプローチは何ですか?

更新必要なログインを提供するsbinfilderにtinyloginという名前のファイルがあることを伝えたいと思います。しかし、次に何をすべきかわかりません!

1
user2799508

どのディストリビューションがrootfsを作成したかについては言及していません。ただし、最小限のrootfsを作成したいだけのようです。このガイドでは、最小限のfsを最初から作成する方法について説明します。 http://www.tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html

1
Martin Eve