콘텐츠로 이동

Alpine Linux 설정 가이드

Alpine Linux

Alpine Linux는 BC-250에서 동작하지만, 메인스트림 데스크톱 배포판보다 설정이 더 수동적입니다. 경량 서버 빌드, 효율적인 컴퓨트 중심 시스템, 커스텀 데스크톱 환경, 또는 최소 부하의 OpenRC 기반 설치를 원하는 고급 사용자에게 가장 적합합니다.

상태: 수동 설정으로 동작
난이도: 고급
Init 시스템: OpenRC
최적 용도: 최소 시스템, 서버 워크로드, 커스텀 빌드, 낮은 리소스 사용


Alpine을 선택하는 이유

장점

  • 매우 작은 기본 시스템
  • 낮은 RAM 및 전력 사용 (150 MB & 35 W)
  • systemd 대신 OpenRC
  • 서버 또는 어플라이언스 스타일 배포에 적합
  • 필요한 것만 설치하면 경량 유지가 쉬움

고려 사항

  • Fedora, Bazzite, Arch, Debian보다 BC-250 테스트가 훨씬 적음
  • 그래픽 및 Vulkan 설정이 수동
  • 거버너 설치가 수동
  • Alpine 브랜치에 따라 일부 패키지 및 워크플로가 다름
  • 게임 중심 설치에는 가장 쉬운 선택이 아님

최적 사용 사례

Alpine은 BC-250에서 경량 시스템을 원할 때 강력한 선택입니다. 특히 GPU/CPU 전력 서버 사용 또는 편의성보다 낮은 부하가 더 중요한 커스텀 환경에 적합합니다.


BIOS 요구 사항

Alpine 설치 전 BIOS가 구성되었는지 확인하세요:

  1. 수정된 BIOS 플래시 (P3.00 이상 권장)
  2. VRAM 할당을 512MB dynamic으로 설정 (공유 VRAM / UMA 권장, VRAM 구성 참조)

LLM 또는 GPU 컴퓨트 워크로드의 경우 GPU 메모리 또는 시스템 RAM 우선순위에 따라 옵션 3: 8GB RAM / 8GB VRAM 또는 옵션 4: 12GB RAM / 4GB VRAM 등 고정 분할을 고려하세요.

BIOS 플래시 가이드를 참조하세요.


설치 개요

사전 요구 사항

  • Alpine 설치 미디어
  • Ethernet 연결 권장
  • 필요 시 패시브 DP-to-HDMI 어댑터
  • 수동 설치 후 구성에 대한 친숙함

기본 설치

  1. Alpine 설치 프로그램 부팅
  2. 디스플레이가 제대로 초기화되지 않으면 nomodeset으로 한 번 부팅
  3. setup-alpine으로 일반 Alpine 설치 과정 실행
  4. 디스크에 일반적으로 설치
  5. 설치된 시스템으로 재부팅

설정 후 nomodeset 제거

설치 중 nomodeset을 사용한 경우, 그래픽 스택이 동작한 후 제거하세요. 활성화된 상태로 유지하면 정상 GPU 가속이 방지됩니다.


설치 후 설정

1. 기본 시스템 업데이트

Alpine에서 sudo

일부 Alpine 설치에는 기본적으로 sudo가 포함되지 않습니다. sudo가 없으면 apk add sudo로 설치하거나 doas를 사용하세요. 빠른 셸 수준 호환 단축키로 alias sudo="doas"를 임시로 실행할 수 있습니다.

sudo apk update
sudo apk upgrade

2. 동작하는 커널 설치

커널 설치 전 커널 구성의 알려진 BC-250 손상 범위를 검토하세요.

커널 선택이 여전히 중요

6.15.0-6.15.6 및 6.17.8-6.17.10 등 알려진 BC-250 손상 커널 범위를 피하세요. 가능한 경우 6.18.18 LTS, 6.19.x stable 또는 6.17.11+ 등 확인된 동작 릴리스를 선호하세요.

Alpine의 표준 커널 패키지는 linux-lts입니다:

sudo apk add linux-lts

커널 설치 후 재부팅:

sudo reboot

재부팅 후 활성 커널 확인:

uname -a

uname -r이 위 손상 범위의 커널을 보고하면 계속하기 전에 알려진 정상 linux-lts 빌드를 설치하세요.


3. 펌웨어 및 그래픽 패키지 설치

드라이버 및 펌웨어 설정:

sudo apk add linux-firmware-amdgpu # base amdgpu drivers
sudo apk add mesa mesa-gl mesa-dri-gallium # mesa drivers
sudo apk add mesa-vulkan-ati vulkan-loader vulkan-tools # vulkaninfo ...
sudo apk add mesa-demos # glxinfo ...

나중에 추가 Vulkan 개발 도구가 필요한 경우:

sudo apk add vulkan-loader-dev glslang-dev spirv-headers shaderc cmake

4. 부트로더 구성 및 부트 파일 재빌드

설치 중 nomodeset을 추가한 경우 Mesa 및 Vulkan이 동작한 후 부트로더 구성에서 제거하세요.

mitigations=off에 대한 자세한 내용은 환경 변수를 참조하세요.

옵션 A: extlinux (Alpine 기본)

대부분의 Alpine 설치는 기본적으로 extlinux를 사용합니다. 편집:

