linux/petalinux

Petalinux 22.1 Custom kernel and Uboot

jhinux 2026. 1. 5. 11:55

PetaLinux 22.1 커스텀 빌드 통합 가이드 (ext-local-src 방식)

본 문서는 PetaLinux 22.1 환경에서 외부 로컬 소스(ext-local-src)를 연동하여 부트로더와 커널을 빌드하는 전체 절차를 기술한다.


1. 개요 (Overview)

petalinux-devtool 대신 로컬 디렉토리에 소스 코드를 직접 배치하고 PetaLinux가 이를 참조하도록 설정한다. 이 방식은 소스 수정 시 즉각적인 빌드 반영이 가능하며 관리가 직관적이다.


2. 소스 코드 확보 (Download)

호스트 PC의 작업 디렉토리에 2022.1 릴리즈용 공식 Xilinx 태그를 사용하여 소스를 클론한다.

2.1 커널(Kernel) 소스 다운로드

```bash
mkdir -p ~/custom_source && cd ~/custom_source
git clone --depth 1 -b xlnx_rebase_v5.15_LTS_2022.1 https://github.com/Xilinx/linux-xlnx.git
2.2 부트로더(U-Boot) 소스 다운로드
Bash

git clone --depth 1 -b xlnx_rebase_v2022.01_2022.1 https://github.com/Xilinx/u-boot-xlnx.git
3. PetaLinux 프로젝트 구성 (Configuration)
프로젝트 설정 메뉴에서 온라인 저장소가 아닌 앞서 다운로드한 로컬 경로를 바라보도록 변경한다.

3.1 설정 메뉴 진입
Bash

petalinux-config
3.2 컴포넌트 소스 설정 변경
메뉴 이동: Linux Components Selection --->

커널(Kernel) 설정:

linux-kernel () ---> 항목에서 'ext-local-src' 선택

External linux-kernel local source settings ---> 진입

External linux-kernel local source path에 절대 경로 입력

(예: /home/user/custom_source/linux-xlnx)

부트로더(U-Boot) 설정:

u-boot () ---> 항목에서 'ext-local-src' 선택

External u-boot local source settings ---> 진입

External u-boot local source path에 절대 경로 입력

(예: /home/user/custom_source/u-boot-xlnx)

  1. 빌드 및 패키징 (Build & Package)
  2. 1 컴포넌트별 개별 빌드
    Bash

커널 단독 빌드 및 검증

petalinux-build -c kernel

U-Boot 단독 빌드 및 검증

petalinux-build -c u-boot-xlnx
4.2 전체 빌드 및 이미지 패키징
Bash

전체 시스템 이미지 빌드

petalinux-build