헤놀로지 RedPill tinyCore Native DSM 7.1 적용 가이드(업데이트, 신규설치)

profile
화정큐삼

안녕하세요.

시놀로지 DSM 버전이  7.1 로 업데이트 된 이후 기존 7.0.1 을 사용하시는 분이 7.1로 업데이트를 원하시거나

처음부터 7.1 설치를 원하시는 분들을 위한 가이드입니다.

이글을 처음 접하시는 분들을 위해 기존 가이드에서 가감해서 조금씩 수정한 내용으로 공유드리겠습니다.

-------------------------------------------------------------------------------------------------------

작년부터 공개된 기존 RedPill 은 리눅스가 별도 준비되어 있는 경우에만 직접 부트로더의 컴파일 과정을 통해서 IMG 파일의 생성이 가능하지만,

이 tinyCore RedPill의 경우는 USB 부팅이미지 형태로 tinyCore Linux 까지 아예 같이 제공이 되기 때문에

linux를 별도 설치해서 준비할 필요없이 작업이 훨씬 수월합니다.

 

기존처럼 원하는 드라이버를 취사선택헤서 직접 추가한후 빌드 할 수 있습니다.

tinycore 최신버전은 총 7개 모델을지원합니다.(DS3622xs+/DS918+/DS3615xs/DS3617xs/DS1621+/DS920+/DVA3221)

이미지를 다시만들지않고도 지속적으로 부트로더를 자체 변경가능합니다.(모델/sn/mac등)

tinycore는 네이티브 설치를위한 img와 가상환경을 위한 vmdk 두가지를 모두 지원합니다.

 

1.부트로더 IMG 파일 준비

아래 깃험링크의 중간에 Download 버튼으로 .gz 파일을 내려받으시고 

그안에 0.4.6 버전 img.gz 파일을 한번더 압축해제해서 img 파일을 사용하시면 됩니다.

(전체 파일)

https://github.com/pocopico/tinycore-redpill

(LEGACY / EFI 용)

https://github.com/pocopico/tinycore-redpill/raw/main/tinycore-redpill.v0.4.6.img.gz

(VMWARE 용) 

https://github.com/pocopico/tinycore-redpill/raw/main/tinycore-redpill.v0.4.6.vmdk.gz

 

2.부트로더 IMG 파일 USB 레코딩

WinImage나 rufus 등 편하신 이미지툴로 위 tinycore-redpill.v0.4.6.img 파일을 사용해서 USB로 굽습니다.

 

USB에 이미지 씌우기(Write)

이 과정은 부팅 USB를 만드는 과정입니다.

한방팩에 있는 Win32 Disk Imager를 설치하신뒤에 포함된 img 파일을 usb에 씌워주세요.

 

 

JUN로더 처럼 VID/PID/시리얼/MAC/SATAPortMap 수정을 위해 configuration 파일을 사전조정해 주실 필요는 없습니다.

 

저처럼 맥이나 리눅스에서 USB 이미지 만드실 분은 터미널에서 아래 DD커맨드 활용하셔도 됩니다.

(diskutil 에서 확인된 USB의 DEVICE ID가 disk4 라고 가정했을때)

sudo diskutil unmountDisk /dev/disk4

sudo dd if=/Users/MyAccount/Downloads/tinycore-redpill.v0.4.5.img of=/dev/disk4 bs=1m

sudo diskutil eject /dev/disk4

 

3.tinyCore Linux 부팅

헤놀로지로 사용하실 PC에 꽂아서 USB 부팅 (UEFI 1 파티션 또는 USB CSM 사용부팅 가능)

tinyCore Linux ( tinyCore Image Build 메뉴) 가 실행되어 뜹니다. 

여기서 맨우측 아이콘 터미널앱을 실행합니다.

ifconfig로  en0 랜카드이 자동 할당된 ip 주소를 확인합니다.

 

[tinyCore Linux 화면]

 

 

 

4.SSH 접속후 CONFIG 조정 (7번에서 다시 실제 수행합니다. 사전 설명정도로 이해하시기 바랍니다.)

헤놀로지가 아닌 다른 PC에서 putty 등으로 ssh 접속합니다. ( id:tc / pass : P@ssw0rd )

접속합니다.

 

tinycore Redpill은 지금도 계속 안정화가 진행되어가는 상황이기 때문에

이로더의 원작자인 PocoPico님이 수시로 버그를 수정해서 리빌드를 공지합니다.

이 리빌드가 수시로 일어날 가능성이 있기에

