Building LineageOS 14.1 for Samsung Galaxy Note 8.0 (n5110)
A guide to configuring a Docker build environment, syncing repositories, and compiling a custom ROM for the n5110
March 6, 2026

Building LineageOS 14.1 for Samsung Galaxy Note 8.0 (n5110)

집에 사용하지 않고 방치해 둔 구형 삼성 태블릿인 Galaxy Note 8.0 Wi-Fi (n5110) 기기가 하나 있어, 이를 장난감 삼아 활용해 보기로 했습니다.
Galaxy Note 8.0 (n5110)
AOSP 기반 커스텀 롬(Custom ROM) 프로젝트 중 가장 유명한 LineageOS에서 n5110을 위한 공식 빌드 가이드를 예전에 제공했던 흔적이 있어, 이를 참고하여 직접 빌드해 보기로 했습니다.

Prerequisites

빌드를 시작하기 전에 필요한 시스템 요구사항과 도구들을 설치해야 합니다.
  • OS: Ubuntu 20.04 LTS 또는 그 이상 권장
  • RAM: 최소 16GB (32GB 권장)
  • Disk Space: 최소 200GB 이상의 여유 공간

Install Build Packages

안드로이드 빌드를 위해서는 많은 의존성(dependency) 패키지들을 사전에 설치해야 합니다.
하지만 경험상 현재 사용 중인 Ubuntu의 버전이나 Python 등 각종 라이브러리 버전에 따라 종속성이 꼬여 빌드가 실패하는 경우가 자주 발생합니다.
따라서 빌드 전용 Docker 이미지를 만들고, 빌드 환경을 호스트와 완전히 분리하여 통제하는 것이 훨씬 편리합니다.
빌드에 사용할 Dockerfile은 아래 빌드 과정 중 환경 설정 파트에서 구성해 보겠습니다.

Initialize the LineageOS Source Repository

작업할 디렉토리를 생성하고 LineageOS 소스와 n5110 디바이스 트리를 초기화합니다.
Initialize repo
sh

Download the Source Code

이제 repo sync 명령을 통해 소스 코드를 다운로드합니다.
소스 코드의 용량이 매우 크므로 네트워크 상태에 따라 시간이 오래 걸릴 수 있습니다.
Sync source code
sh

Prepare Device Specific Code

n5110 기기를 위한 커널 및 벤더(Vendor) 바이너리를 준비해야 합니다.
Extract proprietary blobs
sh
하지만 기기에 대한 공식 지원이 끊긴 지 오래되어서 그런지, LineageOS 공식 저장소에서 관련 코드를 정상적으로 받아오지 못하는 문제가 발생했습니다.
breakfast fail
sh
GitHub을 조금 더 찾아보니, 다행히 n5110을 포함한 다양한 구형 기기들의 벤더(Vendor) 파일들을 지속적으로 백업하고 지원하는 외부 저장소(TheMuppets)가 있었습니다.
이 외부 저장소를 사용하기 위해 .repo/local_manifests 경로에 manifest 파일을 추가하여 코드를 받은 후, 직접 경로를 연결해 주어야 합니다.
.repo/local_manifests/vendor_samsung.xml
xml
매니페스트를 수정한 뒤 다시 repo sync를 수행하고, 필요한 디렉터리를 symlink로 연결한 후 breakfast를 재시도해 보았습니다.
Setting path using symlink after code sync
sh
이번에는 kona-common 관련 파일이 없다는 오류가 발생합니다.
다행히 동기화받은 proprietary_vendor_samsung 소스 안에 kona-common 디렉터리도 포함되어 있었으므로, 이 역시 심볼릭 링크를 추가한 뒤 빌드를 이어가면 될 것 같습니다.
Retry after adding symlink
sh
연이어 n5100 관련 파일이 없다는 오류가 발생했습니다.
마찬가지로 백업받은 proprietary_vendor_samsung 폴더 내에 n5100 항목이 존재하므로, 동일하게 심볼릭 링크를 걸고 breakfast를 다시 시도해 봅니다.
Retry after adding symlink
sh
드디어 별다른 문제 없이 breakfast n5110 명령이 성공적으로 완료되었습니다.
이제 본격적으로 부팅 가능한 롬 이미지 빌드를 시작해 보겠습니다.

Start the Build

앞서 언급한 대로, 빌드를 일관되고 환경 오염 없이 수행하기 위한 Docker 이미지를 만들어 보겠습니다.
LineageOS 공식 문서에 수록된 필수 빌드 도구들과 패키지들을 모두 포함하여 아래와 같이 Dockerfile을 구성했습니다.
DockerFile
docker
이제 docker build를 통해 이미지를 생성하고, 현재 안드로이드 소스 코드가 동기화된 작업 디렉터리를 볼륨 마운트하여 컨테이너 환경 내부로 진입합니다.
컨테이너 내부에서는 셸 환경 변수를 설정한 뒤 brunch 명령어를 사용하여 실제 ROM 빌드를 시작합니다.
Build with docker
sh
전체 빌드 과정이 에러 없이 마무리되면, out/target/product/n5110/ 디렉터리에 기기에 직접 플래싱(flashing)할 수 있는 lineage-*.zip 파일과 recovery.img(리커버리 이미지) 파일이 성공적으로 생성된 것을 확인할 수 있습니다.
Build result
sh

4. Next Steps

이번 포스트에서는 놀고 있는 n5110 기기를 위해 LineageOS 14.1 커스텀 롬을 빌드하는 환경을 구축하고 실제 빌드까지 무사히 완료했습니다.
다만, 아직 생성된 이미지를 실제 태블릿에 올려서 정상 동작하는지 테스트해 보지는 못했습니다.
다음 글에서는 이번에 직접 빌드한 롬 파일과 리커버리 이미지를 Custom Recovery(e.g. TWRP)를 이용해 기기에 직접 플래싱해 보고, 문제 없이 부팅이 되는지 확인해ㅎ확인해 보겠습니다.
Jooojub
System S/W engineer
Explore Tags
Series
    Recent Post
    © 2026. jooojub. All right reserved.