카테고리 없음

라즈베리파이 부팅로고 변경 Ubuntu 16.04 진행

쉬고싶은 거북이 2020. 4. 6. 18:09

 

라즈베리파이 부팅 로고 변경법

 

- sudo cp samplelogo.png /usr/share/plymouth/themes/pix/splash.png  (로고 변경하기)

- /boot/cmdline.txt에 logo.nologo (로고 없애기)

위의 방법은 아래의 화면에 사용되는 방법

 

 

내가 원하는 로고 변경은 아래사진의 터미널에 나오는 딸기이다.

 

- 딸기의 숫자는 라즈베리파이 코어의 숫자이다. 

- 리눅스 로고 펭귄을 바꾸는 것처럼 이미지 파일을 새로 구워야 딸기 로고를 원하는 로고로 바꿀 수 있다.

 

1. 준비물

 - 라즈베리파이 OS (필자는 Compute Module 3을 사용하였다)
 - 이미지를 구울 수 있는 PC (라즈베리파이는 용량이 적어 Linux 폴더를 받기에 부족하여 준비하였다)

2. 프로그램

 - PC에서 Linux 명령어를 쓸 터미널이 필요함

 

- 위 사진은 사용할 프로그램 예시입니다. 다른 것도 알아서 사용하시기를

- Ubuntu shell 등 사용할 수 있는 프로그램이 많지만 다양한 기능을 제공하고

Ubuntu 터미널도 사용가능한 MobaXterm이라는 프로그램을 사용하였다.

 

 

3. 라즈베리파이 소스 다운로드

git clone https://github.com/raspberrypi/linux.git

git clone https://github.com/raspberrypi/tools.git

 

4. 로고 파일 이미지 PPM 파일 생성 

(위치 : cd ~/linux/drivers/video/logo)

4-1. netpbm 모듈 설치

sudo apt-get install -y netpbm
4-2. logo.jpg -> logo_linux_clut224.ppm 파일 생성
 jpegtopnm logo.jpg >logo.ppm
 
※ PNG 파일이면 에러발생합니다. (Not a JPEG file: starts with 0x89 0x50)
※ sudo su 관리자 계정으로 실행해주세요 (bash: logo.ppm: Permission denied) 
 
 
pi@DESKTOP-O7U36NR:~/linux/drivers/video/logo$ jpegtopnm 로고.jpg > logo.ppm
jpegtopnm: WRITING PPM FILE 
 
pi@DESKTOP-O7U36NR:~/linux/drivers/video/logo$  ppmquant 224 logo.ppm >logo_224.tmp
ppmquant: making histogram...
ppmquant: 429 colors found
ppmquant: choosing 224 colors...
ppmquant: mapping image to new colors...
 
※ logo_224.tmp 에서 숫자 224 이상 컬러가 들어가면 빌드할때 에러 발생합니다
 
pi@DESKTOP-O7U36NR:~/linux/drivers/video/logo$ pnmnoraw logo_224.tmp > logo_linux_clut224.ppm
 

5. 커널 구성

PATH 환경 변수를 업데이트한다.
34 비트 호스트 시스템

echo PATH=\$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin >> ~/.bashrc source ~/.bashrc 

64 비트 호스트 시스템

echo PATH=\$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin >> ~/.bashrc source ~/.bashrc
 
========= 여기서 부터 삽질 시작 =========
pi@DESKTOP-O7U36NR:~/linux$ echo $

 

{/home/pi/bin:/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Users/Admin/DOCUME~1/MobaXterm/slash/bin:/mnt/c/Windows:/mnt/c/Windows/System32:/snap/bin:/mnt/d/raspberryPi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:/home/pi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin}
※ 위에것을 사용하지 않고 sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-4.6 /usr/bin/arm-linux-gnueabi-gcc 사용시 error 발생
 
cat /etc/issue 운영체제 확인할 수 있다.
Ubuntu 12.04에서 가능하다고 했으나 16.04에서 안되는 것 같다.
 
Reading package lists... DoneBuilding dependency treeReading state information... Done
E: Unable to locate package gcc-4.6-arm-linux-gnueabi
E: Couldn't find any package by glob 'gcc-4.6-arm-linux-gnueabi'
E: Couldn't find any package by regex 'gcc-4.6-arm-linux-gnueabi'
 

 

 

 

sudo apt install git bc bison flex libssl-dev make 

Pi 1, Pi Zero, Pi Zero W 또는 Compute Module의 경우 :

cd linux
KERNEL=kernel
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig

Pi 2, Pi 3, Pi 3+ 또는 Compute Module 3의 경우 :

cd linux
KERNEL=kernel7
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

라즈베리 파이 4의 경우 :

cd linux
KERNEL=kernel7l
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2711_defconfig

 

======= 삽질 끝 =======

 

어떻게든 삽질 구간을 해결 한 후

pi@DESKTOP-O7U36NR:~/linux$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
## configuration written to .config
 

echo $ 과 nano ./config로 잘 설정되었는지 확인 가능하다.

위와 같이 뜨면 잘 되었다.
 

 

그 후 이미지를 빌드한다.

 

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig

 

 

 

 

1. Device Drivers —>

 

 

 

2. Graphics support —>

 

 

 

3. Bootup logo —>

 

 

[*] Standard 224-color Linux logo 클릭 후 SAVE 한다.

 

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

(위치 : cd ~/linux/arch/arm/boot) 만들어진 zImage

 

mobaXterm을 쓸 경우 c드라이브나 d드라이브로 이동시킬 때 사용

mv zImage /mnt/d/zImage

 

기존 kernel7.img 파일을 -> kernel7.img.old로 바꾼다.

zImage 복사해 온뒤 -> kernel7.img 파일로 바꾼다.

 

 

참고 : {

https://wikidocs.net/3243

https://www.raspberrypi.org/documentation/linux/kernel/building.md

}

 

 

 

4개의 산딸기 로고가 내가 넣은 4개의 로고로 바뀌었다.

 

 

 

 

 

이제 코어 당 나오는 산딸기 수를 줄인다.

linux/drivers/video/logo/logo.c 파일을 수정한다.​

 

 

 

 

 

 

설정 한번 꼬이는 순간 처음 세팅으로 돌려서 하시는걸 추천드립니다.