최종 이미지 버전인 0.4.6를 사용하더라도 계속 그안에서 변경사항을 인터넷을 통해 실시간으로 업데이트 받을 수가 있습니다.

때로는 rploader.sh 파일 자체도 버그가 있다면 변경이 됩니다.

 

기존 JUN헤놀로지에서 마이그레이션이 계속되신 분들은 바로

tc@box:~$vi user_config.json 로

user_config.json 파일의 VID/PID/Sn/Mac/SataPortMap 등을 기존 grub.cfg를 참조하셔서 그대로 옮겨 넣습니다.

신규로 설치하실 분들은 아래처럼, 시리얼 GEN / USB VID,PID 자동 Detect, SataPortMap 자동 Detect 등을 수행해서 잡아줍니다.

이후 과정은 현재 가장 제가 정상검증을 마친 플랫폼 중심으로 커맨드를 공유 드리겠습니다.

tc@box:~$ ./rploader.sh serialgen (DS3622xs+/DS918+/DS3615xs/DS3617xs/DS1621+/DS920+/DV3221 중 택1)

tc@box:~$ ./rploader.sh identifyusb

tc@box:~$ ./rploader.sh satamap (HBA 카드 유저는 불필요)

user_config.json 의 내용이 자동으로 바뀌어 있는것을 확인 하실수 있습니다. 

 

마지막으로 기존 사용자, 신규 설치자 공통사항으로

tc@box:~$ cat user_config.json 하셔서 내장 Sata 포트가 4개로 가정했을때

SataPortMap = "4",

DiskIdxMap = "00"   

등으로 잘 바뀌어 있는지 확인 주시기 바랍니다.

find.synology.com 이후 DSM 설치과정에서 SATA HDD를 못찾아내는 경우가 있을 수 있습니다.

6포트 SATA 추가확장카드가 장착되었을 경우의 예시값은 아래와 같다고 합니다.

SataPortMap = "46",

DiskIdxMap = "0000"   

( H200, H310, H710 등의 카드를 쓰시는 분들은 예외적으로 이 SataPortMap 과 DiskIdxMap 자체를 옵션을 지우고 사용하지 않으셔도 됩니다.

vi 에디터로 위 두 옵션의 라인 자체를 지워주시고 마지막 , 로 끝나서 Syntex 오류만 나지 않도록 않도록 잘 정리해 주십시요. 당연히 

./rploader.sh satamap 커맨드는 불필요 합니다.)

 

5.BIOS 내장 SATA 포트 Hot Plug disable -> enable 처리 (중요)

위에서 설정한 SataPortMap 맵 수치가 DSM 설치과정에서 물리적으로 Sata 케이블로 연결된 HDD의 숫자만큼 임시로 줄이는 과정을 피하시려면

반드시 Hot Plug 기능을 켜시기 바랍니다.

이렇게 두시면 위에 자동으로 잡힌 수치의 SataPortMap 숫자대로 정상인식 동작하며 HDD는 찾지 못한다는 에러 메시지를 만날 확률이 줄어듭니다.

TheSTREET님이 강조하신 관련된 자세한 사항은 아래 링크 참조 바랍니다.

http://www.2cpu.co.kr/nas/37891

 

7.SSH 접속후 부트로더 빌드 (모든질문엔 무조건 y 하십시요)

위 확장 드라이버 추가 과정이 끝났으면 마지막으로 부트로더 빌드를 합니다.

 

7.0.1 빌드후 ll 명령으로 custom-module -> /mnt/sdb3/auxfiles 디렉토리가 잘 생성되었는지 확인해 보시기 바랍니다.

이 디렉토리가 없으면 두번째 7.1.0 빌드에서 오류가 발생합니다.

 

만약, custom-module -> /mnt/sdb3/auxfiles 디렉토리가 보이지 않는다면

7.0.1 빌드를 한번더 수행하시기 바랍니다.

 

또는 아래처럼 디렉토리 링크 생성을 직접 수행해 주셔도 됩니다.

ll /mnt (USB 메모리 내의 3번째 파티션을 확인합니다.)

sudo ln -s /mnt/sdb3/auxfiles /home/tc/custom-module

 

[DS3622xs+]

 

./rploader.sh update

./rploader.sh fullupgrade

 

./rploader.sh serialgen DS3622xs+

./rploader.sh identifyusb

./rploader.sh satamap

 

./rploader.sh build broadwellnk-7.0.1-42218

 

(run if custom-module -> /mnt/sdb3/auxfiles is missing)

ll /mnt. (Check the 3rd partition in usb)

