TinyCore RedPill(TCRP) 로더를 사용하여 DSM 7.x 설치/마이그레이션
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 404 조회
- 목록
본문
로더 정보 및 배경
RedPill은 DSM 7.x를 Synology가 아닌 하드웨어에서 실행할 수 있도록 하는 핵심 기술입니다. 이 게시물은 RedPill 구성에 대한 확실한 튜토리얼/참고 자료로 활용됩니다. @포코피코TinyCore RedPill(TCRP) 로더 입니다 . 베어메탈(즉, NAS 하드웨어에서 DSM을 유일한 운영 체제로 사용하는 환경)에 TCRP를 설치하는 방법을 설명합니다. ESXi 하이퍼바이저를 사용하여 TCRP를 설치하는 방법에 대한 튜토리얼은 여기 에서 확인할 수 있습니다. 튜토리얼 및 가이드 포럼 에는 다른 하이퍼바이저 튜토리얼이 있습니다 .
TCRP는 두 단계의 프로세스를 사용합니다. 먼저 Linux OS(TinyCore)가 부팅되어 NAS 하드웨어 구성을 평가합니다. 따라서 TCRP 설정을 시작하기 전에 사용할 하드웨어(특히 디스크 컨트롤러 및 네트워크 카드)를 미리 설치하는 것이 좋습니다.
그러면 개별 로더(RedPill)가 생성됩니다. 이 로더는 DSM을 설치하고 실행하는 데 사용됩니다. 그 후에는 RedPill로 DSM을 시작하거나 TinyCore로 다시 부팅하여 필요에 따라 로더를 조정하고 다시 빌드할 수 있습니다.
설치를 완료하려면 기본적인 Linux 명령줄 기술이 필요합니다. 이 튜토리얼에서는 필요한 명령의 예를 제공하지만, 정확한 구문과 대문자 사용은 매우 중요합니다. 익숙하지 않은 경우, 다음의 최소 명령 목록을 조사하고 검토해 보세요.
ls 현재 디렉터리의 파일 표시
cat <파일> 지정된 파일의 내용 표시
pwd 현재 디렉터리 이름 표시
cd <디렉토리 경로> 지정된 디렉터리로 이동 (Windows와 동일한 규칙, 백슬래시 대신 슬래시 사용). 인수가 없으면 "홈" TCRP 디렉터리로 돌아갑니다
vi <파일> 필요한 경우 구성 파일을 수동으로 편집할 수 있는 파일 편집기
지속적인 개발
이 튜토리얼은 pocopico 안정 저장소 와의 일관성을 위해 유지됩니다 . TCRP는 완전히 오픈소스이므로 누구나 자신의 저장소를 포크하여 개발에 기여할 수 있으며, pocopico는 현재 별도의 개발 저장소를 운영하고 있습니다. 최고의 기능과 아이디어는 철저한 검증과 테스트를 거쳐 안정 저장소에 통합될 수 있습니다.
pocopico 안정형 저장소가 아닌 다른 저장소, 스크립트 또는 셸을 사용하는 경우 로더가 상당히 다르게 동작할 수 있으며, 이 튜토리얼의 지침과 문제 해결 단계가 더 이상 적용되지 않을 수 있습니다. 오픈 소스 커뮤니티에서는 원하는 개발 리소스를 사용할 수 있지만, 시스템에서 해당 코드를 이해하고, 검증하고, 테스트해야 하는 추가적인 책임이 따릅니다.
이주
제어판을 사용하여 6.x에서 7.x로 업그레이드하지 마세요.
마이그레이션하기 전에 다음 작업을 완료하세요.
- 이 참고문헌을 꼼꼼히 읽어보세요
- 6.x 로더 USB와 어레이 디스크를 제거하세요(순서를 표시하세요)
업그레이드에 사용될 모든 NAS 하드웨어를 사용하여 빌드 프로세스를 연습하고 확인하기 위해 새 USB에 TCRP 로더를 빌드합니다.- 테스트 HDD/SDD에 DSM 7.x를 시험 설치합니다.
- DSM이 모든 NAS 하드웨어와 완벽하게 작동하는지 확인하세요.
- 테스트 USB 및 HDD/SDD를 제거하고 6.x 로더 USB 및 어레이 디스크를 복원합니다.
- 제자리 업그레이드를 시도하기 전에 다른 곳에 저장된 모든 데이터의 백업을 확인하세요 .
실제 마이그레이션 프로세스는 간단합니다.
- 기존 SSD 캐시 구성을 제거합니다(강력히 권장됨)
- NAS를 종료합니다
- 기존 6.x USB 로더를 위 프로세스의 TCRP 7.x USB 로더로 교체합니다.
- NAS를 부팅하고 메시지가 표시되면 DSM 마이그레이션을 완료합니다.
- 원하는 대로 SSD 캐시 구성을 복원합니다.
1단계. DSM 플랫폼/아키텍처 선택
사용할 NAS 하드웨어와 DSM의 용도를 평가하고, 필요에 가장 적합한 플랫폼을 선택하세요. 참고 정보는 다음에서 확인하세요: https://xpenology.com/forum/topic/61634-dsm-7x-loaders-and-platforms/
선택한 플랫폼 (예: DS918+), 해당 아키텍처 (예: Apollo Lake), 그리고 해당 플랫폼이 슬롯 매핑 에 SataPortMap/DiskIdxMap을 사용하는지, 아니면 Device Tree를 사용하는지 적어 두세요 . 이 정보는 나중에 필요합니다.
이제 NAS 하드웨어가 호환되는지 확인하고 올바르게 준비하세요.
- 2개 이상의 코어를 갖춘 x86-64 호환 CPU
- 각 플랫폼마다 지원되는 최대 스레드 수가 있습니다! 초과하는 스레드는 무시됩니다.
- 특정 플랫폼의 경우 Intel CPU는 FMA3 명령어 세트가 있는 4세대 "Haswell" 이상이어야 합니다.
해당 AMD CPU 아키텍처는 "Piledriver" 이상입니다. - AMD 기반 시스템에서는 BIOS에서 C1E 옵션을 비활성화해야 할 수 있습니다.
- 2GB 이상의 RAM
- 2GB 이상의 USB 플래시 드라이브
- USB 플래시 드라이브에서만 부팅하도록 BIOS를 구성하세요.
- SATA 디스크 컨트롤러가 선호되지만 SCSI/SAS도 호환됩니다.
- 중요: 모든 SATA 컨트롤러는 AHCI 모드로 구성되어야 합니다.
- 포트 멀티플라이어 가 있는 SATA 컨트롤러는 호환되지 않습니다.
- ATA 컨트롤러는 호환되지 않습니다(가능하다면 BIOS에서 내장 ATA를 비활성화하세요)
- 최소 1개의 SATA/SCSI/SAS 드라이브(HDD 또는 SSD), 최소 크기 21GB
- 중요: BIOS/컨트롤러에서 핫플러그가 지원되는 경우 각 디스크 포트에서 SATA 포트 핫플러그를 활성화하세요.
- 중요: BIOS/컨트롤러에서 지원하는 경우 사용하지 않는 M.2 SATA 포트를 비활성화하세요.
- NVMe 드라이브는 전용 캐시 장치로만 사용할 수 있습니다.
- 호스트 버스 어댑터는 현재 장치 트리 플랫폼과 호환되지 않습니다.
- 캐시 장치로 사용할 NVMe 드라이브를 설치하세요.
- Device Tree 플랫폼에서는 로더 설치 전에 NVMe 드라이브를 설치해야 인식됩니다.
2단계. TCRP 다운로드 및 USB 플래시 드라이브에 이미지 쓰기
최신 pocopico 안정형 로더 코드는 항상 여기에 링크되어 있습니다: https://xpenology.com/forum/topic/7848-links-to-loaders/
tinycore-redpill 7.x 로더를 다운로드하여 개인 컴퓨터에 저장하세요. 그런 다음 zip 관리자로 열어 부팅 이미지를 확인하세요.
tinycore-redpill.vX.XXimg.gz(USB 플래시 드라이브에서 BIOS/CSM/레거시 부팅용)
tinycore-redpill-uefi.vX.XXimg.gz(USB 플래시 드라이브에서 UEFI/EFI 부팅용)
tinycore-redpill.vX.XXvmdk.gz(디스크 이미지에서 가상 머신 SATABOOT용)
NAS 마더보드의 부팅 성능에 맞는 부팅 이미지를 선택하세요. 확실하지 않으면 BIOS/CSM/레거시 부팅을 선택하세요. gzip 파일을 개인용 컴퓨터에 저장한 후, zip 아카이브 관리자로 열어 압축 해제된 버전을 저장하세요.
Win32DiskImager 또는 기타 적절한 도구를 사용하여 압축 해제된 이미지를 USB 플래시 드라이브에 기록합니다 .
USB 플래시 드라이브는 TinyCore와 이 로더가 생성하는 RedPill 로더를 저장하는 데 사용됩니다. 이는 XPEnology 시스템의 영구적인 구성 요소 입니다 . DSM 설치가 완료되고 NAS가 완전히 작동 중이더라도 USB 플래시 드라이브를 제거하지 마십시오.
3단계. TinyCore로 부팅하고 사전 구성 업데이트 완료
USB 플래시 드라이브를 설치한 상태로 NAS를 시작하면 TinyCore가 부팅됩니다. 그런 다음 다음 방법 중 하나로 명령줄 세션을 실행하세요.
- TinyCore 데스크탑의 오른쪽 하단에 있는 터미널 아이콘을 클릭하여 콘솔 창을 시작합니다.

