Redpill Loader Complile

XPenology는 어떠한 보장도 포함하지 않습니다 (사용에 따른 법적 책임이나 데이터 손실등 어떤 문제도 일체 책임을 지지 않습니다)

DS3615xs : redpill-DS3615xs_6.2.4-25556_211015 redpill-DS3615xs_7.0-41222_211015 redpill-DS3615xs_7.0.1-42218_211015
DS918+ : redpill-DS918+_6.2.4-25556_211015 redpill-DS918+_7.0-41890_211015 redpill-DS918+_7.0.1-42218_211015
211015자 최신 toolchain으로 빌드후 첫번째 파티션 활성화, DS918+ EFI 부트 지원 추가, 1,2번 파티션 용량 증가시킨 버전입니다 (Driver 추가 없음)

다 귀찮은분들은 이걸 받아서 1번째 FAT32 파티션을 마운트후 /grub/grub.cfg를 편집해서 써주세요 (이후 FAT32 파티션 활성화 해주세요)

xpenology가 처음이라 잡다한 툴등 다 필요하신분들은 https://blog.dateno1.com/?p=1694에서 받으시고, 수정 방법도 확인해주세요 (가상으로 돌리실분들은 이쪽에서 Startwind V2V Converter를 받아서 변환해주세요)

추천 BIOS 옵션
1. SATA - AHCI
2. Fastboot/Quiet Boot 비활성화  (시험후 정상이면 활성화해도 됩니다)
3. Secure Boot 비활성화
4. 부트 우선순위 USB를 1순위로 변경 (안 그러면 부트할때마다 부트장치 수동으로 골라야 합니다)
5. EFI활성화및 CSM 비활성화
6. Above 4G Decoding 활성화  (특정 하드웨어랑 호환성 문제 생길 수 있음)
7. C1E Support 비활성화 (자체 전원 관리 기능에 도움을 줍니다)
8. 안 쓰는 장치 죄다 비활성화 (DSM은 ~8개의 PCI만 처리가 가능합니다)
9. ILO, IPMI의 콘솔 기능 비활성화
10. PXE Boot, rBAR, SR-IOV 비활성화
11. SAS 컨트롤러만 쓰고, 온보드 SATA에 아무것도 안 물린경우 온보드 SATA컨트롤러 비활성화

Jun's Loader가 개발자 잠적으로 잠정적으로 개발 중단이 됨에 따라 개발된 새 로더입니다

다만 아직까지 공식 Github에는 컴파일을 편하게 할 수 있는 수단이 제공되지 않는 상태입니다

다만 컴파일을 도와주는 스크립트는 존재하는 상태라 포스팅하게되었습니다 (작업시 경로에 2바이트나 공백이 있으면 문제가 생기니 주의해주세요)

redpill-tool-chain_x86_64_v0.6
빌드 당시 사용한 버전입니다

redpill-tool-chain_x86_64_v0.11
You need to specify one of the following targets: dev-v6, dev-v7, test-v6, test-v7, prod-v6, prod-v7, clean. Stop라고 에러가 나는 문제가 수정되었으니 이쪽을 써주세요 (컴파일은 시험되었으나, 생성된 부트로더는 미시험)

redpill-tool-chain-master_220907 redpill-helper-v0.12
최신 버전은 https://github.com/tossp/redpill-tool-chain에서 받아주세요

받으신후 sample_user_config.jsonbromolow_user_config.json 흑은apollolake_user_config.json으로 이름 변경후 써주세요

작업 환경은 리눅스에서 작동하게 되어있고, Docker를 사용합니다 (WSL2에서도 가능합니다)

