我用
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