[NETCITY NEWS] Galaxy Wide3(SM-J737S)에 postmarketOS를 올리는 작업은 앱을 설치하듯 끝나는 과정이 아니었다. 기기 상태 확인, 빌드와 플래시, 첫 부팅, 네트워크 고정, 웹서버 복원, 저장공간 재배치, 재부팅 검증까지 이어지는 작은 단계들이 모두 통과되어야 했다. 이번 기사는 그 흐름을 단계별 이미지와 함께 다시 정리한 설치 기록이다.
현재 운영 기준은 192.168.0.194:80이다. 공개 방문자는 mobile.netcity.co.kr로 접속하고, Ubuntu PC의 Nginx가 HTTPS를 받은 뒤 Galaxy Wide3 postmarketOS 서버로 넘긴다. 설치 초기에 USB 네트워크 검증이 중요했지만, 지금의 작업 환경은 Wi-Fi 고정 주소 194를 기준으로 정리되어 있다.
주의: postmarketOS 설치는 일반 사용자용 원클릭 설치가 아니다. 부트로더, 다운로드 모드, 커널, 루트 파일시스템, 파티션, 네트워크가 함께 엮인다. 같은 모델이라도 상태가 다르면 결과가 달라질 수 있으므로, 이 글은 무리한 따라하기 안내가 아니라 NETCITY 작업장에서 실제로 수행한 구축 기록으로 읽는 편이 맞다.
1단계: 설치 전 기기 상태를 먼저 확인했다
대상 기기는 Samsung Galaxy Wide3, 모델명 SM-J737S였다. 설치 전에는 모델 식별, 다운로드 모드 진입, USB 연결 상태, 복구 가능성을 먼저 확인했다. 이 단계에서 중요한 것은 명령어를 빨리 치는 것이 아니라, 지금 기기가 어떤 상태인지 착각하지 않는 것이다.
postmarketOS 공식 설치 안내도 장치 지원 여부와 설치 방식을 먼저 확인하라고 안내한다. 오래된 삼성 기기는 통신사·부트로더·커널 상태에 따라 결과가 달라질 수 있어, 설치 전 상태 확인이 실제 안전장치가 된다.
2단계: 작업 폴더와 빌드 기준을 만들었다
PC 쪽 작업 기준은 /var/www/html/postmarketOS_work로 잡았다. 여기에 pmbootstrap 작업 디렉터리, 기기 후보 패키지, 커널 관련 파일, 플래시 준비물, 네트워크 스크립트, 복구 기록을 모았다. 설치는 한 번의 명령으로 끝나지 않았기 때문에 작업 폴더 자체가 복구 기준점이 됐다.
pmbootstrap은 postmarketOS 이미지 생성과 패키지 빌드, 장치 플래시 과정을 돕는 핵심 도구다. 이번 작업에서도 기기에 맞는 루트 파일시스템과 부팅 구성을 준비한 뒤, 다운로드 모드와 플래시 과정을 거쳐 첫 부팅으로 넘어갔다.
3단계: 첫 부팅 뒤 SSH와 네트워크를 잡았다
첫 부팅에서 중요한 기준은 화면이 켜졌는지가 아니라 외부에서 접속 가능한가였다. postmarketOS가 올라온 뒤 SSH 접속을 확인했고, 현재 운영 주소인 192.168.0.194를 기준으로 Nginx 80번 응답을 점검했다.
이 단계가 통과되어야 다음 작업이 가능했다. SSH가 열리지 않으면 파일 복원과 서비스 설정이 느려지고, 웹 응답이 돌아오지 않으면 실제 서버로 쓸 수 없다. 그래서 첫 부팅 확인은 곧 네트워크 확인이었다.
4단계: Nginx, PHP-FPM, MariaDB를 복원했다
접속이 안정된 뒤에는 폰 내부에 실제 웹서버 역할을 넣었다. Nginx는 정적 파일과 요청 입구를 맡고, PHP-FPM은 PHP 페이지를 실행하며, MariaDB는 복원된 게시판 데이터를 담당한다. 단순히 패키지가 설치됐다는 것만으로는 충분하지 않았다.
G5 계열 페이지, 이미지 경로, DB 연결, PHP 실행, 카운터 파일 쓰기 권한을 함께 봐야 했다. 실제 운영에서는 작은 권한 문제 하나만 있어도 “페이지는 뜨는데 기능은 죽는” 상태가 되기 때문이다.
5단계: 저장공간과 공개 경로를 분리했다
스마트폰 서버에서 저장공간은 설치만큼 중요했다. 루트 파티션에 웹 자료를 모두 몰아넣으면 금방 부담이 커지기 때문에, USERDATA 영역을 웹 저장공간으로 붙이고 /srv/www/default 경로를 유지했다. 이렇게 하면 Nginx 설정과 웹 경로는 그대로 두면서 실제 저장공간은 더 넓은 영역을 쓸 수 있다.
공개 경로도 분리했다. 외부 HTTPS와 인증서는 Ubuntu PC가 처리하고, 실제 콘텐츠 응답은 내부의 Galaxy Wide3 postmarketOS 서버가 맡는다. 현재 공개 흐름은 mobile.netcity.co.kr:443 -> 192.168.0.194:80이다.
6단계: 재부팅 뒤 다시 살아나는지 확인했다
마지막 기준은 재부팅 검증이었다. 설치가 성공했다는 말은 한 번 켜졌다는 뜻이 아니라, 꺼졌다 켜진 뒤에도 ping, SSH, 웹, PHP-FPM, MariaDB, 카운터가 다시 동작한다는 뜻이어야 했다. 메인 페이지의 부팅속도 오버레이도 현재 표기 기준에 맞춰 1초에서 3초로 정리했다.
이 과정을 통과하면서 Galaxy Wide3는 단순한 실험폰이 아니라 실제 공개 웹 흐름 뒤에서 콘텐츠를 응답하는 작은 리눅스 노드가 됐다.
이번 설치에서 남은 기준
- 설치 전에는 모델, 다운로드 모드, 복구 가능성을 먼저 확인해야 한다.
- 작업 폴더를 고정하면 빌드, 플래시, 복구 기록을 한 곳에서 추적할 수 있다.
- 첫 부팅 확인은 곧 SSH와 웹 응답 확인이어야 한다.
- 스마트폰 서버는 루트 파티션보다 별도 웹 저장공간 설계가 중요하다.
- 공개 HTTPS와 내부 폰 서버 역할을 나누면 장애 지점을 더 쉽게 분리할 수 있다.
- 최종 성공 기준은 “재부팅 뒤 다시 웹으로 돌아오는가”다.
postmarketOS 설치 과정은 깔끔한 성공담이라기보다, 작은 문제를 하나씩 걷어낸 기록에 가깝다. 다운로드 모드, 빌드, 플래시, 네트워크, 웹스택, 저장공간, 프록시, 재부팅 검증이 맞물린 뒤에야 오래된 Galaxy Wide3는 postmarketOS 기반 웹서버로 돌아왔다.
참고 자료: postmarketOS 설치 안내, pmbootstrap 문서, postmarketOS 공식 사이트