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.9MB로 내 시스템에 비해 너무 큽니다. 내 응용 프로그램에 하나만 추가 하면 되고 다른 것은 필요하지 login prompt않습니다. 그런데 불필요한 것이 왜 그렇게 많이 있어야 합니까?

필요하지 않은 패키지를 제거하고 애플리케이션에 다시 로그인하려면 어떤 접근 방식을 취해야 합니까? sbin에 바이너리tinylogin이 있는 것을 확인하고 이를 유지하고 싶습니다. 하지만 다른 파일을 무턱대고 삭제할 수는 없을 것 같습니다.

그렇다면 rootfs.cpio의 크기를 줄이는 올바른 방법은 무엇입니까?

고쳐 쓰다tinylogin필요한 로그인 정보를 제공하는 sbin 폴더에 라는 파일이 있다는 것을 말씀드리고 싶습니다 . 하지만 다음에 무엇을 해야할지 모르겠습니다!

답변1

어떤 배포판이 rootfs를 생성했는지 언급하지 않았습니다. 그러나 최소한의 rootfs만 생성하려는 것 같습니다. 이 가이드는 최소한의 파일 시스템을 처음부터 구축하는 과정을 안내합니다.http://www.tldp.org/HOWTO/Bootdisk-HOWTO/buildroot.html

관련 정보