ARM_core 기반 리눅스 BSP 개발/Raspberry_PI Kernel build

[Raspberry_PI]_SDcard_수동Mount

juniha 2025. 6. 18. 18:59

SD카드 수동 마운트 하기

mount 하려는 디렉토리 생성
sudo mkdir /mnt/sdcard

디렉토리의 생성 후 drvfs를 이용하여 마운트를 진행

sudo mount -t drvfs D: /mnt/sdcard

수동으로 마운트를 해제하려면 아래의 명령을 이용합니다. (마운트 위치의 파일이 사용중이거나, 현재 위치가 마운트 위치가 아니어야 합니다)

sudo umount /mnt/sdcard

커널 컴파일 환경 구축하기

  • 컴파일에 필요한 파일 설치
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install -y git bc bison flex libssl-dev make libc6-dev libncurses5-dev \\
	crossbuild-essential-armhf
// crossbuild-essential-armhf는 32비트용 크로스 컴파일러

 

커널 아키텍처 확인 (uname)

uname -a

예시 출력:

Linux raspberrypi 5.10.17-v7+ #1421 SMP ... armv7l GNU/Linux
  • v7, v7+ → kernel7.img로 부팅
  • v7l+ → kernel7l.img로 부팅
  • v8+ → kernel8.img (64bit 커널)로 부팅

리눅스 커널 다운로드하기

다음의 명령을 이용하여 커널 최신버전을 다운로드 합니다.

주의할 내용은 앞의 단계에서 버전이 일치되는 것을 다운로드 받아야 합니다. 6.12.25인 경우는 rpi-6.12.y를 다운로드 합니다.

cd ~
git clone --depth=1 <https://github.com/raspberrypi/linux.git> -b rpi-6.12.y
cd linux

커널 컴파일 준비하기

 명령을 이용하여 환경변수를 선언

export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabihf-

 

커널 설정하기

make bcm2709_defconfig

커널 컴파일

make -j$(nproc) zImage modules dtbs

생성되는 주요 출력

  • arch/arm/boot/zImage    // 커널 이미지
  • arch/arm/boot/dts/*.dtb  // 디바이스 트리 파일
  • modules/ — 커널 모듈

 

커널 복사 (SD카드 또는 네트워크 사용

 (SD카드 /mnt/d에 마운트된 경우):

cp arch/arm/boot/zImage /mnt/d/kernel7.img
cp arch/arm/boot/dts/bcm2710-rpi-3-b.dtb /mnt/d/
cp -r arch/arm/boot/dts/overlays /mnt/d/

라즈베리파이3는 bcm2710-rpi-3-b.dtb 사용

커널 소스 위치 및 defconfig 확인 

cd linux
ls arch/arm*/configs/bcm*.defconfig