- 컴퓨터에서 ssh 클라이언트(예: PuTTY)를 사용하여 네트워크 기반 콘솔에 연결합니다.
- IP 주소 할당을 위해 DHCP 서버/라우터에 문의하세요(TinyCore의 호스트 이름은 "box"입니다).
- 로그인 자격 증명: tc/P@ssw0rd
Linux 명령줄 프롬프트($)가 표시되면 TCRP 스크립트를 업데이트합니다.
./rploader.sh 업데이트
인터넷 접속 확인 -> 확인
최신 버전이 있는지 확인 -> 저장소에 최신 버전이 있는데 그걸 사용해야 할까요? [yY/nN] Y
확인, 업데이트 중입니다. 업데이트 후 다시 실행해 주세요.
tinycore 로더를 최신 업데이트로 업데이트합니다.
/mnt/sda3//mydata.tgz에 파일 백업
그런 다음 TCRP 지원 파일을 업데이트하세요.
./rploader.sh 전체 업그레이드 <다운로드 삭제> 현재 /home/tc 크기는 114M입니다. 이미지에 맞지 않을 수 있으므로 1GB 이하로 유지하십시오. 현재 파일로 sda를 업데이트해야 합니까? [Yy/Nn] Y 홈 파일을 sda에 백업 : 파일을 /mnt/sda3//mydata.tgz에 백업
마지막으로 DSM 릴리스 번호를 선택하세요
Synology에서 제공하는 각 DSM 빌드에는 릴리스 번호가 있습니다. 인수 없이 스크립트를 실행하면 TCRP에서 지원하는 플랫폼 및 릴리스 조합을 확인할 수 있습니다.
./rploader.sh <명령어 도움말 삭제> 사용 가능한 플랫폼 버전: ------------------------------------------------------------------------------------------------------- 아폴로레이크-7.0-41890 아폴로레이크-7.0.1-42218 아폴로레이크-7.1.0-42661 브로드웰-7.0.1-42218 브로드웰-7.1.0-42661 브로드웰nk-7.0.1-42218 브로드웰nk-7.1.0-42661 브로몰로우-7.0.1-42218 브로몰로우-7.1.0-42661 덴버턴-7.0.1-42218 덴버턴-7.1.0-42661 제미니레이크-7.0.1-42218 제미니레이크-7.1.0-42661 v1000-7.0.1-42218 v1000-7.1.0-42661
4단계. 시스템별 매개변수 구성
사용자 지정 시스템 매개변수는 user_config.json 파일 에 저장됩니다 . 이 파일은 수동으로 편집할 수 있으며, TCRP를 통해 하드웨어에 적합한 값을 결정할 수도 있습니다.
- USB 플래시 드라이브 VID/PID: TCRP는 DSM이 부팅 중에 로더를 식별하는 데 사용하는 하드웨어 vid/pid 값에 대해 USB 플래시 드라이브를 쿼리할 수 있습니다.
./rploader.sh USB 식별 발견됨: Superdisk Flash SerialNumber: 123456 공급업체 ID: 0x1234 제품 ID: 0x0001 user_config.json 파일을 이 값으로 업데이트해야 하나요? [Yy/Nn] Y - 일련 번호/MAC: TCRP는 1단계에서 선택한 플랫폼의 일련 번호를 자동으로 생성할 수 있습니다. 또한 NAS 네트워크 카드의 MAC 주소도 무작위로 생성합니다. 실제 하드웨어 MAC 주소를 사용하려면 명령에 "realmac"을 추가하세요.
예시 1: 무작위 MAC 주소./rploader.sh 시리얼젠 DS3622xs+ 모델 일련 번호: 20C0SQRLR47QM DS3622xs+ 모델의 Mac 주소: 00:11:32:80:B2:36 user_config.json 파일을 이 값으로 업데이트해야 하나요? [Yy/Nn] Y
예 2: 실제 MAC 주소./rploader.sh serialgen DS3622xs+ realmac 모델 일련 번호: 2150SQRGS7N5T DS3622xs+ 모델의 Mac 주소: 00:11:32:57:3A:9B 실제 Mac 주소 : 00:0C:24:62:3E:3D 알림 : realmac 옵션이 요청되면 real mac이 사용됩니다. user_config.json 파일을 이 값으로 업데이트해야 하나요? [Yy/Nn] Y - 드라이브 슬롯 매핑: TCRP는 NAS 디스크 컨트롤러 포트를 DSM 슬롯에 매핑하는 방법을 결정할 수 있습니다. 선택한 플랫폼에서 포트 매핑에 SataPortMap/DiskIdxMap을 사용하는 경우 아래 명령을 실행하면 됩니다. 슬롯 매핑에 장치 트리를 사용하는 경우 , 장치 트리는 로더 빌드 과정에서 자동으로 구성되므로 이 명령을 건너뛸 수 있습니다.
./rploader.sh 사타맵 "02:02.0 SATA AHCI 컨트롤러"를 찾았습니다. 4개의 포트/2개의 드라이브가 감지되었습니다. 포트 수를 변경하거나 Enter 키를 눌러 <4>를 입력하세요. 권장 설정: 사타포트맵=4 디스크 IDxMap=00 user_config를 이 값으로 업데이트해야 합니까? [Yy/Nn] Y
포트 수가 예상과 다르다면, 여러 컨트롤러가 있는 물리적 포트를 지원하는 마더보드 설계 때문이거나 M.2 SATA 슬롯 지원 때문일 수 있습니다. 필요한 경우 포트 수를 원하는 대로 변경할 수 있습니다. 참고: 경고 메시지가 표시되면 일부 드라이브에 액세스할 수 없거나 DSM 설치에 문제가 발생할 가능성이 높습니다 . 문제를 평가하고 조사하십시오. satamap 명령은 시스템 문제를 파악하기 위해 필요한 만큼 반복해서 실행할 수 있습니다.
수동 검토: 이전 로더(예: Jun 로더)에서는 이러한 매개변수 설정이 완전히 수동으로 이루어졌습니다. 모든 하드웨어에 적용되는 단일 설정은 없습니다. 위 도구를 사용한 후에도 매개변수를 검토하고 확인하고, 각 매개변수의 기능을 이해한 후 필요한 경우 직접 수정하십시오.
rploader.sh가 user_config.json 파일에 변경한 내용은 파일 내용을 표시하여 확인할 수 있습니다.고양이 user_config.json
파일을 편집하여 재정의vi user_config.json
더 간단한 편집기인 nano를 추가할 수도 있습니다.tce-load -iw 나노 나노 user_config.json
5단계. 선택 사항: 드라이버 확장을 수동으로 추가
TCRP는 감지된 NAS 하드웨어를 기반으로 드라이버를 자동으로 추가할 수 있지만, 완벽하지는 않습니다. 아직 실제로 사용하지 않는 장치에 대한 로더를 빌드하는 것이 좋습니다. 또한 "옵트인"으로만 제공되는 기능도 있습니다. 따라서 드라이버 및 기타 기능을 수동으로 추가하는 프로세스가 있습니다. 확장 기능은 웹에 호스팅된 저장소에 저장됩니다. 기본 저장소의 모든 확장 기능은 다음에서 확인할 수 있습니다. https://github.com/pocopico/rp-ext
TCRP의 하드웨어 감지 알고리즘에서 권장하는 모든 확장자를 나열하려면
./rploader.sh listmods <아키텍처>-<버전>-<DSM릴리스 번호>를 사용하세요.
./rploader.sh listmods apollolake-7.1.0-42661
특정 확장명을 추가하려면 목록에서 선택하고 1단계의 아키텍처를 참조하세요.
./rploader.sh ext <아키텍처>-<버전>-<DSM릴리스 번호> <확장명 URL>
./rploader.sh ext apollolake-7.1.0-42661 https://raw.githubusercontent.com/pocopico/rp-ext/master/redpill-acpid/rpext-index.json을 추가합니다.
./rploader.sh ext denverton-7.1.0-42661 https://raw.githubusercontent.com/pocopico/rp-ext/master/v9fs/rpext-index.json을 추가합니다.이 예제에서는 ACPI 및 VIRTIO 지원을 추가하는 방법을 설명합니다. 이는 기본 설치에 추가되는 기능 향상으로 자주 사용됩니다.
6단계. 로더 만들기
모든 준비 단계가 완료되면 명령 구조
./rploader.sh build <아키텍처>-<버전>-<DSM릴리스 번호>를
사용하여 로더를 빌드합니다 . 예 #1: DS3622xs+, 하드웨어 자동 감지
./rploader.sh 빌드 broadwellnk-7.1.0-42661
예 #2: DS918+, 미리 선택된 드라이버 사용
./rploader.sh apollolake-7.1.0-42661 빌드 매뉴얼
TCRP는 인터넷에서 리소스를 다운로드하여 복잡한 로더 빌드 프로세스를 완료합니다. 완료되면 USB 플래시 드라이브에 파일을 저장하고 GRUB 부팅 메뉴에 새 항목을 추가합니다. 출력 결과를 검토하여 오류가 있는지 확인하고 필요한 경우 수정합니다.
7단계. 선택적 백업 작업
TinyCore 구성 상태를 기본값으로 저장하여 다음 TInyCore 부팅 시 모든 설정으로 시작되도록 합니다.
./rploader.sh 백업 관련자료
-
링크
