DS920+ ,DS1621+ 부트로더 작업 과정
* Asrock J5040 , Debian 11 에서 작업했음.
1 ) tinycore로 Asrock J5040 을 부팅해서 "output.dts" 파일의 pcie_root 값을 알아보자.
tc@box:~$ lspci -tnnvq
-[0000:00]-+-00.0 Intel Corporation Gemini Lake Host Bridge [8086:31f0]
+-00.1 Intel Corporation Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant [8086:318c]
+-02.0 Intel Corporation GeminiLake [UHD Graphics 605] [8086:3184]
+-0e.0 Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198]
+-0f.0 Intel Corporation Celeron/Pentium Silver Processor Trusted Execution Engine Interface [8086:319a]
+-12.0 Intel Corporation Celeron/Pentium Silver Processor SATA Controller [8086:31e3]
+-13.0-[01]--+-00.0 Intel Corporation 82575EB Gigabit Network Connection [8086:10a7]
| \-00.1 Intel Corporation 82575EB Gigabit Network Connection [8086:10a7]
+-13.1-[02]----00.0 JMicron Technology Corp. JMB58x AHCI SATA controller [197b:0585]
+-13.2-[03]----00.0 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
+-13.3-[04]----00.0 ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612]
+-15.0 Intel Corporation Celeron/Pentium Silver Processor USB 3.0 xHCI Controller [8086:31a8]
+-1f.0 Intel Corporation Celeron/Pentium Silver Processor LPC Controller [8086:31e8]
\-1f.1 Intel Corporation Celeron/Pentium Silver Processor Gaussian Mixture Model [8086:31d4]
tc@box:~$
2 )위의 문장을 보고 SATA controllerr 값을 알아낸 뒤 첨부한 "output.dts" 파일을 수정
pcie_root = "00:12.0"
pcie_root = "00:13.1,00.0"
pcie_root = "00:13.3,00.0"
첨부한 "outout.zip" 압축파일을 풀어서 ds1621( DS920 ) 폴더 속에 있는 "output.dts" 파일을 에디터로 아래처럼 수정한다.
( 저의 ASROCK J5040은 SATA 확장카드 포함해서 SATA Controller 3개 이고 각각 2개의 포트가 있음)
pcie_root = "00:12.0";
ata_port = <0x00>;
pcie_root = "00:12.0";
ata_port = <0x01>;
pcie_root = "00:13.1,00.0";
ata_port = <0x00>;
pcie_root = "00:13.1,00.0";
ata_port = <0x01>;
pcie_root = "00:13.3,00.0";
ata_port = <0x00>;
pcie_root = "00:13.3,00.0";
ata_port = <0x01>;
3) 수정된 "output.dts" 파일을 redpill-tool-chain-master 폴더 속에 넣는다.
https://github.com/tossp/redpill-tool-chain 에서 다운로드한뒤 압축을 푼다.
redpill-tool-chain-master 폴더 속에 들어 있는 "sample_user_config.json" 파일을 자신의 시스템에 맞게 수정한 후에
이름을 "ds1621p_user_config.json" 로 바꾸어 저장한다.
4) redpill-tool-chain-master 폴더 를 debian 11에 복사해서 넣는다.
5) 아래 절차로 작업을 한다.
sudo apt-get update
sudo apt install docker.io
sudo apt install jq
sudo apt install curl
sudo apt install device-tree-compiler
cd /home/dolbycat/redpill-tool-chain-master
chmod +x redpill_tool_chain.sh
./redpill_tool_chain.sh add https://raw.githubusercontent.com/pocopico/redpill-load/master/redpill-dtb/rpext-index.json
./redpill_tool_chain.sh build ds1621p-7.0.1-42218
./redpill_tool_chain.sh auto ds1621p-7.0.1-42218
dtc -I dts -O dtb output.dts > model_ds1621p.dtb
cp model_ds1621p.dtb ./custom/extensions/redpill-dtb/ds1621p_42661/
./redpill_tool_chain.sh auto ds1621p-7.0.1-42218
6) "images" 폴더에서 첫 번째 "redpill-DS1621+_7.0.1-xxxxxxxx.img" 파일을 삭제하고,
두 번째로 생성된 redpill-DS1621+_7.0.1-xxxxxxxx.img 파일을 사용합니다.
< 참고 >
더욱 정확한 pcie_root 값과 ata_port 값은 아래 방식으로 얻을 수있다.
cat /sys/block/sataX/device/syno_block_info
X=1~6
dtb파일 생성 과정은 간단하게 하고자 제가 임의로 수정하였습니다.
좋은 가이드 감사합니다! 리얼텍 유저분들께서는 테스트하실수있겠네요!!
어서 ESXi 버전도 나와줬으면 하는..
저는 지난번 헤놀로지에 툴체인을 사용할수 있도록 되어 있어서 이번에는 dtc 파일만 따로 추가해서 사용해 봤는데요. 아래처럼 경고가 나오는건 무시해도 무방할까요?
root@NAS4:/volume1/_REDPILL/redpill-tool-chain-master# ./dtc -I dts -O dtb output.dts > model_ds1621p.dtb
output.dts:20.14-26.5: Warning (unit_address_vs_reg): /DX517/pmp_slot@1: node has a unit name, but no reg or ranges property
output.dts:28.14-34.5: Warning (unit_address_vs_reg): /DX517/pmp_slot@2: node has a unit name, but no reg or ranges property
output.dts:36.14-42.5: Warning (unit_address_vs_reg): /DX517/pmp_slot@3: node has a unit name, but no reg or ranges property
output.dts:44.14-50.5: Warning (unit_address_vs_reg): /DX517/pmp_slot@4: node has a unit name, but no reg or ranges property
output.dts:52.14-58.5: Warning (unit_address_vs_reg): /DX517/pmp_slot@5: node has a unit name, but no reg or ranges property
output.dts:61.18-77.4: Warning (unit_address_vs_reg): /internal_slot@1: node has a unit name, but no reg or ranges property
output.dts:79.18-95.4: Warning (unit_address_vs_reg): /internal_slot@2: node has a unit name, but no reg or ranges property
output.dts:97.18-113.4: Warning (unit_address_vs_reg): /internal_slot@3: node has a unit name, but no reg or ranges property
output.dts:115.18-131.4: Warning (unit_address_vs_reg): /internal_slot@4: node has a unit name, but no reg or ranges property
output.dts:133.18-149.4: Warning (unit_address_vs_reg): /internal_slot@5: node has a unit name, but no reg or ranges property
output.dts:151.18-167.4: Warning (unit_address_vs_reg): /internal_slot@6: node has a unit name, but no reg or ranges property
output.dts:169.15-175.4: Warning (unit_address_vs_reg): /esata_port@1: node has a unit name, but no reg or ranges property
output.dts:177.15-183.4: Warning (unit_address_vs_reg): /esata_port@2: node has a unit name, but no reg or ranges property
output.dts:185.14-188.4: Warning (unit_address_vs_reg): /nvme_slot@1: node has a unit name, but no reg or ranges property
output.dts:190.14-193.4: Warning (unit_address_vs_reg): /nvme_slot@2: node has a unit name, but no reg or ranges property
output.dts:195.14-197.4: Warning (unit_address_vs_reg): /pcie_slot@1: node has a unit name, but no reg or ranges property
output.dts:199.13-212.4: Warning (unit_address_vs_reg): /usb_slot@1: node has a unit name, but no reg or ranges property
output.dts:214.13-227.4: Warning (unit_address_vs_reg): /usb_slot@2: node has a unit name, but no reg or ranges property
output.dts:229.13-242.4: Warning (unit_address_vs_reg): /usb_slot@3: node has a unit name, but no reg or ranges property
이애는 원래 이런 메세지 내더라고요.
저 경고는 일단 그냥 유지한채로 DS1621+ 툴체인 빌드는 성공했구요.
별도의 리얼텔 랜카드를 Extension에 추가하거나 하지 않았습니다.
알려주신 위 커맨드 대로만 만들어졌습니다.
빌드된 이미지 USB로 구워서 다시 하스웰 G3420 에 붙여봤는데, 네트워크 안올라 옵니다.
하스웰 성공을 기대하셨던 FOXBI 님께는 안타까운 소식을 전합니다.
이 USB를 가지고 다시 H310 보드 8세대로 한번더 시험해 보겠습니다.
dtb 파일은 맞지 않겠지만, 네트웍은 응답받을 수 있을것 같습니다.
리얼텍 랜이면 될것입니다. 랜 인식 시간을 오래 가져야합니다.
J5040 , ASROCK H370 둘다 성공하였습니다.
J5040, i5-8500T 둘다 8세대 CPU로 알고 있습니다.
그래서 제가 그 외 세대의 테스트도 필요하다고 따로 글로 요청 드리기도 했습니다.
DS1621+ 는 사용법이 어려워서 잘 시도를 안하시는것 같네요.
G5500 H310 에는 예상대로 성공했습니다.
하스웰에 다시 한참둬 보겠습니다.
DS1621이 최신이라 옛날 CPU는 안될수도 있나봅니다.
역시 안됩니다. 부팅하고 5분이상 대기해 보았습니다.
아까 DS3622ds+ 에서는 리얼텍 랜 드라이버로는 잘 붙었었던 하스웰 보드 입니다.
https://svrforum.com/nas/187589
화정님 혹시 12세대 정보는 아직 없는건가요?? 저번에 화정님 뎃글 봤을때 12세대 뭔가 하고 있다고 본거같은데
혹시 12세대 정보 있으시면 게시글 만들어주시면 정말 감사하겠습니다
다른분과 착각하셨나 봅니다. ㅎㅎㅎ
저는 ECS H310 8세대 보드가 제겐 최신보드입니다..^^
화정님이 적으신 뎃글 주소를 잘 모르겠는데요 이렇게 적으셨어요
화정님이 아니신건가요 누구였는지 전 화정님으로 기억하고 있었는데 착각한건가봐요
--------------------------------------------------------------------------------------------
1시간전쯤 트랜스코딩이 가능했던, DS918+ 1.04b DSM 6.2.3 을 마지막까지 관리해 주셨던 ig-88님이
이번엔 레드필 드라이버 개발을 도와주고 계신것 같습니다.
ds918+ DSM 7.0 용으로도 트랜스코딩이 가능한 i915 드라이버를 컴파일중이라고 남겨주셨네요.
아직 이 드라이버를 tinycore의 pocopico님이 수용할지는 결정받지 못한 상황인것 같구요.
https://xpenology.com/forum/topic/56872-develop-and-refine-the-ds3622xs-loader/?do=findComment&comment=267774
( 12세대까지 모든 gpu ID가 포함된 918+용 i915 드라이버를 이미 컴파일했다(UHD xxx인 경우) .... )
제가단 댓글이 맞네요.^^
근데, ( ) 안에 글은 ig-88 님이 하신말씀을 인용한겁니다.
12세대 정보가 있냐는 말씀을 저는 12세대 시험을 원하시는걸로 착각했네요.
정작 저는 12세대가 없어서 시험은 해드릴 수가 없습니다.
위 링크글을 한글 번역기를 통해서 ig-88 님이 하신 말씀을 옮겨 봅니다.
번역기가 한계가 있어서 무슨말인지 잘 이해가 안되네요.
그리고, 제가 트랜스코딩에 관심이 없어서 그후 ig-88님 말씀은 대충 넘어가고 잘 보질 않았습니다.
ig-88님도 12세대 시스템이 없는 상태라 테스트를 못하고 있다고 이 본문에 얘기하고 있는것 같네요.
위 링크 이후에 ig-88님 글만 따라가시면서 번역해 보시면 도움이 되실지 모르겠습니다.
------------------------------------------------------------------------------------------------
플렉스에서의 트랜스코딩에 대해서, dsm 7.1 918+는 새로운 인텔 CPU (내 것은 10 gen이다)에서 현재 작동하지 않고 있다.나는 플렉스 포럼(도커와 네이티브 플렉스 미디어 세버가 함께 오리지널 Synology에 대한 해결책)을 사용하여 다른 방법을 시도해 보았지만 성공하지 못했다.아마도 IG-88은 이전의 dsm에서 i915를 수정하는 해결책을 찾을 것이다.
12세대까지 모든 gpu ID가 포함된 918+용 i915 드라이버를 이미 컴파일했다(UHD xxx인 경우)
스카이레이크 테스트 시스템에서는 아직 시도하지 않았고 10일 이상에서는 할 수 없다(내 주 시스템은 커피 호수일 뿐이고 기본 드라이버 918+로 작동되는 시스템)
주요 문제는 운전자가 (6.2.3의 일부 시스템과 패치가 있는 드라이버에서 볼 수 있듯이) 로딩 시 시스템을 중단하면 새로운 i915.ko를 어떤 방식으로든 제거해야 하고 6.2.3 스레드에서 제안했던 대로 폐기 처리되며 쉽게 제거해야 한다는 것이다.ng(새 usb와 빈 디스크만 사용하는 경우 생산적인 하드웨어가 될 수 있음) 또는 recue Linux를 부팅하는 것처럼 액세스하여 mdadm으로 raid1(시스템)을 조립하고 시스템 파티션에 액세스한 후 i915를 삭제해야 할 것이다.ko
그것은 명령에 의해 수동으로 추가될 수 있는 @pocopico의 작은 코어의 플러그인이 되어야 할 것이며, 만약 그것이 작동하지 않는다면 그것은 추가된 방식과 같은 방식으로 로더에서 제거될 수 있을 것이다, 이 경우 그것은 되돌릴 수 있어야 한다.
편집: 나는 또한 내가 제공할 수 있는 디프 패치 파일을 만들어 누구나 그 드라이버를 만들 수 있도록 했다(바이너리를 제공하는 모범 사례는 아니지만), 나는 3.10과 4.4 소스에 했던 몇 가지 누락된 하드웨어를 추가하기 위해 더 작은 패치를 제공할 것이다(아테로스의 mvsas 및 킬러 E2400/E2500).
번역 감사합니다 고생하셨습니다 12세대 나오면 아직 멀었군요
오.. .좀만 더 기다리면 최신 920+를 써볼 수 있겠네요. 고생하셧어요
몽동이님 덕분에 ds920+, ds1621+ 둘다 성공했습니다.
몽동이님과 약간 다르게 한것은 우분투나 데비안 리눅스를 사용하지 않고 달소님 가이드처럼
시놀로지 리눅스를 활용해서 빌드 했습니다.
시놀로지 리눅스는 apt 커맨드가 없어서 쉽게 이것저것 유틸 다운받는것이 용이하지 않은데요.
그래서 dtc (device-tree-compiler) 만 충족시키면 되서 이것만 Tinycore 레드필 깃헙에 새로올라와 있는 BIN 파일로
대체 했습니다.
dtc 작업으로 SATA pcie_root 정보 매핑이 없으면 SATA 포트의 HDD를 정상적으로 인식하지 못해서
DSM 설치과정에서 진행을 못하게 됩니다.
pcie_root 정보를 알아내기 위한 lspci -tnnvq 는 리눅스 기본명령어라서 리눅스만 띄울수 있으면 아무데서나 확인이 가능할것 같네요. ( 시놀 리눅스, TC 리눅스, 우분투, 데비안 등등)
나중에 툴체인이나 TC 에서도 이부분 자동화를 해주시면 아주 편할것 같은데요.
tossp, pocopico 두분이 안해주시면 제가 만들수도 있습니다. ㅎㅎ
성공한 결과 첨부합니다.
첨부하신 파일은 어디에서 다운 받을수 있나요?
cmt alert