sudo ln -s /mnt/sdb3/auxfiles /home/tc/custom-module

 

./rploader.sh clean

./rploader.sh build broadwellnk-7.1.0-42661

 

./rploader.sh clean;  rm -rf /mnt/sdb3/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup;

 

 

[DS918+]

 

./rploader.sh update

./rploader.sh fullupgrade

 

./rploader.sh serialgen DS918+

./rploader.sh identifyusb

./rploader.sh satamap

 

./rploader.sh build apollolake-7.0.1-42218

 

(run if custom-module -> /mnt/sdb3/auxfiles is missing)

ll /mnt. (Check the 3rd partition in usb)

sudo ln -s /mnt/sdb3/auxfiles /home/tc/custom-module

 

./rploader.sh clean

./rploader.sh build apollolake-7.1.0-42661

 

./rploader.sh clean;  rm -rf /mnt/sdb3/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup;

 

 

[DS3615xs]

 

./rploader.sh update

./rploader.sh fullupgrade

 

./rploader.sh serialgen DS3615xs

./rploader.sh identifyusb

./rploader.sh satamap

 

./rploader.sh build bromolow-7.0.1-42218

 

(run if custom-module -> /mnt/sdb3/auxfiles is missing)

ll /mnt. (Check the 3rd partition in usb)

sudo ln -s /mnt/sdb3/auxfiles /home/tc/custom-module

 

./rploader.sh clean

./rploader.sh build bromolow-7.1.0-42661

 

./rploader.sh clean;  rm -rf /mnt/sdb3/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup;

 

[DVA3221]

 

./rploader.sh update

./rploader.sh fullupgrade

 

./rploader.sh serialgen DVA3221

./rploader.sh identifyusb

./rploader.sh satamap

 

./rploader.sh build denverton-7.0.1-42218

 

(run if custom-module -> /mnt/sdb3/auxfiles is missing)

ll /mnt. (Check the 3rd partition in usb)

sudo ln -s /mnt/sdb3/auxfiles /home/tc/custom-module

 

./rploader.sh clean

./rploader.sh build denverton-7.1.0-42661

 

./rploader.sh clean;  rm -rf /mnt/sdb3/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup;

 

 

특히 ds920+와 ds1621+의 경우 SataPortMap 대신 DTC(Device-Tree_Compiler) 방식을 사용하고 tc는 관련 설정값을 자동으로 찾아 매핑합니다.

 

ds920+ 및 ds1621+에서는 SataPortMap을 무시하시고 별도 수정이나 적용이 필요없습니다.

 

[DS920+]

 

./rploader.sh update

./rploader.sh fullupgrade

 

./rploader.sh serialgen DS920+

./rploader.sh identifyusb

 

(아래 두개 커맨드는 custom-module -> /mnt/sdb3/auxfiles 이 보이지 않으면 수행하십시요.)

mkdir /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles; sudo ln -s /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles /home/tc/custom-module;

 

./rploader.sh build geminilake-7.1.0-42661

 

rm -rf /home/tc/oldpat.tar.gz;./rploader.sh clean;  rm -rf /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup;

 

맨마지막 라인은 어짜피 나중에 재부팅해도 복원되지 않는 

pat 파일이 존재하는 폴더를 일괄정리해서 용량을 줄이고 백업까지 마쳐주는 과정입니다.

 

8-1.부트로더 사용 (업데이트 사용자)

tc@box:~$ sudo poweroff

로 위에 반들어진 7.1용 부트로더는 잘 놓아두시고

 

기존 7.0.1 헤놀 부팅상태에서 DSM 7.1.0-42661.pat 파일을 시놀로지 다운로드 센터에서 별도로 받으시고

https://www.synology.com/ko-kr/support/download

제어판-> 업데이트 및 복원 -> DSM 업데이트 -> [수동 DSM 업데이트] 버튼 클릭후 위에 미리 준비한 pat 파일로 업데이트를 진행합니다.

 

업데이트후 10분을 대기하라는 메시지가 나오면 약 1~2분뒤 NAS 란에 제목 telnet 으로 검색해서 나오는 telnet 접속 방법을 활용하셔서

poweroff 해줍니다.

http://www.2cpu.co.kr/nas/37523

 

그런데, 실제 패키지가 많이 설치되어 있는 경우는 이를 감안해서 20분 대기를 해야 한다고 나옵니다.

패키지가 거의 없는 경우가 10분 대기 같습니다.

