Yocto 에서 자신의 장치 트 리 dts 와 커 널 설정 을 사용 하 는 방법

5058 단어 Yocto
링크 와 같이 Yocto 프로젝트 커 널 에서 dts 를 직접 수정 한 다음 커 널 과 내 층 을 컴 파일 해 왔 습 니 다.그러나 수 정 된 내용 은 자신 도 기억 하지 못 하고 커 널 이 업데이트 되면 커 널 dts 는 다시 수정 해 야 한 다 는 것 을 알 게 되 었 습 니 다.그러면 번 거 로 울 것 입 니 다.그래서 Yocto 에서 자신의 장치 트 리 dts 와 커 널 설정 을 사용 하 는 방법 을 찾 았 습 니 다.
1.자신의 layer 를 fsl-community-bsp/sources 디 렉 터 리 로 전환 하고 명령 으로 meta-bdgk layer 를 추가 합 니 다.
yocto-layer create bdgk

명령 은 차 로 돌아 가 확인 하면 된다 는 것 을 알려 준다.빈 layer 를 추가 한 후 meta-bdgk 디 렉 터 리 에서 다음 명령 으로 디 렉 터 리 트 리 를 만 듭 니 다.
mkdir -p recipes-bdgk/images

새로 만 든 디 렉 터 리 에 bdgk-image.bb 파일 을 만 듭 니 다.파일 내용 은 다음 과 같 습 니 다.
require recipes-core/images/fsl-image-multimedia.bb

이때 저 는 fsl-image-multimedia.bb 를 템 플 릿 으로 하여 bdgk layer 에 미 러 목 표를 추가 합 니 다.나중에 미 러 에 대한 사용자 정의 설정 도 이 미 러 목 표를 대상 으로 작 동 합 니 다.미리 정 의 된 fsl-image-multimedia 를 직접 수정 하 는 것 이 아 닙 니 다.bdgk 미 러 를 컴 파일 하려 면 build 컴 파일 디 렉 터 리 로 전환 하고 conf/bblayers.conf 파일 을 수정 합 니 다.기 존 형식 에 따라 만 든 meta-bdgk layer 를 BBLAYERS 변수 에 추가 합 니 다.
\
  ${BSPDIR}/sources/meta-bdgk \

다음 명령 을 입력 하여 미 러 컴 파일:
bitbake bdgk-image

2.자신의 장치 트 리 dts 를 추가 하면 다음 명령 을 사용 할 수 있 습 니 다.
recipetool appendsrcfile -wm your-machine-name path/to/meta-local virtual/kernel /path/to/your.dts 'arch/${ARCH}/boot/dts/your.dts'

내 프로젝트 에 서 는,your-machine-name=imx6ulevk,path/to/meta-local=~/repo/fsl-community-bsp/sources/meta-dbdgk,/path/to//your.dts=~/repo/fsl-community-bsp///fsl-community-bsp/source///sourcex/linux-fsslc-imx/imx6ulevk/imx6vk/imx 6 x14vk.dts,'arch/${ARCH}////boot/ dts///your.dts='arch////${ARCH}///////////////dx6vvk.......ts/imx6ul-14 x14-evk.dts.
/meta-bdgk/recipes-kernel/linux/디 렉 터 리 에서'bbappend 파일'을 만 들 수 있 습 니 다.그 안에 제 dts 경로 가 SRC 에 추가 되 었 습 니 다.URL 중.이.bbappend 파일 에 다음 명령 을 추가 해 야 합 니 다.
KERNEL_DEVICETREE += "imx6ul-14x14-evk.dtb"

이 때 meta-bdgk/recipes-kernel/linux/linux-fslc-imx/imx6ulevk/디 렉 터 리 에 있 는.dts 파일 을 수정 하면 커 널 의 장치 트 리 설정 을 실현 할 수 있 습 니 다.
주의:
recipetool appendsrcfile -wm your-machine-name path/to/meta-local virtual/kernel /path/to/your.dts 'arch/${ARCH}/boot/dts/your.dts'

명령 은 한 번 만 사용 한 후에 dts 에 대한 수정 은 직접 수정 하면 됩 니 다.3.커 널 설정 을 추가 합 니 다.커 널 설정 프레임 워 크 를 사용 합 니 다.수 동 으로 설정 프레임 워 크 fragment 를 만 들 고 명령 으로 커 널 을 설정 합 니 다:
bitbake -c menuconfig virtual/kernel

'diffconfig'를 사용 하여 fragment 를 만 듭 니 다.이 fragment 에는 설 정 된 최신 수정 항목 이 있 습 니 다.명령 은 다음 과 같 습 니 다.
bitbake -c diffconfig virtual/kernel

그리고 이 fragment 를 자신의 커 널 에 추가 하고 명령 을 사용 합 니 다:
recipetool appendsrcfile -wWm your-machine-name meta-local virtual/kernel /path/to/your.cfg

내 프로젝트 에서,your-machine-name=imx6ulevk,meta-local=~/repo/fsl-comunity-bsp/sources/meta-bdgk,/path/to/your.cfg=~/repo/fsl-comunity-bsp/build/tmp/work/imx6ulevk-poky-linux-linux-fslc-imx/4.1-1.0.x+gitAUToinc+59b38c323b-r0/fragment.cfg.
이 때 meta-bdgk/recipes-kernel/linux/linux-fslc-imx/imx6ulevk/디 렉 터 리 에 fragment.cfg 파일 이 나타 납 니 다.커 널 을 다시 컴 파일 하면 커 널 설정 을 실현 할 수 있 습 니 다.주의:
recipetool appendsrcfile -wWm your-machine-name meta-local virtual/kernel /path/to/your.cfg

명령 은 한 번 만 사용 하면 diffconfig 에서 생 성 된 fragment.cfg 를 meta-bdgk/recipes-kernel/linux/linux-fslc-imx/imx6ulevk/디 렉 터 리 에 직접 복사 하여 수정 할 수 있 습 니 다.
How to use own an own device tree and modified kernel config in Yocto? Modifying the BusyBox config in OpenEmbedded

좋은 웹페이지 즐겨찾기