sudo nano /etc/update-extlinux.conf

성능 지향 기본 줄 예:

default_kernel_opts="quiet amdgpu.sg_display=0 mitigations=off"

부트 파일 재빌드:

sudo mkinitfs
sudo update-extlinux
sudo reboot

옵션 B: GRUB (선택 사항)

Alpine 설치가 GRUB를 사용하는 경우 GRUB가 이미 설치 및 구성되었는지 먼저 확인하세요 (UEFI용 grub + grub-efi 또는 레거시 BIOS용 grub-bios). 그 후 편집:

sudo nano /etc/default/grub

사용:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.sg_display=0 mitigations=off"

부트 파일 재빌드:

sudo mkinitfs
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot

5. AMDGPU 및 Vulkan 확인

재부팅 후 펌웨어 존재, 커널 드라이버 정상 로드, 소프트웨어 렌더링 대신 AMD GPU 사용 여부를 확인하세요:

lsmod | grep amdgpu
# Should show: amdgpu

dmesg | grep -i amdgpu
# Use this if you need the full amdgpu log for troubleshooting

vulkaninfo --summary
# Should list the AMD RADV Vulkan driver and GPU0

6. GPU 거버너 설치

BC-250은 Alpine에서도 거버너의 이점을 크게 받습니다. 커뮤니티 테스트에서 SMU 브랜치를 사용한 수동 설정이 동작함을 보여줍니다.

빌드 의존성 설치:

sudo apk add git rust cargo libdrm-dev dbus

D-Bus 활성화:

sudo rc-service dbus start
sudo rc-update add dbus default

거버너 클론 및 빌드:

git clone --branch smu https://github.com/filippor/cyan-skillfish-governor.git cyan-skillfish-governor-smu
cd cyan-skillfish-governor-smu
cargo build --release

바이너리 및 구성 설치:

sudo install -Dm755 target/release/cyan-skillfish-governor-smu /usr/local/bin/cyan-skillfish-governor-smu
sudo mkdir -p /etc/cyan-skillfish-governor-smu
sudo cp default-config.toml /etc/cyan-skillfish-governor-smu/config.toml

첫 테스트 실행 전 필요한 D-Bus 정책 설치:

sudo tee /etc/dbus-1/system.d/com.cyan.skillfishgovernor.conf > /dev/null << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<policy user="root">
<allow own="com.cyan.SkillFishGovernor"/>
<allow send_destination="com.cyan.SkillFishGovernor"/>
</policy>
<policy context="default">
<allow send_destination="com.cyan.SkillFishGovernor"/>
</policy>
</busconfig>
EOF

sudo rc-service dbus restart

먼저 수동으로 테스트:

sudo cyan-skillfish-governor-smu --verbose /etc/cyan-skillfish-governor-smu/config.toml

7. 거버너용 OpenRC 서비스 생성

/etc/init.d/cyan-skillfish-governor-smu 생성:

#!/sbin/openrc-run
name="cyan-skillfish-governor-smu"
description="GPU governor for AMD Cyan Skillfish APU"
depend() {
    need dbus
}
command="/usr/local/bin/cyan-skillfish-governor-smu"
command_args="/etc/cyan-skillfish-governor-smu/config.toml"
command_background=true
pidfile="/run/${RC_SVCNAME}.pid"
output_log="/var/log/cyan-skillfish-governor-smu.log"
error_log="/var/log/cyan-skillfish-governor-smu.log"

그 후 활성화:

sudo chmod +x /etc/init.d/cyan-skillfish-governor-smu
sudo rc-update add cyan-skillfish-governor-smu default
sudo rc-service cyan-skillfish-governor-smu start
sudo rc-service cyan-skillfish-governor-smu status

구성을 나중에 편집한 경우:

sudo rc-service cyan-skillfish-governor-smu restart

문제 해결

거버너가 시작되지 않음

증상:
- GPU 성능 저하
- 시작 또는 재시작 시 start-stop-daemon이 no matching processes found 보고

해결:
- dbus가 설치되고 활성화됨
- /etc/dbus-1/system.d/com.cyan.skillfishgovernor.conf의 D-Bus 정책 파일 존재
- 빌드 중 libdrm-dev 존재
- 바이너리가 /usr/local/bin/에 설치됨
- /etc/cyan-skillfish-governor-smu/config.toml에 구성 파일 존재

sudo rc-service cyan-skillfish-governor-smu status
sudo /usr/local/bin/cyan-skillfish-governor-smu --verbose /etc/cyan-skillfish-governor-smu/config.toml # to debug

D-Bus AccessDenied 오류

증상:
- sudo /usr/local/bin/cyan-skillfish-governor-smu --verbose /etc/cyan-skillfish-governor-smu/config.toml 실행 시:
org.freedesktop.DBus.Error.AccessDenied: Connection ":1.0" is not allowed to own the service "com.cyan.SkillFishGovernor" 반환

잘못된 전압/주파수 커브

증상:
- 거버너가 시작되지만 클럭 또는 전압 동작이 불안정
- 성능 튜닝 변경이 제대로 적용되지 않음

해결:
전압 커브를 단조 증가로 유지: 더 높은 주파수가 더 낮은 mV를 사용하지 않아야 합니다.


커뮤니티 리소스


관련 가이드