arm(28)
-
커널 포팅 (2. 커널 소스 분석 및 빌드 / 2.3 크로스 컴파일러를 이용한 커널 빌드)
2.3 크로스 컴파일러를 이용한 커널 빌드리눅스 커널은 여러 하드웨어 아키텍처에서 실행될 수 있도록 설계되었습니다.하지만 커널을 빌드할 때는 개발 환경과 실행할 하드웨어의 아키텍처가 다를 수 있습니다.이런 경우 크로스 컴파일러(Cross Compiler) 를 사용하여 타겟 아키텍처에 맞게 커널을 빌드해야 합니다.🔹 크로스 컴파일러란?크로스 컴파일러(Cross Compiler) 는 개발 환경(Host)과 실행 대상(Target)의 CPU 아키텍처가 다른 경우 사용하는 컴파일러입니다.즉, x86 기반의 개발 PC(Host)에서 ARM 또는 RISC-V 기반의 임베디드 보드(Target)용 커널을 빌드할 때 사용됩니다.✅ 크로스 컴파일러가 필요한 이유x86 PC에서 ARM, RISC-V 등의 아키텍처용 커널..
2025.03.06 -
커널 포팅 (1. 개요 및 준비 / 1.3 실습 환경 구축)
1.3 실습 환경 구축커널 포팅을 학습하고 실습하기 위해서는 적절한 개발 환경을 구축해야 합니다.리눅스 커널은 다양한 아키텍처에서 동작하기 때문에 호환성과 개발 편의성을 고려하여 환경을 설정해야 합니다.이 섹션에서는 개발 환경 선택, 필수 도구 설치, 실습용 개발 보드 선택을 포함하여 커널 포팅 실습을 위한 환경을 구축하는 방법을 설명합니다.🔹 개발 환경 선택커널 포팅 작업은 Linux 기반 환경에서 수행하는 것이 가장 효율적입니다.✅ 추천하는 운영체제:Ubuntu 20.04 / 22.04 (LTS 버전 추천)Debian 10 / 11CentOS 7 / 8 (단, 최신 CentOS는 Stream 버전으로 변경되었으므로 RHEL 계열을 고려할 수도 있음)Fedora (개발자 친화적이지만 안정성을 고려하면..
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