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
핫포사이님, 헌데 본 체인툴로 이미지 만들수 있는 모델리스트는 어떻게될까요 3615가 8c16t호환이되서 한번 해보고 싶어지네요
Available platform versions:
---------------------
ds3615xs-6.2.4-25556
ds3615xs-7.0-41222
ds3615xs-7.0.1-42218
ds918p-6.2.4-25556
ds918p-7.0-41890
ds918p-7.0.1-42218
ds3617xs-7.0.1-42218
ds3622xsp-7.0.1-42218
ds920p-7.0.1-42218
ds1621p-7.0.1-42218
dva3221-7.0.1-42218
ds920p와 ds1621p를 제외한 다른것은 tinycore로 하는것이 더 편해요.
핫포사이님, internal slot의 pcie_root주소를 nvme로 지정하면 nvme를 바로 볼륨으로 사용 가능할까요
nvme_slot@1 {
pcie_root = "XXXXXXX" 에 주소를 넣어서 캐쉬로 인식시킨후에 저장소로 바꿔야합니다.
방법은 찾아보시면 나올것입니다.
넵 nvmw캐시2개를 쓰면서 nvme를 추가저장소로 쓸수 있는지 했는데 불가능한가보군요
DS1621+ 은 가능할수도 있겠습니다. 한번 실험해보세요.
핫포사이님, ./redpill_tool_chain.sh auto ds1621p-7.0.1-42218 를 중간에 한번 마지막에 한번, 이렇게 두 번 실행하는 이유가 뭔가요
중간에 한번은 jumkey님에서 폴더와 파일을 가져옵니다. 그다음 dtb를 자신의것으로 덮어씌웁니다. 마지막에 최종 한번더하면 자신의 시스템에 맞는 부터로드가 빌드됩니다.
디스크 순서 찾다가 흘러들어왔는데 lspci 명령어 배우고 갑니다. 언젠간 이해할날이 오겠죠;;
좋은 정보 감사합니다~
핫포사이님, 혹시 마지막에 auto할때 아래 부분에서 안넘어갈때가 있는데 방법이 있을까요
[#] Downloading remote file https://github.com/jumkey/redpill-load/raw/develop/redpill-boot-wait/rpext-index.json to /opt/redpill-load/custom/extensions/_new_ext_index.tmp_json
아마 웹에서 다운로드 한다고 그런거 같아요. 중국과 회선 상태가 안좋으면 그런것 같습니다.
그렇군요 감사합니다.
핫포사이님, 이 툴체인을 이용해서 esxi 7.0에 올릴 헤놀 로더를 만들고 싶은데요, 아직 확장드라이버를 지원하지않으니 헤놀의 가상랜드라이버도 추가가 블가능하겠죠?
예. 힘들것 같습니다.
핫포사이님 혹시 7개 이상도 SATA인식 되나요
온보드 4개 + PCIE SATA확장카드 6개 인데,
dts파일에서 internal slot 이 현재까지 6까지만 있는데, 이후로 번호 더 만들어서 넣을 경우 인식이 가능할까요?
죄송합니다. 저도 안해보았어요. 추가하면 될것 같습니다. ds2422는 12개 들어있더군요.
그런데 차후 지원을 생각해보면 DS3622xs+로 가는것이 편한것 같습니다.
랜카드 ip는 잡는데 다른ip에서 접속을 못하면 어떻게 해야 될까요?
ip스캐너로도 조회가 안되요.
tinycore 부팅한pc에서 인터넷도 안되고요
cmt alert