yocto - IMAGE_FEATURE: package-management

markyang92·2022년 5월 12일
0

yocto

목록 보기
12/53
post-thumbnail

IMAGE_FEATURES "package-management"

  • PACKAGE_CLASSES = "package_ipk"인 경우에 대해 설명함
  • 이 기능을 넣어 Image에 적용 시키면,Rootfs에서, 이러한 기능이 작동되는 과정에서, /etc/opkg/*.conf 파일을 생성해줌
  • 특히, 에서, 현재 Build과정 중에 ${PACKAGE_FEED_URIS}, ${PACKAGE_FEED_BASE_PATHS}, ${PACKAGE_FEED_ARCH}가 적용되어 있으면, openembedded-core/meta/lib/oe/package_manager.py에서, insert_feeds_uris가 적용되어, feed용.conf/etc/opkg/feed용.conf가 적용된다.
  • ipk일 경우 아래가 적용된다.

${PACKAGE_FEED_URIS}, ${PACKAGE_FEED_BASE_PATHS}

local.conf

PACKAGE_FEED_URIS = "http://<server_ip>/"
PACKAGE_FEED_BASE_PATHS = "ipk_server"
  • 패키지 피드의 base URL은 아래 처럼 구성된다.
${PACKAGE_FEED_URIS}/${PACKAGE_FEED_BASE_PATHS}/${PACKAGE_FEED_ARCHS}.


qemucore-image-minimal을 구동 시켜보자.

$ runqemu core-image-minimal nographic
  • opkg관련 파일은 있지만 opkg 매니징 파일 (opkg.conf, opkg 바이너리)등 이 없다.

  • local.confIMAGE_FEATURESpackage-management를 추가한다.
  • 그리고 재 빌드 한다.
$ bitbake core-image-minimal
$ runqemu core-image-minimal nographic
$ opkg
  • opkg 바이너리 확인
  • opkg 설정 파일 확인


Pacakage Indexing

  1. 패키지 인덱스 Refresh.
    매 빌드 후, 연결한 서버의 Package Feed Update.
    $ bitbake package-index
  • build/deploy/<ipk|rpm|deb>/에 패키지 포맷 별 Package List 생성


pacakge-index

  • 위의 Package List를 만들어주는 bitbake recipe 이자 tool
  • FILE=open-embedded/meta/recipes-core/meta/package-index.bb

local package server

  1. poky core-image-minimal 에서, EXTRA_IMAGE_FEATURES += "package-management"를 사용
  2. local.conf
    PACKAGE_FEED_URIS = "http://<server_ip>/"
    PACKAGE_FEED_BASE_PATHS = "ipk_server"
    를 적용하면, core-image-minimal 이미지의 /etc/opkg에, base-feeds.conf가 생성되고, 내부에 아래와 같은 conf 파일이 생성되어 feed할 수 있다.

    openembedded-core/meta/oe/lib/package_manager.py


  1. 그렇다면, 이 패키지 피드 서버를 local에서 구현해보자!
    deploypath/ipk
    core-image-minimal을 구성하기 위한 build된 package들이 arch별로 나뉘어 있다.
    Packages (Package index) file을 생성하자.
    $ bitbake package-index

    여기서, Package Deploy Server를 구현하자.
    $ python3 -m http.server
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글