Xpenology DSM7 만능 부트로더 만들기(Tinycore/ESXi)

profile
달소

본 글은 Tinycore를 이용한 ESXi 설치글 입니다. 진행과정은 별반 다를바없지만 Native의 경우 아래 글을 참고부탁드립니다.

 

안녕하세요. 시놀로지 DSM 버전이  7.1 로 업데이트 된 이후 기존 7.0.1 을 사용하시는 분이 7.1로 업데이트를 원하시거나 처음부터 7.1 설치를 원하시는 분들을 위한...
화정큐삼 | 2022.04.12

 

++영상버전입니다

 

  애들 씻겨야해서 일단 영상만 올리겠습니다 ^^   tr_st.sh 를 2.2.0-r01로 새로 수정하며 영상작업합니다.   기존 설명과 조금은 다르지만 조그은 쉽게 접...
FOXBI | 2022.04.14

 

 


 

++ 화정큐삼 님 피드백으로 빌드시 기본드라이버 잡아주는내용추가
++ 22/03/01 UEFI 로더내용 추가.

++ 22/03/11 SataPortMap 관련 메뉴얼 내용추가

안녕하세요. 달소입니다.

 

최근에 redpill loader의 업데이트가 없어도 꾸준하게 헤놀포럼의 경우 눈팅을하고있었는데요.

인기있는 pocopico님의 tinycore를 소개해드리고자 합니다.

 

tinycore 는 초경량 리눅스로 구동되는 OS인데 이 OS에 부트로더를 생성할때 필요한 모든것을 넣어두고 이미지화 시킨게 pocopico/tinycore 입니다.
가장좋은기능은 아마 Native 유저들이 사용하시는 SataPortMap / SasIdxMap등을 자동으로 인식해서 로더에 포함시켜주는 기능이 아닐까 싶습니다.

 

간단하게 말씀드리자면 기존 Redpill 부트로더를 만들기위해서는 Linux 환경을 설치하고 docker를 설치하고 jq 등 패키지를 추가로 설치하고 툴체인을 받아서 이미지를 만들고 받고 vmdk 및 usb에 썼다면 pocopico의 tinycore의 경우 동작이 신기합니다.

 

동작을 제대로 이해하지않을경우 기존 redpill 보다 어렵게 느껴지실수도 있을거라고 생각은 하지만.. 이해하신다면 크게 어렵지는 않을 수 있습니다.
+2022/02/16 tinycore업데이트로 DS3622XS 모델도 지원대상에 추가되었습니다.

tinycore linux의 역할

-tinycore에서 부트로더 빌드시 tinycore의 파티션 자체를 별도로 빼고 tinycore 내에 부트로더를 생성합니다.(ex. 최초 grub 에 tinycore1개만 있던게 bootloader가 신규로 추가)
-tinycore는 4가지 모델을지원합니다.(DS918+/DS3615xs/DS3617xs/DS3622xs)
-tinycore는 부트로더에 필요한 기본셋팅이 되어있는 상태이고 여기서 부트로더의 pid/vid/sn/mac/sataportmap 등을 변경합니다.
-tinycore에서는 추가하고싶은 확장드라이브를 기존처럼 추가할 수 있습니다.
-tinycore에서는 각 모델별 sn/mac을 몇 가지 제공해줍니다.(vmdk일경우 유용/Native일경우 상관x)
-위 과정을 통해 이미지를 다시만들지않고도 지속적으로 부트로더를 자체 변경가능합니다.(모델/sn/mac등)
-tinycore는 img와 vmdk 두가지를 모두 지원합니다.

 

img의 경우 usb에 windiskimager 프로그램을 통해 이미지를 USB에 쓰고 기존부트로더처럼 접속해주시면 됩니다.

vmdk의 경우 바로 virtualbox,esxi나 vmworkstation에 붙여서 로드해주시면됩니다.

이 글은 가이드를 위해 esxi+vmdk를 기본으로 가이드를 진행하겠습니다.

준비사항

tinycore img/vmdk
usb일 경우 usb/windiskimager
vmdk일 경우 virtualbox/esxi/vmworkstation

ssh 접속용 putty 파일전송용 winscp
ipscanner 등등

 

tinycore 이미지와 vmdk 파일은 아래 공식 깃 이나 한방팩을 통해 다운로드 받아주세요.
https://github.com/pocopico/tinycore-redpill

 

22/03/01 -- UEFI 이미지 추가 완료.
Native의 경우 사용하시는 메인보드 지원에 따라서 Lagacy의 경우 기본/ UEFI의 경우 UEFI 이름이 있는 img를 사용해주시면되겠습니다.

 

Xpenology DSM7 만능 부트로더 만들기(Tinycore) 안녕하세요. 달소입니다.   최근에 redpill loader의 업데이트가 없어도 꾸준하...
달소 | 2022.01.27

 

 

다운로드 받은 gz 파일의 압축을 풀어서 Native와 가상환경에 맞춰서 준비해줍니다.

 

Native - windiskimager로 usb에 이미지 쓰기

