* Asrock J5040 , Debian 11 에서 작업했음.
< 주의 > 아직은 인텔 랜드라이버등 확장 드라이버를 사용하면 새로운 SATAPortMapping과 충돌이 일어나서
DSM이 하드 디스크를 인식하지 못하게 됨. 리얼텍 랜만 가능함.
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 )위의 문장을 보고 첨부한 "output.dts" 파일에 들어갈 아래 값( SATA Controller 주소)들을 정한다.
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://github.com/jumkey/redpill-load/raw/develop/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/jumkey.dtb/ds1621p_42218
./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
ѹ õ ߰ڳ..
帳ϴ.^^
Ʈ ϰ մϴ...
մϴ....
ó Ŀ
/ ϳ
.... °
ȭť ¿
ó ssh ӿ
ʰ...ֽϴ,
üθ ϽŴٸ
̹ ó ε ؼ Ŀ ȿ VM ʿ ϴ.
¶ ϴܿ ۷ ʿ Ŀǵ鸸 ξϴ. ñ ٶϴ.
Ʒ ӽ÷ 帮ڽϴ.
ż о ð ٽ ñ ٶϴ. 343M ˴ϴ.
http://dante90.ipdisk.co.kr:5000/sharing/JWSCSKxlU
ٽ ϴ. 5е ñ.
Ŀ ٽ ˷ֽʽÿ.
model_ds1621p.dtb ̸ ΰ Ŀ auto ġ ,
̸ θ ù° auto model_ds1621p.dtb Ϸ ֽ dtb ư ϴ.
ù° ̹ Ͻ װͶԴϴ.
auto Ŀ model_ds1621p.dtb Ǿ ְ DZ.
ι° auto μ model_ds1621p.dtb Ȱ ̹ ˴ϴ.
lspci -tnnvq | egrep "ATA|SCSI|IDE" | grep -v "Ethernet" | sed "s/.*+-/00:/g" | sed "s/-\[.*\]----/,/g" | awk '{print "pcie_root = \""$1"\";"}'
ֽø ÷ ּ ̾Ƴ ϰ ̾Ƴ մϴ~
Ȥ ̹ ߰ Ҽִ ״°?
ƹص ߰ ϸ ϵũ ã.
ġϷĶ ߰ Ҽ?
ܿ Tinycore ϰ ũƮ Űŵ ^^;;
̰ ż谰.
̰ 鿡 Ǵ° ƴ϶ DS920+ϰ DS1621 ϳ ִ .. ư Ը شǴ°ǰ?
߰ ̹ ġ e1000 e1000e ̷ ƴϰ Ͻô ̹ ߰ ٸ ̾߱ ΰ?
ִ ϰ ־ְ ϴ° ϰ ̰ θ ؾ ƿ~
ü ϴ tinycore ߰ ġ ؼ ɱ?
11 ȭť docker ̿ؼ putty docker ִ NAS ϰ ִµ Էϸ -ash: dtc: command not found ̷ ɴϴ.
̷ ϴ ? .