위 텔넷접속 과정으로 넘어가도록 두기 싫으신 경우는 모니터에서 확인하시면서 재부팅 들어갈때 전원종료로 하시거나  재부팅될때 TC Linux로 진입하도록 재빠르게 변경하셔도 좋을것 같습니다.

 

스크린샷 2022-04-13 오후 12.46.09.png.jpg

 

위에 준비한 7.1용 부트로더로 USB를 교체하시고 부팅만 진행하시고 

사용하시면 됩니다. (별도로 해줄것은 이제 없습니다)

 

 

7.0.1 에서 7.1로 업데이트 하실분은
위 가이드의 8-1 을 제일먼저 처리하시고 기존 사용하시면 USB로 부팅하시면서 다시 Tinycore Linux로 진입하는
3번부터 진행하셔도 됩니다. 이때 Tynicore Linux는 3번째 메뉴이니 4초안에 재빠르게 바꾸셔야 합니다.
USB 메모리를 1개더 준비하지 않고 진행할 수 있는 방법인데, 기존 7.0.1 부트로더가 지워질수 있으니
새로운 기능인 backuploader 와 restoreloader action 을 활용하시는것도 한 방법입니다.

 

 

8-2.부트로더 사용 (신규설치자)

위에서 빌드를 정상적으로 마친이후, 아래 명령으로 USB로 헤놀로지를 재부팅 합니다.

tc@box:~$ sudo reboot 

 

백업된 설정값이나 ext 드라이버가 그대로 남아서 

수정을 위한 다음 Tiny Core Image Build 부팅때 셋팅값이 mydata.tgz 파일로부터 그대로 복원되서 남아 있습니다. 

( 4초내 자동진입하는 기능의 기본 설정은 맨위의 USB, Verbose 입니다. 따로 키보드로 일부러 건드리시지만 않는다면 USB 모드로 자동 진입됩니다.)

헤놀로지 PC 부팅후 화면에

기존 RedPill의 경우 기존 jun로더 처럼 find.synology.com 으로 찾으라는 메시지가 나오지만

이 tinyCore의 경우는  

Decompressing Linux... Parsing ELF... done.

Booting the kernel. 

이런 메시지가 나옵니다. 약 IP할당에서 1~2분의 딜레이가 있으니 약간 기다려 주시면 좋습니다.

이상태에서 다른 PC에서 find.synology.com 로 찾으시면 헤놀로지 IP 찾아집니다. 

이후는 기존 헤놀로지 작업하시던데로 시놀로지 DSM 설치과정 진행하시면 됩니다.

 

---------------------------------------------------------------------------------------------------------

 

Tinycore DSM 7.1 빌드 M SHELL 프로그램 수정배포 (42661 U1 대응)

 

위 가이드의 14개 명령어를 모두 한번에 수행해 주는 쉘 스크립트 입니다.

 

4/24일 이후로 다운받으신 분은 자동 업데이트가 지원됩니다.

그전에 받으셨던 분들은 새롭게 아래 링크에서 다시 받아주시기 바랍니다.

 

이번에 바뀐 7.1.0-42661 U1 의 새로운 다운로드 URL 경로로 Tinycore 가 아직 수정이 안되서

빌드 과정중에 Pat File 다운로드중 URL이 틀려서 중단되실겁니다.

 

이번에 새로 바뀐 42661 nano U1 Pat File 로 미리 다운로드 받아두어서 TC 안에서 오류를 회피 할수 있도록 했습니다.

 

 

 

사용방법은 TC 리눅스에서

 

tc@box:~$

curl --location "https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/my.sh.gz" --output my.sh.gz; tar -zxvf my.sh.gz;

 

해서 사용하시면 됩니다.

 

/home/tc 아래 다운로드와 압축해제 자동 처리됩니다.


./my.sh DS918+
./my.sh DS3617xs
./my.sh DS3615xs
./my.sh DS3622xs+
./my.sh DVA3221
./my.sh DS920+
./my.sh DS1621+

 

1106259566_2022-04-248_32_51.thumb.png.9a36269259ddae7993e344fb7b4f5350.png.jpg

 

VM용 버전입니다.

불필요하게 y를 묻는 경우 자동으로 응답합니다.

 

./myv.sh DS918+

./myv.sh DS3617xs
./myv.sh DS3615xs
./myv.sh DS3622xs+
./myv.sh DVA3221
./myv.sh DS920+
./myv.sh DS1621+
 

1573609525_2022-04-199_54_07.thumb.png.f44c890de62c6f8b6d71d4abb9279c36.png.fb04d59fd3ad8bd8159478580256056d.png.jpg

 

