ARM64(3)
-
커널 포팅 (6. 실전 커널 포팅 프로젝트 / 6.1 라즈베리파이(Raspberry Pi) 커널 포팅 실습)
6.1 라즈베리파이(Raspberry Pi) 커널 포팅 실습라즈베리파이에서 커널을 포팅하고 커스터마이징하는 과정은 커널 소스 코드 빌드, 부팅 설정 변경, 커널 테스트로 구성됩니다.이 장에서는 라즈베리파이 커널 소스 빌드 및 커스터마이징, config.txt 및 cmdline.txt 설정 변경, 부팅 성공 여부 확인을 다룹니다.또한 부트 파티션과 루트 파일 시스템 파티션의 장치명, 미래 날짜 표기 예시, 최신 config.txt의 64비트 커널 설정 여부에 대한 고려사항을 반영합니다.🔹 1️⃣ 라즈베리파이 커널 소스 빌드 및 커스터마이징📌 1️⃣ 라즈베리파이 커널 소스 다운로드라즈베리파이의 공식 커널 소스 코드는 GitHub에서 제공됩니다.최신 버전을 다운로드하려면 다음 명령어를 실행합니다.git c..
2025.03.06 -
U-Boot 포팅 (3. U-Boot 빌드 및 실행 / QEMU를 활용한 U-Boot 실행)
QEMU를 활용한 U-Boot 실행QEMU는 가상 머신을 이용하여 U-Boot를 테스트할 수 있는 강력한 에뮬레이터입니다.실제 하드웨어 없이도 U-Boot의 빌드 결과물을 실행하고 디버깅할 수 있으며, ARM 및 AArch64 등의 아키텍처를 지원합니다.이 문서에서는 QEMU 설치, U-Boot 실행 방법, 명령어 설명 및 디버깅 방법을 다룹니다.1. QEMU 설치 및 U-Boot 테스트 방법🔹 QEMU란?QEMU는 CPU, 메모리, 저장 장치, 네트워크 등을 에뮬레이션하는 오픈소스 가상화 소프트웨어입니다.실제 보드가 없어도 U-Boot 실행 및 부팅 테스트가 가능합니다.U-Boot와 함께 리눅스 커널 테스트 및 네트워크 부팅(TFTP, NFS) 설정도 가능합니다.🔹 QEMU 설치1) Ubuntu/D..
2025.02.26 -
U-Boot 포팅 (2. 개발 환경 구축 / 크로스 컴파일 환경 설정)
크로스 컴파일 환경 설정U-Boot는 임베디드 시스템에서 동작하는 부트로더이므로, 개발 환경(PC)과 타겟 보드(임베디드 프로세서)의 아키텍처가 다릅니다.따라서 크로스 컴파일러를 사용하여 타겟 보드에서 실행 가능한 U-Boot 바이너리를 빌드해야 합니다.이 과정에서 CROSS_COMPILE, ARCH 환경 변수 설정 및 make menuconfig를 활용한 설정 방법을 설명하겠습니다.1. 크로스 컴파일 환경 변수 설정🔹 환경 변수 설정의 필요성U-Boot를 빌드할 때 컴파일러와 타겟 아키텍처를 지정하는 환경 변수를 설정해야 합니다.이를 설정하지 않으면 호스트 시스템(x86)용 바이너리가 빌드되거나, 빌드 오류가 발생할 수 있습니다.🔹 주요 환경 변수환경 변수설명CROSS_COMPILE사용할 크로스 컴..
2025.02.26