반응형
참고사이트 : https://wikidocs.net/3243
1. 툴체인 설치
git clone https://github.com/raspberrypi/tools ~/tools
2. $ PATH 환경 변수를 업데이트
echo PATH=\$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin >> ~/.bashrc
source ~/.bashrc
3. 소스 받기
git clone --depth=1 https://github.com/raspberrypi/linux
4. 소스 빌드
sudo apt install git bc bison flex libssl-dev make
5. 소스 및 장치 트리 파일을 빌드하려면 다음 명령
cd linux
KERNEL=kernel7l
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig
--------------------------------------------------------
6. menuconfig 를 하기 위해서 ncurses header 필요
sudo apt install libncurses5-dev
7. 설치후에 menuconfig 진입하자
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
--------------------------------------------------------
8. 빌드
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
9. SD카드에 설치
장치에 인식된 장치 검색 " lsblk "
SD카드 삽입하면 SDB 장치가 보인다.
mkdir mnt
mkdir mnt/fat32
mkdir mnt/ext4
sudo mount /dev/sdb1 mnt/fat32
sudo mount /dev/sdb2 mnt/ext4
다음으로 모듈을 설치
sudo env PATH=$PATH make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=mnt/ext4 modules_install
커널과 장치 트리 blob 를 sd카드에 복사하여 이전커널 백업
sudo cp mnt/fat32/$KERNEL.img mnt/fat32/$KERNEL-backup.img
sudo cp arch/arm/boot/zImage mnt/fat32/$KERNEL.img
sudo cp arch/arm/boot/dts/*.dtb mnt/fat32/
sudo cp arch/arm/boot/dts/overlays/*.dtb* mnt/fat32/overlays/
sudo cp arch/arm/boot/dts/overlays/README mnt/fat32/overlays/
sudo umount mnt/fat32
sudo umount mnt/ext4
반응형
'Unix & Linux > Kernel' 카테고리의 다른 글
Raspberry Pi Zero W, 커널 컴파일 및 빌드 (0) | 2022.01.13 |
---|---|
Device Tree (디바이스 트리) 에 대해 (2) | 2021.09.04 |
리눅스 커널 소스 ( Linux Kernel Source ) (0) | 2021.07.21 |
Trouble Shooting, cc1: error: -Werror=date-time: no option -Wdate-time <debug> (0) | 2021.06.15 |
라즈베리파이 리눅스 커널 , 빌드 따라하기 (0) | 2021.06.10 |