가상환경 - esxi/vmworkstation인 경우 이미지를 데이터스토어에 올리고 vmdk 형식 변경. cmd나 shell에서 (vmkfstools -i [기존vmdk파일] [변경할vmdk파일])

 

자 길고 긴 준비가 끝났으니 부팅됐다는 가정하에(?) 바로 시작해보겠습니다.

VM 가상머신 생성하기

ESXi의 경우 깡통 VM을 먼저 만들어주세요.

linux 커널 4버전 64비트,디스크는모두 제거 , SCSI 컨트롤러 삭제 / CD 디스크 삭제 / 부트옵션 UEFI, CD롬 삭제 등등을 해주고 만들어줍니다.

ESXi의 경우 위에서 말씀드린대로 vmdk 형식변경이 필요하기때문에 데이터스토어를통해 vmdk를 먼저 업로드해주세요.

그리고 esxi ssh로 접근해서 해당볼륨으로 가신뒤 아래 명령어로 부트로더 형식을 바꿔줍니다.
vmkfstools -i tinycore-redpill.v0.4.4.vmdk tinycore-redpill.vmdk

이제 깡통 VM에 디스크를 추가해줄 차례입니다.
기존디스크에 아까만든 ESXi vmdk 및 신규디스크(데이터저장용) 하나를 추가해줍니다.

시작을 누르면 tinycore linux로 자동으로 부팅이되며 로딩 후 터미널을 실행시켜서 ip를 확인해주시거나 ip스캐너로 22번포트가 열려있는 새로운 ip를 확인해주셔도 됩니다.

 

*혹 부팅이 안되신다면 vmdk파일을 디스크설정에서 종속이아닌 독립비영구로 변경해주세요.

이제 이 ip로 putty를 사용해서 접근해줍니다.

putty는 ssh 접근 툴 입니다.

계정명 : tc // 비밀번호 : P@ssw0rd

 

*업데이트된 내용으로 별도의 sudo나 root 권한 사용을 할필요가 없다고하니 참고하시어 진행하시면 되겠습니다

 

부트로더 세부 값 설정하기(vid/pid/mac/sn/satamap/idxmap 등등)

 

진행전에  ./rploader.sh update now 명령어로 tinycore의 최신버전으로 업데이트를 한번진행해주세요.

 

저는 DS918+를 기준으로 진행할 예정이며 차근차근 하나씩 해주시면됩니다.

아예 native처럼 사용하고 계신 mac이나 s/n 정보들이 있는경우에는

vi user_config.json 를통해 입맛에 맞게 수정하신뒤 추후 확장 드라이버 추가부터 봐주시면됩니다.

먼저 DS918+에 사용할 시리얼넘버를 자동으로 생성해서 user_config.json에 넣겠습니다.
./rploader.sh serialgen DS918+

여기서 y를 눌러주면 나온 mac/s/n이 설정파일에 자동으로 적용됩니다.

이제 vid/pid를 자동으로 인식해서 설정값에 넣어주겠습니다.
./rploader.sh identifyusb now

vm은 이렇게 나옵니다.

SataPortMap이나 DiskIdxMap도 인식하긴하는데 이기능은 테스트중이라고하니 절대적으로 신뢰해서는 안됩니다.(확실히 다르긴합니다. ESXi인 경우 SataPortMap을 9로 설정해주세요)
./rploader.sh satamap now

여기나온 값으로 user_config.json을 수정해줍니다.
MAC/Sn도 한번확인해주세요.

최종적으로 이렇게 됐습니다.

이제 설정파일 작성이 완료되었으니 확장 드라이버 추가로 넘어가겠습니다.

 

혹 SataPortMap을 아무리해도 안되신다면 아래글을 참조하시어 설정해보시길바랍니다.

  참으로 많은 고생을 했습니다 ㅎㅎ...서론에 앞서 ..다음과 같은 단어를 단축하여 작성하오니 ... 헷갈리지 마시길 바랍니다.... 여러분들의 이해를 쉽게하기 위해 제가 ...
TheSTREET | 2022.03.11

 

부트로더에 확장드라이버 추가하기.

헤놀로지의 경우 사용하고 계신 환경이 모두 다릅니다. Disk 조합부터 Lan 어댑터나 심지어 Realtek에서 어떤 모델인지 Raid카드나 sata 확장카드에 대한 모든 경우의 수가 많습니다.
이때문에 헤놀리지의 사용이 어려운 경우도 있구요.

 

Tinycore에서는 기본적으로 부팅된 하드웨어에 따라서 자동으로 드라이버를 인식해서 추가해줍니다.

혹 build시 자동으로 드라이버 추가가 안될경우 수동으로 확장드라이버를 추가하는 방법을 제공해주고있습니다.


자세한 확장드라이버 목록은 아래에서 확인할 수 있으며 저는 ESXi용이기때문에 PVSCSI/VMXNET3 정도만 추가하겠습니다.

