스플래시 화면이란?
스플래시 화면은 시스템 부팅 중 백그라운드에서 표시되는 이미지입니다. 많은 리눅스 배포판은 Grub(Grand Unified Bootloader)를 사용하며, 기본적으로는 빈 화면 또는 검은 화면이 표시될 수 있습니다. Grub 스플래시 이미지는 보통 /boot 파티션에 위치하고 grub.conf(또는 grub.cfg)에 정의된 splashimage 파라미터로 불러옵니다.
정의(한 줄): Grub 스플래시 화면 = 부팅 시 Grub가 읽어 표시하는 XPM 이미지(압축 가능).
준비물
- GUI 방법: GIMP
- 명령행 방법: ImageMagick(특히 convert), gzip
- 샘플 이미지(원본 포맷: JPG/PNG 등)
중요: 최종 파일은 XPM 포맷이며 640×480 해상도, 최대 14색, 필요 시 gzip(.xpm.gz)으로 압축되어야 합니다.
GUI 방식: GIMP로 스플래시 화면 만들기
아래 절차는 GUI 환경에서 GIMP를 사용해 이미지를 변환하고 Grub에 적용하는 방법입니다.
단계 1 — GIMP로 이미지 열기
Applications → Graphics → GNU Image Manipulation Program로 GIMP를 실행하고 원본 이미지를 엽니다.
단계 2 — 이미지 크기 640×480으로 조정
Image → Scale Image로 이동해 Width(너비)를 640, Height(높이)를 480으로 설정합니다. 다른 옵션은 변경하지 마십시오.
클릭: Scale 버튼.
단계 3 — 색상 수를 14색으로 제한
Image → Mode → Indexed로 이동합니다. “generate optimum palette”(최적 팔레트 생성) 옵션을 체크하고 최대 색상 수에 14를 입력합니다. 그런 다음 Convert(변환) 버튼을 클릭합니다.
단계 4 — XPM 형식으로 저장
파일을 저장할 때 XPM 형식으로 저장합니다. 예: UxTechno.xpm
단계 5 — XPM 파일을 gzip으로 압축
파일 관리자에서 파일을 우클릭 → Compress(압축) → gzip을 선택해 .xpm.gz 파일을 만듭니다.
단계 6 — /boot/grub로 복사
UxTechno.xpm.gz 파일을 /boot/grub/UxTechno.xpm.gz로 복사하거나 이동합니다.
단계 7 — grub.conf에서 splashimage 설정 변경
/boot/grub/grub.conf 파일의 splashimage 값을 새 이미지로 지정하고 저장합니다. 예시 최종 내용(원본 예시를 그대로 유지):
# grub.conf
generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means
that # all kernel and initrd paths are relative to /boot/, eg. # root
(hd0,0) # kernel /vmlinuz-version ro root=/dev/sda2 # initrd
/initrd-[generic-]version.img #boot=/dev/sda default=0 timeout=5
splashimage=(hd0,0)/grub/UxTechno.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=1d8c5075-1a5b-4fdc-ba15-0458b65c6012 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb
crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM initrd
/initramfs-2.6.32-220.el6.x86_64.img
설정 저장 후 서버를 재부팅하면 커스텀 스플래시 이미지가 표시됩니다.
명령행 방식: ImageMagick으로 처리
명령행을 선호한다면 아래 절차를 따르십시오. CentOS/RHEL 계열 예시 커맨드를 포함합니다.
단계 1 — ImageMagick 설치 여부 확인
rpm -qa|grep -i ImageMagick
명령 출력이 비어있다면 ImageMagick이 설치되어 있지 않습니다. 설치하려면:
yum install ImageMagick
설치 후 재확인하면 패키지 명이 출력됩니다.
rpm -qa|grep -i ImageMagick
예시 출력:
ImageMagick-6.5.4.7-5.el6.x86_64
단계 2 — 픽셀 및 색상 변환
다음 convert 명령으로 해상도, 색상 수, 포맷을 동시에 변환합니다:
convert -depth 8 -colors 14 -resize 640x480 uxtechno_logo.jpg uxtechno_logo.xpm
옵션 정의 요약:
- 최대 14색으로 제한
- 해상도 640×480
- 출력 포맷 XPM
단계 3 — gzip 압축
gzip uxtechno_logo.xpm
단계 4 — /boot로 복사
cp uxtechno_logo.xpm.gz /boot/grub/
단계 5 — grub.conf 수정
/boot/grub/grub.conf의 splashimage를 새 파일로 지정합니다. 예:
splashimage=(hd0,0)/grub/uxtechno_logo.xpm
(원본 문서에 따라 .xpm 또는 .xpm.gz를 사용하십시오. Grub 버전/설정에 따라 압축 여부를 맞추십시오.)
단계 6 — 재부팅
reboot
재부팅 후 스플래시가 표시됩니다(예시: GUI 7단계 이미지).
대안 및 예외 상황
- Grub 버전 차이: grub(legacy)와 grub2는 설정 파일 위치와 형식이 다릅니다. 이 문서는 전통적 /boot/grub/grub.conf 기반(legacy) 예시를 사용합니다. grub2 환경의 경우 /boot/grub2/grub.cfg 또는 /etc/default/grub을 확인하고 update-grub/grub2-mkconfig 루틴을 사용해야 합니다.
- 고해상도(예: 1024×768)를 원하면 Grub 자체가 지원하는 해상도 한계를 확인해야 합니다. 모든 하드웨어/펌웨어가 640×480만 지원하는 것은 아닙니다.
- 테마 엔진을 사용하는 배포판(RH 계열의 plymouth 등)은 별도의 부팅 애니메이션을 관리하므로 스플래시 오버라이드가 제한될 수 있습니다.
중요: 시스템에서 중요한 부팅 로더를 수정하므로 변경 전 원본 grub.conf를 백업하세요.
역할별 체크리스트
시스템 관리자(운영팀)
- grub.conf 백업: cp /boot/grub/grub.conf /boot/grub/grub.conf.bak
- /boot 파티션의 여유 공간 확인
- 변경 후 부팅 테스트(리부트) 계획 수립
- 원격 콘솔(ILO/DRAC/Serial) 접근 방법 준비
이미지 디자이너
- 원본 이미지를 640×480로 디자인
- 팔레트 14색 내에서 가독성 확인
- 텍스트나 로고가 작은 해상도에서 잘 보이는지 검증
보안/컴플라이언스
- 스플래시 이미지에 민감한 정보(버전, 내부 도메인, 시리얼 등) 포함 금지
운영 SOP(간단한 플레이북)
- 작업 전: /boot/grub/grub.conf 백업
- 이미지 준비(GIMP 또는 ImageMagick)
- XPM으로 저장 → gzip 압축
- /boot/grub로 복사
- grub.conf의 splashimage 경로 업데이트
- 재부팅, 부팅 로고 확인
- 문제가 있으면 복구: 원본 grub.conf로 복원 후 재부팅
복원 커맨드 예시:
cp /boot/grub/grub.conf.bak /boot/grub/grub.conf
reboot
테스트 케이스 및 수락 기준
수락 기준
- 부팅 시 Grub가 XPM 이미지를 정상적으로 로드하고 표시한다.
- 커널 부팅 및 시스템 정상 동작(로그인 가능).
- 원본 파일(백업)으로 복원 시 정상 부팅 확인.
테스트 케이스
- 정상 이미지: 640×480, 14색, XPM(.xpm.gz) → 부팅 화면 표시 테스트
- 색상 초과 이미지: 256색 이미지 변환 시 오류 없음(Grub는 제한된 색상으로 변환 필요)
- 잘못된 형식: PNG를 직접 splashimage에 지정 → 기대: 표시 실패(로그로 확인)
호환성 및 마이그레이션 팁
- grub2 환경: /boot/grub2 위치와 grub.cfg 문법, 그리고 grub2-mkconfig, grub-install 절차를 확인하세요.
- UEFI 환경: UEFI 부팅과 BIOS(hd0,0) 좌표 체계가 다릅니다. 파일 시스템 마운트 포인트와 EFI 파티션을 점검하세요.
- 배포판별 plymouth 사용 여부 확인: plymouth 테마를 무시하려면 plymouth 설정을 변경해야 할 수 있습니다.
간단 용어집
- Grub: 부트로더(부팅 과정에서 커널을 선택·로딩하는 소프트웨어)
- XPM: 텍스트 기반의 아이콘/이미지 포맷(Unix X PixMap)
- gzip: 파일 압축 유틸리티
- ImageMagick: 이미지 변환·처리 CLI 도구
- GIMP: GUI 기반 이미지 편집기
점검 리스트(작업 전 최종 확인)
- /boot/grub/grub.conf 백업 완료
- 이미지가 640×480인지 확인
- 색상 수가 최대 14인지 확인
- 파일이 XPM 확장자인지 확인
- .xpm.gz로 압축(또는 Grub에서 요구하는 포맷)했는지 확인
- /boot/grub에 복사 완료
- 원격 콘솔 접근 경로 준비(문제 발생 시)
문제 발생 시 롤백(Incident runbook)
- 부팅 불가 시: 원격 콘솔 또는 복구 모드로 접근
- 복구 시: 기존 백업 grub.conf로 복원
cp /boot/grub/grub.conf.bak /boot/grub/grub.conf
reboot
- 이미지 문제 확인: 다른 단순 이미지(예: 단색 XPM)로 테스트
- 필요 시 부팅 가능한 ISO로 부팅해 /boot 마운트 후 수동 복구
요약
- Grub 스플래시 이미지를 변경하려면 이미지 크기(640×480), 색상(최대 14색), 포맷(XPM) 규칙을 지켜야 합니다.
- GUI는 GIMP로, 명령행은 ImageMagick(convert)과 gzip으로 처리할 수 있습니다.
- 변경 전 반드시 grub.conf 백업을 하고, 문제가 발생하면 백업으로 복원하세요.
중요: 변경 작업은 부팅 로더에 영향을 주므로 신중히 진행하고, 원격 복구 수단을 항상 준비해 두세요.