减小 rootfs.cpio 大小的正确方法是什么?

减小 rootfs.cpio 大小的正确方法是什么?

我用

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.9 MB,这对于我的系统来说太大了。我只需要login prompt在我的应用程序中添加一个,而不需要其他任何东西,所以为什么要我有这么多不必要的东西。

我应该采取什么方法来删除我不需要的包,并仅重新登录应用程序。我看到sbin中有一个二进制的tinylogin,所以想保留它。但我认为不能盲目删除其他文件。

那么减少 rootfs.cpio 大小的正确方法是什么

更新 我想告诉大家,我tinylogin在 sbin 文件夹中有一个名为 的文件,它提供了我需要的登录信息。但我不知道下一步该做什么!

答案1

您没有提到哪个发行版创建了 rootfs。然而,您似乎只想创建一个最小的 rootfs。本指南将引导您从头开始构建最小的文件系统:http://www.tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html

相关内容