TC 리눅스에서는 아래와 같이 다운로드하여 압축을 풀고 /home/tc에서 사용할 수 있습니다.

 

tc@box:~$ 

curl --location "https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/myv.sh.gz" --output myv.sh.gz; tar -zxvf myv.sh.gz;

 

 

 

Usage: ./my.sh <Synology Model Name> <Option> <Option> <Option>

 

Options: noconfig, noclean, manual

 

- noconfig: SKIP automatic detection change processing such as SN/Mac/Vid/Pid/SataPortMap of user_config.json file.

 

- noclean: SKIP the 💊   RedPill LKM/LOAD directory without clearing it with the Clean action. 
           However, delete the Cache directory and loader.img.

 

- manual: Options for manual extension processing and manual dtc processing in build action (skipping extension auto detection)

 

Please type Synology Model Name after ./my.sh

^^

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

* 가입일 : 2022-02-08
* 총 게시글 수 : 96
* 총 댓글 수 : 1073
* 추천받은 게시글 개수 : 92
* 추천받은 댓글 개수 : 361
댓글
131
  • 화정큐삼
    화정큐삼
    작성자
    2022.06.15
    @화정큐삼 님에게 보내는 답글

    curl --location "https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/my.sh.gz" --output my.sh.gz; tar -zxvf my.sh.gz;

     

    위 내용은 1줄로 붙여 실행하셔야 합니다.

  • 유원

    안녕하세요 처음 댓글 납깁니다.

    저는 타오나스 C형을 쓰고 현재 4베이중 1,2번 베이만 씁니다.

    위에 방법대로 잘따라 했는데 Web Assistant 에서 나스를 찾아서 검색한뒤 이런 오류가 발생하네요.ㅠㅠ

    11.png.jpg

    혹시 잘못 선택해서 처음부터 다시 하려고 하는데 처음부터 다시하려면 어떻게 해야 하나요?

    그리고 혹시 해결방법 알수있을까요..ㅠㅠ

     

  • 유원
    달소
    2022.06.21
    @유원 님에게 보내는 답글

    sataportmap 문제입니다

  • 한가한쿠우
    2022.06.21

    ipconfig 에서 자동으로 가져오지 못하는데.. 이유가 있을까요? 본문에서 설명한 버전은 없어서 v0.8.0.0 으로 진행 중에 있습니다.

  • 한가한쿠우
    달소
    2022.06.21
    @한가한쿠우 님에게 보내는 답글

    네트워크 드라이버나 어댑터를 제대로 인식하지못하는경우 ifconfig로 ip를 못가져옵니다

  • 사랑이7
    2022.06.23

    감사합니다^^

  • rlflsfls
    2022.07.01

    며칠전까진 m스크립트가 잘 먹혔었는데 오늘

    tc@box:~$ curl --location "https://github.com/PeterSuh-Q3/tinycore-redpill/raw/m

    ain/my.sh.gz" --output my.sh.gz; tar -zxvf my.sh.gz;

    % Total % Received % Xferd Average Speed Time Time Time Current

    Dload Upload Total Spent Left Speed

    0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0

    curl: (60) SSL certificate problem: certificate is not yet valid

    More details here: https://curl.haxx.se/docs/sslcerts.html

     

    curl failed to verify the legitimacy of the server and therefore could not

    establish a secure connection to it. To learn more about this situation and

    how to fix it, please visit the web page mentioned above.

    tar (child): my.sh.gz: Cannot open: No such file or directory

    tar (child): Error is not recoverable: exiting now

    tar: Child returned status 2

    tar: Error is not recoverable: exiting now

    이런 오류가 뜨네요

  • rlflsfls
    화정큐삼
    @rlflsfls 님에게 보내는 답글

    스크린샷 2022-07-01 오전 11.12.01.png.jpg

     

    지금 시험해 봤는데, 잘 들어오는군요.

    SSL 인증은 방화벽 이슈가 있을수도 있습니다.

     

  • 화정큐삼
    rlflsfls
    2022.07.01
    @화정큐삼 님에게 보내는 답글

    음 다시 시도해보겠습니다. 며칠전이랑 다른게 없는 세팅이라 의아했네요. 감사합니다.

  • rlflsfls
    2022.07.01

    문득 든 생각인데 timezone 설정이 날아가서 그런거 같습니다. 곧 결과 올려보겠습니다.

  • rlflsfls
    2022.07.01

    동전전지가 날아가서 서버와의 시간차이가 나서인지 SSL문제가 생겼었네요. TZ설정후 괜찮아졌습니다

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