Fedora Linux의 RISC-V 포트를 다루며 패키징·트리아주 작업을 진행하는 동안 드러난 RISC-V 빌더 하드웨어의 심각한 빌드 속도 문제와, 이를 완화하기 위한 QEMU 활용 및 향후 빌드 인프라 계획을 정리한다.
ARM 개발자의 무작위 중얼거림
약 3개월 전 Fedora Linux의 RISC-V 포트 작업을 시작했다. 그동안 많은 일이 있었다.
the Fedora RISC-V tracker 항목들을 훑어보며 대부분을 트리아주했고(현재 NEW에 남아 있는 항목은 17개), 가능한 것들은 처리하려고 했다.
내가 보통 일하는 방식은 Fedora 패키지의 소스를 가져와(
fedpkg
clone -a
) 그런 다음 빌드하는 것이다(fedpkg mockbuild -r fedora-43-riscv64). 시간이 좀 지나면 빌드가 되었는지 확인하고, 안 됐다면 빌드 로그를 살펴서 왜 그런지 찾아낸다.
결과? 현재까지 Fedora 패키지에 대해 86개의 pull request를 보냈다. “llvm15” 같은 무거운 패키지부터 “iyfct”(간단한 게임) 같은 가벼운 것까지. 현재 대부분이 머지되었고, 그중 대부분은 Fedora 43용으로 빌드까지 되었다. 그러면 Fedora koji에서 ‘f43-updates’ 태그를 따라가며 우리도 빌드할 수 있다.
패키지 작업은 어렵고 때로는 논쟁적인 주제, 즉 속도(정확히는 그 부족)를 끌어낸다.
보면 알겠지만, 현재 RISC-V 하드웨어는 느리다. 그 결과 빌드 시간이 끔찍해진다 — binutils 2.45.1-4.fc43 패키지의 세부 정보를 보자:
| 아키텍처 | 코어 | 메모리 | 빌드 시간 |
|---|---|---|---|
| aarch64 | 12 | 46 GB | 36분 |
| i686 | 8 | 29 GB | 25분 |
| ppc64le | 10 | 37 GB | 46분 |
| riscv64 | 8 | 16 GB | 143분 |
| s390x | 3 | 45 GB | 37분 |
| x86_64 | 8 | 29 GB | 29분 |
또 언급할 만한 점은, 현재 RISC-V Fedora 포트의 빌드는 LTO를 비활성화한 상태로 이루어진다는 것이다. 메모리 사용량과 빌드 시간을 줄이기 위해서다.
RISC-V 빌더들은 보드에 따라 4개 또는 8개 코어에 8, 16 또는 32 GB RAM을 갖는다. 그리고 그 코어들은 보통 Arm Cortex-A55와 비교된다. 오늘날 Arm 칩들에서 가장 낮은 축에 속하는 cpu 코어들이다.
Milk-V Titan 메인보드에 들어가는 UltraRISC UR-DP1000 SoC는 상황을 조금은 개선해줄 것이다(그리고 64 GB RAM을 달 수 있다). SpacemiT K3 기반 시스템도 비슷하다(하지만 RAM은 32 GB만). 둘 다 개선이긴 하지만 최종 해법은 아니다.
“binutils” 같은 패키지를 1시간 아래로 빌드할 수 있는 하드웨어가 필요하다. 시스템 전반에서 LTO를 활성화하는 등등. 그리고 다른 지루한 서버들처럼 랙에 넣을 수 있고 관리 가능해야 한다. 그게 없으면 Fedora Linux에서 RISC-V 64-bit 아키텍처를 공식 primary 아키텍처 중 하나로 만들 계획조차 세울 수 없다.
이렇게 긴 빌드 시간 때문에 내가 QEMU를 쓰는 게 유용해진다. 80개의 에뮬레이션 코어로 “llvm15” 패키지를 약 4시간에 빌드할 수 있다. Banana Pi BPI-F3 빌더에서 10.5시간 걸리는 것과 비교해보라(P550에서는 더 빠를지도).

btop은 80개 코어가 바쁘게 돌아가는 것을 보여준다
그리고 LLVM 패키지들은 사용 가능한 코어와 메모리를 실제로 모두 활용한다. Ampere One 기반 시스템의 192/384 코어에서는 얼마나 빠를지 궁금하다.
Fedora Linux 44 빌드를 시작할 계획이다. 일이 잘 풀리면 모든 빌더에서 동일한 커널 이미지를 사용할 것이다(현재는 커널 버전이 섞여 있다). LTO는 여전히 비활성화될 것이다.
속도 부족과 관련해서는… 새롭고 더 빠른 빌더를 들여올 계획이 있다. 그리고 아마도 더 무거운 패키지 일부를 그쪽에 할당할 것이다.
Written by Marcin Juszkiewicz on 10th March 2026
developmentfedoraqemurisc-vvirtualization
댓글을 달고 싶다면 Mastodon에 올린 내 글로 가면 된다.
나는 Red Hat에서 일한다. 주로 여러 프로젝트에서 AArch64 지원을 맡고 있다.
또한 'hrw'로도 알려져 있다(/hʌ eə vʊ/).
이 웹사이트는 쿠키를 사용하지 않는다. 서버 로그에는 IP 주소와 user agent 정보가 들어 있다. 동의하지 않는다면 떠나도 된다.
이런 정책을 읽고 싶다면 GDPR information을 참고하라.
Copyright by Marcin Juszkiewicz. Licensed under CC BY-NC-ND 4.0.