(기본 build시 Native라면 랜카드나 컨트롤러 등을 자동으로 검색해 빌드시 추가해줍니다.)
https://github.com/pocopico/rp-ext

지원해주는 플랫폼은 아래와 같습니다. DS918은 apollolake DS3615xs는 bromolow 입니다.

이제 아래 명령어들로 확장드라이버를 추가해주세요.

./rploader.sh ext apollolake-7.0.1-42218 add https://raw.githubusercontent.com/pocopico/rp-ext/master/vmw_pvscsi/rpext-index.json

./rploader.sh ext apollolake-7.0.1-42218 add https://raw.githubusercontent.com/pocopico/rp-ext/master/vmxnet3/rpext-index.json

필요하신 드라이버를 모두 설치하셨으면 이제 빌드만 해주시면 됩니다.
빌드 과정은 redpill 로더와 거의 똑같습니다.

./rploader.sh build apollolake-7.0.1-42218

빌드가 종료되면 /home/tc/redpill-load/cache/ 경로에 해당 pat설치파일이 남는데. 공홈에서 받은 설치파일도 잘되서.. 굳이 안받으셔도 되고 혹 공홈에서 받으신게 안되신다면 winscp와같은 툴로 받아주시면됩니다.

또한 자동으로 파티션이 분할되면서 종료 후 다시 실행시에는 기존 부트로더에서 자주보던 화면이 보이실겁니다.

ESXi 유저들은 tinycore 종료 전에 user_config에서 mac주소를 미리 복사해주세요.

테스트하기(DSM 7 설치하기)

filetool.sh -b &&/usr/bin/exitcheck.sh 로 tiny코어를 종료시켜주시고 편집 -> 네트워크로 가서 아까 복사해놓은 MAC 주소를 넣어줍니다.

다시 부팅을 시켜주시면 아래처럼 로더창이 뜨실겁니다.
저는 SATA 부팅이기때문에 두번쨰로..
*혹 이미지의 변경을 하시려면 3번째인 tinycore로 가서 동일하게 셋팅하고 빌드해주면 자동으로 로더도 변경됩니다.

이제부터는 기존 헤놀로지 설치와 똑같습니다 find.synology.com 이나 ip scanner로 해당 ip에 접근해주시고 설치를 진행해주세요.

길고긴 여정이 끝났습니다 ㅎㅎ 아마 이 글을 기점으로 대부분의 사용자들이 tinycore를통해 직접 하드웨어 상황에 맞게 이미지를 만드시고 유지보수 하시기를 기대합니다.

감사합니다.

 

https://svrforum.com/nas/221981

  안녕하세요 여러분~ 벌써 3월의 마지막날인 31일입니다 ㅎㅎ   요즘 헤놀을 성공하시는분들께서 후기글도 많이올려주셔서 뿌듯한 하루를 시작하고있...
달소 | 2022.03.31

 

서버포럼 관리자입니다.!

서버포럼은 홈서버로 운영중이며 아래와같은 시스템으로 운영됩니다.

 

메인서버 - Ryzen 5700G / Proxmox 7.2 / Ubuntu / Xpenology / 기타 VM 등등

보조서버 - Intel i9-9900ES(QQC0) / H370M / Proxmox 7.1 / 아직개발용서버로 사용중
백업서버 - 타오나스 A형(?) / DS918+ 6.2.3 / 메인서버 VM 백업용

 

하드웨어,가상화 등등 여러 IT분야에 관심이 두루두루많습니다만 깊게알고있는건 없습니다 하하하

 

 

적용중인 도장이 없습니다.

* 가입일 : 2020-12-24
* 총 게시글 수 : 5960
* 총 댓글 수 : 18053
* 추천받은 게시글 개수 : 2380
* 추천받은 댓글 개수 : 3004
댓글
163
  • 꿈의세계
    달소
    작성자
    2022.05.17
    @꿈의세계 님에게 보내는 답글

    설치방법은 다양합니다.

    native부터 vmware,virtual box,esxi, proxmox등 여기서 사용하시는 방법으로 설치하시면됩니다

  • 달소
    꿈의세계
    2022.05.17
    @달소 님에게 보내는 답글

    답변 정말 감사 드립니다.

    이번에 저도 I5 6500에 6.2.2 설치를 하려고 부트로더 만들었는데 이상하게 네트워크 상에 나오지 않아서요 그래서 7로 올려 보려고 하는 것입니다.

    그런데 좀 어려움이 좀 있는 것 같아 일단 고민 중이에요]

    https://www.youtube.com/watch?v=-5yAnJqNWbE&t=399s

    이 분 것을 보고 만들었는데 안 뜨더라구요 이리 저리 아무리 해도 안되어서 뭐가 문제인지 모르겠어요

  • 꿈의세계
    달소
    작성자
    2022.05.18
    @꿈의세계 님에게 보내는 답글

    6.2.2는 아무래도 너무 구버전이기는하지요 ㅎㅎ 7버전해보시면 잘올라가실겁니다 6000번대로 성공하신분도 많아서요~

댓글 쓰기
권한이 없습니다.