본문 바로가기
Development/Xilinx

[ZYNQ] Petalinux Kernel 소스 빌드 방법

by qWooWp 2019. 11. 20.
반응형
 
커널 빌드 방법 
$ source /opt/pkg/petalinux_19_01/setings.sh (enter) -> petalinux 
$ petalinux-build -c kernel (enter)
 
 
아래와 같이 외부 소스를 쓰는 경우는 dts 변경이나 커널 변경을 하고 관리 하고 싶을 경우 
를 대비해서 설정하게 되었다. 
 
외부 커널 소스 설정 방법
$ mkdir ./xilinx_kernel_src
$ cd ./xilinx_kernel_src
$ cd (PROJECT_BSP)
$ petalinux-config
  • "Linux Components Selection" 선택 
  • "linux-kernel (linux-xlnx)" 선택
    • ext-local-src 선택
    • "External linux-kernel local source settings--->" 선택
    • 커널 소스 위치 지정(절대경로)
 
커널 변경 전에 빌드한 적이 있다면 tmp 폴더를 클리어해 주어야 한다. 
 
$ petalinux-build -x mrproper (enter)
$ petalinux-build -c kernel (enter)
 
참고사항
외부 소스 설정 내용
 UG1144 문서에서 External Kernel 로 검색하면 나오는 방법 진행 (105페이지)
 
원래 Build 되는 Kernel 이 생성되는 위치는 tmp 위치에 생성이 됩니다. 
소스의 위치는 
<PROJECT_PATH>/build/tmp/work-shared/zeboard-zynq7/kernel-source 
이며, 이 소스 위치를 링크하여 이미지가 생성되는 위치는 
<PROJECT_PATH>/build/tmp/work/zedboard_zynq7-xilinx-linux-gnueabi/linux-xlnx/4.19-xilinx-v2019.1+gitAUTOINc+....../linux-zedboard_aynq7-standard-build/source 
에 링크가 되고 상위에 빌드된 이미지들이 생성된다. 
 
이 내용이 외부 커널 소스로 사용 시  
커널을 빌드하고 외부에서 드라이버 빌드시 커널 소스 위치 패스(KIDR) 을  아래와 같이 지정했다. 
(PROJECT_PATH)/build/tmp/work/zedboard_zynq7-xilinx-linux-gnueabi/linux-xlnx/4.19-xilinx-v2019.1+git999-r0/linux-xlnx-4.19-xilinx-v2019.1+git999
-> 수정
원래 외부 커널 소스 위치를 사용해도 된다. 
다만 커널을 다 빌드 하여야 하므로 페타리죽스에서 
 
$petalinux-build
 
명령으로 빌드가 된 상태여야 드라이버 개발이 가능하다. 
 
 
 
 
 
 
 
 
 
 
 
 
반응형

댓글