2016-09-16 3 views
2

Zedboard의 임베디드 프로젝트를 진행하고 있습니다. 나는 (적어도 지금은) 적절한 rootfs를 생산하기 위해서 Bitbake를 사용하기를 바란다. 한정된 양의 스태프만을 필요로하기 때문에 레시피 코어 이미지 - 최소를 사용합니다. 어떻게하면 커널을 컴파일하지 않고, u-boot 등을 만들지 않고 rootfs에만 집중하도록 "알릴 수 있습니까?" 그런 다음 rootfs 핵심 이미지 만 수정하면 루트 파일 만 만들 수 있습니다.

에 필요한 패키지를 추가 수정 local.conf을

  1. 내 빌드 환경 만든
  2. 다운로드 필요한 층
  3. : 여기

    내가 지금까지 한 일이다 타이핑 후

    bitbake core-image-minimal 
    

    나는 내 rootfs와이 모든 불필요한 스태프를 얻는다. 어떻게 피할 수 있습니까?

+0

여기서 달성하려는 것은 무엇입니까? 이미지를 만들 시간이 줄어 듭니 까? 적은 디스크 사용량? 사물의 계획에서, 커널과 u-boot는 빌드 프로세스의 아주 작은 부분 일 뿐이므로이를 제거하는 것이 별 차이가 없을 것입니다. 대부분의 빌드 타임은 컴파일러와 libc 빌드에 사용됩니다. –

+0

나는 올바른 방식으로 일을하고 싶다. 나는 더 나은 Yocto를 이해하고 싶다. 앞서 말했듯이, rootfs 컴파일은 약 3 시간이고 커널은 약 15 분이므로 시간이 중요하지 않습니다. – Staszek

답변

1

나는 최근에 에만과 같은 필요성이 있습니다. 커널, uboot, 이미지 생성 등과 같은 다른 것들을 건너 뛰고 yocto로 rootfs를 빌드해야합니다. 합법적 인 이유가 많이 있습니다. 의

bitbake core-image-minimal -c image_cpio 

krogoth에서,이 build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/rootfs에게 디렉토리를 채울와 모티에

build/tmp/deploy/images/$MACHINE/에서 rootfs.cpio 파일을 생성 : 어쨌든, 이것은 당신이해야 할 것입니다 rootfs.cpio 아카이브가있는 것 같습니다 build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/deploy-core-image-minimal-image-complete/

+0

감사합니다. 나는 나중에 이것을 morthy와 점검하고 작동한다면 받아 들일 것입니다. – Staszek

1

흥미로운 개념. 그러나, 내가 관찰 한 바에 따르면, Yocto는 커널 자체에 defconfig을 가져와 이미지 자체에서 구성을 수행해야합니다. 따라서 프로세스를 제거하면 rootfs를 부팅 할 수 없게됩니다.

다른 컴퓨터에서 컴파일 할 때 다른 커널을 사용했기 때문에 이런 일이 많이있었습니다. 나는 ARM 이미지가 동일 할 것이며 모든 머신에서 작동 할 것이라고 생각했지만 틀렸어.

데비안의 경우 컴파일 된 이미지는 커널의 해당 구성을 사용하여 rootfs를 컴파일해야 작동합니다. 그리고 Yocto는 동일합니다.

+0

글쎄, 내가 이미 말했듯이, 나는 단지 Yocto에서 커널과 U- 부트를 무시하고 rootfs만을 사용한다. 아마 기본 커널 설정이 나의 것과 유사하기 때문일 것입니다. 감사합니다. 감사합니다! 중요한 것을 가리키는 +1 (나는 그것이 불법이 아니길 바란다 :)) – Staszek