Docker 설치 방법은 구글링하면 나오는대로 하셔도 되고, 데비안 계열이라면 하단에 나오는대로 하시면 됩니다 (WSL2를 쓰실분들은 https://docs.docker.com/desktop/windows/wsl를 참조해주세요)

sudo apt install -y apt-transport-https software-properties-common ca-certificates curl wget
wget https://download.docker.com/linux/ubuntu/gpg
sudo apt-key add gpg
rm gpg
echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
1줄씩 C&P하시면 됩니다

gcc 4.9.2이상으로는 v3대의 커널 소스를 제대로 다룰 수 없다고 하니 gcc 버전 반드시 체크해주세요

설치후
sudo systemctl start docker
로 서비스를 시작해주세요

Docker가 설치되었다면 이제 필요한 패키지를 설치할 단계입니다

sudo apt install jq
혹시 gcc등이 없다면 컴파일시 에러가 뜰테니 메세지를 참조해서 깔아주세요 (커널 컴파일툴 이미 다 있는 상태라 확인이 안 되네요)

다음 위에서 받은 스크립트를 압축해제하신후 bromolowapollolake중 필요한쪽의 user_config.json을 편집해주세요 (bromolow=DS3615XS, Apollolake=DS918+)

혹시 NIC가 여러개인경우 mac1밑에 mac2를 추가하시면 됩니다

가상에서 돌리거나 SATA에서 바로 부트시킬분들은 Redpill 공식 github에 나오는대로 vid/pid를 설정해주세요

혹시 ext-manager.sh로 Driver를 추가하실분들은
https://blog.dateno1.com/?p=3993를 참조해주세요

다음
chmod +x /path/redpill_tool_chain.sh
을 줘서 실행 권한을 부여하신후

sudo /path/redpill_tool_chain.sh build apollolake-6.2.4-25556
형식으로 입력해서 Image를 생성해주세요

완료후

sudo /path/redpill_tool_chain.sh auto apollolake-6.2.4-25556
형식으로 입력하면 파일이 생성됩니다

현제 버전에서 사용 가능한 옵션은 bromolow-6.2.4-25556, bromolow-7.0-41222, apollolake-6.2.4-25556, apollolake-7.0-41890 4가지입니다

혹시 최근 업데이트후 빌드시 virtio관련 에러가 나는 분들은
"redpill_load": {
"source_url": "https://github.com/chchia/redpill-load.git",
"branch": "develop"
}
이런식으로 repo를 바꾸어서 빌드해주세요 (tool chain의 업데이트를 기다려야 할듯합니다)

작업 완료후 용량 회수하고픈분들은 docker ps -a로 container 확인후 docker rm으로 삭제, docker images로 확인후 docker rmi로 삭제해주세요 (이래도 안 돌아오는 경우 docker info로 root 확인후 /overlay2에서 찾아서 지워주세요)

생성된 img를 기존대로 usb로 작성해주세요 (작성후 1번째 FAT32 파티션 활성화해주시고, NIC가 여러개인 경우 netif_num을 수정해주세요)

가상에서 돌리거나 SATA에서 바로 부트시킬분들은 컴파일 완료된 img의 1번째 fat32 파티션을 마운트후 /grub/grub.cfg를 편집해서 기본 부트 항목을 usb -> sata로 바꾸어주세요

현제 기본값은 EFI 부트 안 됩니다 (부트 파티션 손봐야 EFI 부트되고, 기본값으론 심지어는 BIOS조차 안 됩니다)

기존의 Jun's Loader 1.04b + extra로 6.2.3 돌리던 상태에서 해당 usb로 부트하니 마이그레이션하라고 떠서 6.2.4 pat를 지정해주니 정상적으로 마이그레이션되었습니다 (1번째는 버전 에러냈으나 다시 시도하니 성공)

업글 완료후 패키지 하나 fix하라고 떠서 복구하였고, 나머지는 정상적으로 넘어왔습니다

다만 Static으로 설정해뒀던 NIC의 주소값이 날아가서 재입력해줬습니다

업글후 6.2.3때 쓰던 libsynonvme.so.1을 적용하니 NVMe 인식은 되나 SMART 확인및 SSD Cache로 설정하는게 불가능한점과 재부팅할때마다 USB NIC라 그런지 Static이라 그런지 불명이지만 해당 NIC만 통신 불능에 빠져서 Static -> DHCP -> Static을 해서 주소를 재입력해줘야만 정상 작동한점을 제외하면 모든게 정상입니다 (Skylake라 그런지 딱히 아무짓도 안 해도 Transcoding 정상입니다)

 

 

추신 1 : Redpill 300시리즈에서 쓰는경우 SATA 일부 흑은 전 포트가 안 되는 경우 있다고 하는데, BIOS에서 SATA포트의 Hot Plug를 켜면 될 수 도 있다고 합니다

Xpenology Redpill add EFI Support
추신 2 : EFI 부트를 지원할려면 첨부된 파일을 참조해주세요

grub.cfg를 제외/boot/grub의 내용물/EFI/Boot/BOOTX64.EFI를 복사후
스샷처럼 수정해주세요

추신 3 : 보드에 따라 설치 시도시 SATA에 문제가 있다고 뜨는 경우 DiskIdxMap=00 SataPortMap=1 SasIdxMap=0를 추가후 디스크 1개만 연결해서 설치하고 파라메터를 제거해주세요 (이후 디스크 추가해서 볼름 확장해주세요)

추신 4 : 업데이트시 문제가 생겨서 부트 불능이 된 경우 콘솔 접속 (id : root/pw : 없음)하시던지 다른 리눅스 디스크로 부트후
apt-get update
apt-get install -y mdadm lvm2 btrfs-progs
mdadm --assemble --scan
mount /dev/md0 /mnt
rm -rf /mnt/SynoUpgradePackages
rm -f /mnt/SynoUpgrade.tar
rm -f /mnt/SynoUpgradeindex.txz
rm -f /mnt/SynoUpgradeSynohdpackImg.txz
rm -f /mnt/checksum.syno
rm -f /mnt/.syno/patch/*
rm -f /etc/VERSION
rm -f /etc.defaults/VERSION
하신후
http://IP:5000
로 접속해서 Keep my data and most of the settings를 골라주세요

ch_cpuinfo v4.2.1-r01
추신 5 : Info Center에서 나오는 CPU 정보 (업데이트할때마다 다시 바꾸어야 함)를 실재 CPU 정보 (참고로 ES계열은 제대로 안 될 수 있습니다)로 바꿀려면 하단대로 진행해주세요
1. https://github.com/FOXBI/ch_cpuinfo에서 최신 버전을 받으신후 전송
2. ch_cpuinfo.tar 압축 해제
3. chmod +x ch_cpuinfo.shchmod +x ch_cpuinfo로 실행 권한 부여
4. ch_cpuinfo or ch_cpuinfo.sh 실행후 진행 (6이상은 뭘 써도 되지만, 5대는 반드시 ch_cpuinfo.sh를 써주세요)

추신 6 : 7.0이상 올렸을때 제어판에서 뜨는 온도값(아직 미구현)이 너무 높아서 신경쓰이는분들은
sed -i 's/supportsystemperature="yes"/supportsystemperature="no"/g' /etc.defaults/synoinfo.conf
sed -i 's/supportsystempwarning="yes"/supportsystempwarning="no"/g' /etc.defaults/synoinfo.conf
를 적용하면 표시자체가 사라집니다

추신 7 : DS918+ 6.2.4기준으로 CH382L가 탑재된 확장 카드를 쓰면 시리얼 포트가 없는 보드에서도 디버그가 가능하다고 합니다

추신 8 : 현제 DS3617XS/DS3622XS+기준으로 설치시 /etc/properties/etc/hosts127.0.0.1 update7.synology.com를 추가하시거나 인터넷을 끈은 오프라인 환경에서 설치해야 합니다 (디스크 호환성 에러가 나는경우 /etc.defaults/synoinfo.conf에서 support_disk_compatibilityno로 수정해주세요)

추신 9 : WebDAV 2.4.0이상을 쓰거나, DSM 7으로 업데이트하고 리버스 프록시를 거치는경우 Headerhost을 넘겨주게 설정하면 접속 불가가 되니 주의해주세요 (또한 Cookie정책으로 SameSite=strict를 주면 로그인이 안 됩니다)

arpl-1.1-beta2a.img
추신 10 : 최근 대세는 ARPL인듯합니다
https://github.com/fbelavenuto/arpl에서 받은 이미지를 미디어로 작성하신후 브라우저로 ip:7681에 접속하면 설정이 가능하고, 업데이트까지 자동으로 처리해줍니다 (현시점인 22.09.08에서 최신인 7.1.1을 가장 쉽게 올릴 수 있는 방법입니다)

arpl-sa6400-2023-03-20.img
추신 11 : 대부분의 모델이 사용하는 4.4대 커널 버전으로는 ~10세대 iGPU가 한계이고, XE 계열 (Elkhart Lake, JasperLake, AlderLake, DG등은 지원이 안 됩니다 (지원에는 5대 커널이 필요합니다)

현제 5대 커널을 사용하는건 SA6400만 해당됩니다

rr-23.11.10.img
필요하신분들은 https://github.com/wjz304/arpl-i18n같은 SA6400이 지원되는 로더를 받으신후 모델 선택에서 b를 눌러서 베타를 추가해서 골라서 진행해주세요

rr (i18n)이 갑작스럽게 개발중단됨에 따라 https://github.com/AuxXxilium/arc로 갈아탔는데, 아직까지 SA6400은 지원 안 하네요 (non  DT인 DS918+, DT인 DS920+, AMD인  DS923+@Intel는 성공했고, 구형 하드웨어를 위한 DS3622xs+, 시험삼아 골라본 RS2423+는 실패함)

https://blog.jim.plus/blog/post/jim/synology-sa6400-with-i915처럼 백포트 드라이버를 포함한 로더를 써주세요 (위에 첨부된 로더는 7.1.1-42962-4까지 시험되었습니다)

ARPL경우 사용중 /usr/bin/arpl-reboot.sh config를 입력하면 부트로더로 재부팅할 수 있습니다 (업데이트를 하거나, 부트로더 구성을 변경할 수 있습니다

tinycore-redpill-uefi.v0.9.4.6.img
ARPL이 잘 안 되는 보드경우 TCRP를 시도해봐주세요 (최신버전은 https://github.com/pocopico/tinycore-redpill에서 받아주세요)

좀 더 편하게 다루실려면 https://github.com/PeterSuh-Q3/tinycore-redpill를 추천합니다

추신 12 : 7.2 업데이트후 NVMe타입 디스크에 pool을 생성해서 쓰던분들은 업데이트후 지원 안 되는 디스크라는 에러가 뜰껀데, ssh로 접속후 /etc.defaults/synoinfo.conf를 편집해서 support_m2_pool="no"로 바뀐걸 yes로 되돌린후 재부팅해주세요

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다