안녕하세요.
이 글은 hp 마이크로서버 gen7 n40l(이하 '서버')에 tinycore redpill 로더로 dsm 7.0.1(update 3)을 설치한 과정을 설명하고 있습니다.
n36l, n40l, n54l은 cpu 클럭수만 다르고 이외 사양들이 거의 같기 때문에 다 될 것으로 예상됩니다.
(한 사람이 세 기종에 모두 성공한 사례는 못찾았지만, 각 기종에서 성공한 사례들은 확인했습니다.)
설치할 버전은 DSM 7.0.1-42218 update 3이고, 이 글을 쓰는 현재 최신 버전입니다.
글을 오랜만에 쓰는거라 가독성이 좋지 않은데 양해 바랍니다.
disclaimer
- 기본적인 네트워크가 구성(공유기나 허브로 연결) 되어있다는 것을 전제로 합니다.
- ssh 접속 및 콘솔 커맨드 작업 경험이 있다는 것을 전제로 합니다.
- 해놀로지 혹은 홈서버 구성 경험이 약간이라도 있다는 것을 전제로 합니다.
- 전통의 안정성(?)을 자랑하는 DS3615xs 모델을 선택했고, DS918이나 다른 기종은 작동 여부가 확인되지 않았습니다.
- 나중에 다른 글에서 설명하겠지만 wol(wake on lan)이 작동하지 않습니다.
- 제가 진행한 과정을 적은 것일 뿐이므로, 혹시라도 오류가 있거나 더 나은 방법이 있으면 댓글로 공유 부탁드립니다. '강좌'가 아닌 토론장이 되면 좋겠습니다 :)
준비물
- hp 마이크로서버 gen7
- usb 메모리(usb 2.0 이상, 용량 1G 이상)
- ssh 가능한 터미널(윈도우는 putty, 맥은 iterm 혹은 기본 터미널)
- 공유기에 연결된 장비 ip를 알아낼 수단(공유기 기능 혹은 lan 스캐너 프로그램)
특수 준비물
- 위에서 4번이 없거나, 모드 바이오스(sata 포트 다 쓰게 해주는 핵펌) 업데이트 안하신 분은 서버에 붙일 디스플레이(dsub 단자)와 usb키보드, usb마우스가 필요합니다.
- 모드 바이오스 펌업 안하셨던 분은 윈도우 머신이 필요합니다.
- 모드 바이오스는 2013년인가 나온 오래된 펌웨어인데, 마이크로서버로 해놀로지 써보신 분이라면 대부분 하신 상태 아닐까 합니다만, 혹시 안하셨던 분은 링크 참고하셔서 하시면 됩니다.
- Advanced > CE1 Support = Disabled 는 반드시 해줘야 한다고 하는군요.
미리 다운로드 해 두면 좋을 것 들
- 부트로더 이미지
tinycore-redpill.v0.4.6.img
- https://github.com/pocopico/tinycore-redpill/raw/main/tinycore-redpill.v0.4.6.img.gz (압축 해제하여 .img 파일 준비)
- 버전업이 된 경우 https://github.com/pocopico/tinycore-redpill 에서 찾아 받으시면 되는데, 설치 방법이 달라질 수 있으니 주의하세요.
- 부트로더 이미지 플래싱 툴
- 윈도우는 win32diskimager.exe 혹은 rufus 검색해서 받으시면 되고, 맥을 쓰는 저는 balenaEtcher를 사용했습니다.
- 공식 DSM 이미지
DSM_DS3615xs_42218.pat
- 쓰시던 해놀로지 설정이 있으면 제어판 > 업데이트 및 복원 > 구성 백업 탭에서 '수동 내보내기'로 .dss를 다운받은 다음 새로 설치한 상태에서 구성 복원해주시면 됩니다.
업데이트 과정
https://xpenology.com/forum/topic/18601-tuto-hp-n54l-gen7-dsm-7-et-dsm-623/
우선, 제가 참고한 쓰레드입니다. 프랑스어지만 구글님이 번역해 주셨습니다.
고인물용 스피드런
- 모드 바이오스 이미 펌업 하셨죠? 원본 맥어드레스 알아두시면 공유기 통해 ip 알아낼때 도움 됩니다.
- 부트로더 이미지
tinycore-redpill.v0.4.6.img
를 usb에 플래싱 해줍니다. - 보드에 usb 꽂고 전원을 인가합니다. 좀 기다리셔야 합니다.
- 서버에서 터미널 작업을 준비합니다.
- 공유기의 접속기기 목록에서 ip 확인이 가능하면 터미널에서
ssh tc@서버ip주소
입력하시고, 암호는P@ssw0rd
(영문자 'O'가 아니라 숫자 '영') - 그냥 서버에 붙어서 작업하실거면 하단 아이콘 중 터미널 실행 (ifconfig 실행하여 ip주소 확인 필요)
- 공유기의 접속기기 목록에서 ip 확인이 가능하면 터미널에서
./rploader.sh update now
- 업데이트가 있는 경우, 할거냐고 물어보면 y
./rploader.sh serialgen DS3615xs
user_config.json
에 쓸거냐고 물어보면 y- 혹시 필요할 수 있으니 생성된 맥어드레스 적어두세요. 만약 기기 본래의 맥어드레스 쓰고 싶으시면 vi로
user_config.json
에서 편집해주시면 됩니다.
./rploader.sh identifyusb now
user_config.json
에 쓸거냐고 물어보면 y
./rploader.sh satamap now
user_config.json
에 쓸거냐고 물어보면 y- 이거 안해주면 디스크 번호가 1X번 부터 시작하게 되더군요.
./rploader.sh build bromolow-7.0.1-42218
- 1에서 y 입력해도 업데이트가 안되는 경우 또 물어보는데, 한번 더 해보시고 또 물어보면 n으로 업데이트 하지 않아야 진행이 가능합니다.
- 주르르르르륵 뭔가 여러 페이지 잔뜩 스크롤 되고 종료되면
sudo reboot
으로 리부팅. (주르르르르륵 안뜨면 빌드가 안된 것이므로 다시 9번...) - 한참 기다렸다가 find.synology.com 시도 혹은 공유기를 통해 알아낸 ip주소로 접속(
http://서버ip주소:5000
) DSM_DS3615xs_42218.pat
선택하여 설치
여러분의 서버는 굉장히 오래된 기계라 생각보다 느립니다.
각 과정에서 충분히 시간을 주세요 :)
마이그레이션과 OS 설치
- 시놀로지의 작동 방식을 간단히 설명드리면, 시놀로지의 OS는 기기에 꽂혀있는 모든 디스크(usb 제외)의 시스템 파티션에 동일하게, 중복되어 설치됩니다. 그래서 쓰던 디스크를 일부만 장착해도 OS가 실행됩니다.
- 앱(패키지)들은 설치 볼륨을 지정하게 되므로, 설치된 디스크(혹은 볼륨)이 장착되지 않으면 그 앱은 설치 안된것으로 나옵니다.
- 만약 디스크들 중 다른 버전의 OS가 설치된 녀석이 감지되면 빨간 메시지가 뜨면서 복구하라고 나옵니다. 복구 하면 됩니다. 데이터 안날아가요.
- 해놀로지 설치를 하게 되면 꽂혀있는 디스크의 OS 영역을 지우고 새로 설치하게 되는데, 이 과정을 마이그레이션이라고 부릅니다. 즉, 데이터 영역은 그대로 남긴 합니다...만, OS에서 볼륨을 새로 인식해줘야 할 수 있습니다.
- 가장 안전하게 OS 교체 작업을 해주려면 안쓰는 디스크 하나 붙여서 설치하고, 그 디스크가 붙어있는 상태에서 기존 디스크를 붙여 부팅한 다음 복구 과정을 거치면 됩니다...만, 슬롯 꽉 차게 쓰는 분들은 불가능하겠네요. 사실 그냥 해도 문제 없었습니다.
- 레이드나 SHR로 구성된 경우 같은 묶음끼리 장착해주지 않으면 난리날 수 있습니다. (sata 슬롯 순서는 상관 없는듯)
트랜스코딩 시리얼 검사 우회 패치
업데이트 후 원래의 목적이었던 시놀로지 포토를 써보니 아이폰 사진과 영상이 제대로 백업되지 않았습니다. 로그를 뒤져보니 데이터 컨버팅 과정에서 기기 시리얼 확인 작업에 실패하더군요.
나름 페이크 시리얼/맥어드레스 생성을 해줬는데 소용이 없나봅니다. (5.x에서는 통했다는 것 까지 확인...)
찾아보니 패치를 통해 우회하는 방법이 있길래 해봤더니 성공했네요.
비디오스테이션 트랜스코딩도 이 방식으로 된다고는 하는데, 추천하지 않습니다. 서버 사양이 워낙 낮기도 하고 그냥 DLNA나 SMB로 바로 붙어서 볼 수 있는 솔루션들이 넘쳐나서...
- ssh로 서버에 접속한 다음 적당한 폴더에 패치 스크립트를 받아놓습니다.
- 터미널에서
wget https://raw.githubusercontent.com/dmc31a42/synocodectool-patch/master/patch.sh
를 입력합니다.- 또는 이 링크의 내용을 저장하여 2번 항목의 수정을 거친 다음 서버의 공유폴더에 올려놓고 터미널로 그 폴더에 가도 됩니다.
- stl88083365 님의 패치를 dmc31a43(낙원상가)님이 포크하여 update 2까지 적용한 레포지토리입니다 :)
- 터미널에서
- 이 글을 쓰는 지금은 7.0.1 update 2까지만 적용된 상태라 살짝 수정을 해줘야 합니다.
- 깃헙에 pull request로 update 3 수정사항이 요청된 상태인데, 저도 그렇다시피 오래된 개인 프로젝트는 잊고 살기 일쑤라 언제 머지가 될지 알 수 없...
- 에디터로 열어서 아래 내용을 수정해줍니다.
- 19번째 줄
["c2f07f4cebf0bfb63e3ca38f811fd5b6112a797e"]="7.0.1-42216-0_7.0.1-42218-2"
의 마지막-2"
를-3"
으로 수정 - 151번째 줄
"7.0.1 42218-2"
아래에"7.0.1 42218-3"
추가
- 19번째 줄
- 혹시 수정사항이 반영되어 있으면 그냥 두셔도 됩니다.
chmod +x patch.sh
명령으로 파일 속성을 수정하여 실행 가능하게 만들어 줍니다.sudo ./patch.sh -p
명령으로 실행합니다.- 숫자 메뉴가 나오는데,
/usr/syno/bin/synocodectool
선택하시면 되고, 다 하셔도 됩니다. - 혹시라도 패치를 취소하고 원래로 복구하려면
sudo ./patch.sh -r
로 실행하면 됩니다.
- 숫자 메뉴가 나오는데,
cat /usr/syno/etc/codec/activation.conf
명령의 결과가 아래처럼 나오면 성공.{"success":true,"activated_codec":["hevc_dec","ac3_dec","h264_dec","h264_enc","aac_dec","aac_enc","mpeg4part2_dec","vc1_dec","vc1_enc"],"token":"123456789987654abc"}
p.s.
옵시디언으로 깔끔하게 작성했는데 html 붙여넣기가 제대로 안되는구만요... 코드 태그가 구분이 안됩니다;
뭐가 문제일까요 ㅠㅠ;;
DSM 6.2 에서 잘 돌리던 머신이라 CMOS 설정을 건드릴 것도 없는데..
Advanced > CE1 Support = Disabled
Advanced > IDE Configuration > SATA Controller Mode = AHCI
Advanced > Advanced ACPI Configurtation = ACPI v2.0 (3.0으로 해도 아무 문제 없긴 했습니다.)
직접 rgb 연결 안하고, ssh로만 작업했는데,
usb 우선 부팅되어 있는 상태는 상관없겠죠? 일부러 SATA1로 바꿔준다거나..
혹시나, 이 글을 보시게 될 비슷한 증상을 겪으시는 분들에게 해결기(?)를 남깁니다.
무한설치 증상은 저 뿐만 아니라 많은 분들이 redpill에서 겪고 계시는 증상이더군요.
(https://svrforum.com/?_filter=search&act=dispBoardContent&vid=&mid=nas&category=&search_target=title&search_keyword=%EB%B0%98%EB%B3%B5)
많은 분들이 설치 중간에 Network 임의 단절을 얘기했지만, 제게는 효과가 없었습니다.
이후 N40L에 Direct 접속(VGA+키보드)하여, 부팅옵션 3가지 중 밑의 두 가지(SATA, build Image)를 차례대로 실행시켰습니다. SATA 옵션을 수행시킬 때, HDD를 마구 긁어대는 소리가 들렸고, 이후 (USB)부팅이 되지않아, 밑의 build image를 통해 다시 빌드를 해 주었습니다. 이렇게 하니 7.0 login 화면이 반기더군요.
설치 중 또 하나의 문제는 N40L의 경우 CDROM을 연결하는 IDE가 있는데 (일명 옥탑방), 이 HDD가 인식이 안되는 문제가 발생했습니다. 삽질 끝에 결국 BIOS에서 IDE COMBINED MODE를 OFF로 설정하고 나서야 인식이 되었고,
sataportmap=6, SataIdxMap=00 으로 모두 깔끔하게 인식이 되었습니다.
나름(!) 힘들었지만 N40L를 더 부려먹을 수 있다는 보람과, 드디어 시놀로지 포토를 쓸 수 있다는 즐거움이 고생을 잊게 합니다.
다시 한 번 친절히 댓글로 지원해 주신 mash 님께 감사드립니다.
그래서 다시 n54l 정비중입니다...
우선 옥탑방에 ssd 64기가 짜리로 헤놀만 올려 놨습니다.
주말에 한번 각잡고 시도해 보겠습니다.