.dts 파일 수정 하는 방법 좀 알려주시면 감사하겠습니다. (해결완료)

profile
기라

안녕하세요.

 

제가 Asrock z490m-itx/ac 보드를 사용중인데 sata 맵이 fixed 6인데

0, 1이 m.2 로 지정되어 있어서 DS918 같은 모델은  설치하면 SATA 오류가 뜨면서 진행을 할 수가 없습니다

 

그래서 Sataportmap 을 쓰지 않는 DS920 을 화정큐삼님의 m shell을 이용해서 설치를 했습니다.

다만,  남는 하드 활용을 위해서 Sata 확장카드(asm1166)을 구매했는데 

확장카드에 물린 하드는 저장소 관리자에서 목록에 뜨질 않네요. marvell 도 구매해봤는데 마찬가지구요.

 

그리고 메인보드의 SATA를 전부 Disable 시키고 SATA 확장만 물려서 DS920을 설치하면 

그건 또 정상적으로 되고,  lscpi 로 봐도 드라이버는 분명 잡혀 있습니다.

 

그리고 메인보드(하드4개) + 확장카드(하드1개) 연결해서 m shell로 설치하다 보면

아래와 같이 분명 하드는 5개가 잡혀 있는데도... 저장소 관리자 목록에는 나타나질 않습니다.

 

설명이 너무 길었는데요.... 상황은 이런데... dts 파일을 수정해서 되게 할 수 있지 않을까 싶은데

어떻게 수정을 해야할지를 잘 모르겠습니다.

무턱대로 lscpi 참고해서 internal_port 를 추가 해봤는데 그건 안먹히더라구요.

 

혹시 dts 파일 수정 관련해서 설명된 글이 있으면 링크라도 부탁드립니다.

 

감사합니다.

 

image.png.jpg

 

 

 

 

 

// 22.05.14  23:38 추가

 

아래와 같이 internal_slot@5 를 추가 했고, pcie_root 랑 ata_port 는 순서와 실제 ID에 맞게 수정했는데

여전히 저장소 관리자 에서는 인식이 안되네요...... 

image.png.jpg

 


tc@box:~$ lspci -tnnvq
-[0000:00]-+-00.0  Intel Corporation 10th Gen Core Processor Host Bridge/DRAM Registers [8086:9b63]
           +-01.0-[01]----00.0  ASMedia Technology Inc. ASM1166 Serial ATA Controller [1b21:1166]
           +-02.0  Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:9bc8]
           +-12.0  Intel Corporation Comet Lake PCH Thermal Controller [8086:06f9]
           +-14.0  Intel Corporation Comet Lake USB 3.1 xHCI Host Controller [8086:06ed]
           +-14.2  Intel Corporation Comet Lake PCH Shared SRAM [8086:06ef]
           +-16.0  Intel Corporation Comet Lake HECI Controller [8086:06e0]
           +-17.0  Intel Corporation Comet Lake SATA AHCI Controller [8086:06d2]
           +-1c.0-[02]----00.0  Intel Corporation Dual Band Wireless-AC 3168NGW [Stone Peak] [8086:24fb]
           +-1c.3-[03]----00.0  Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller [10ec:8125]
           +-1f.0  Intel Corporation Device [8086:0685]
           +-1f.3  Intel Corporation Comet Lake PCH cAVS [8086:06c8]
           +-1f.4  Intel Corporation Comet Lake PCH SMBus Controller [8086:06a3]
           +-1f.5  Intel Corporation Comet Lake PCH SPI Controller [8086:06a4]
           \-1f.6  Intel Corporation Ethernet Connection (11) I219-V [8086:0d4d]
tc@box:~$ ^C
tc@box:~$


 

////////////////

실행 명령 순서

wget https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/my.sh.gz; tar -zxvf my.sh.gz;

./my.sh DS920+ noclean

sudo reboot

/home/tc/redphill-loader/ds920p.dts 수정

./my.sh DS920+ noclean manual

sudo reboot

/////////////////

 

댓글
16
  • 달소
    2022.05.15

    https://svrforum.com/nas/188692

    핫포사이님께서 작성한글인데 이것말고도 여러글이있어서 참고하시면 좋을듯합니다

  • 화정큐삼
    2022.05.15

    TC 가 2일전 버전업되면서 dts 파일을 복사해서 사용하는 방법이 조금 바뀌였습니다.

    포코피코님 원래 이런 소소한 변경사항은 공지를 안하셔서리... 

    수정하신 dts 파일은 

    custom-module -> /mnt/sdb3/auxfiles  

    폴더에 복사해 두셔야 합니다.

    저 링크는 항상 보이는것이 아니라서 안보이시면 아래 커맨드로 강제 생성해 주셔야 합니다.

    mkdir /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles; sudo ln -s /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles /home/tc/custom-module;

     

    저렇게 해두시면 

    ./my.sh DS920+ noclean manual

    대신

    ./my.sh DS920+ noclean

    이렇게 manual 은 이제 빼셔도 상관 없습니다.

    manual을 사용하는 이유가 저렇게 TC 에서 dts 자동매핑을 못하도록 하는것인데

    별도 디렉토리로 복사해둔 파일이 발견되면 dtc 자동매핑은 알아서 중단됩니다.

     

  • 화정큐삼
    달소
    2022.05.15
    @화정큐삼 님에게 보내는 답글

    dts쪽은 항상 복잡한거같습니다..

    화정큐삼님께서만든 쉘과 가이드가 없으면 저는 엄두도 못낼만한...

  • 달소
    화정큐삼
    2022.05.15
    @달소 님에게 보내는 답글

    약간만 관심을 가지시면 그렇게 복잡할것도 없습니다.

    달소님 너무 하시는일이 많으셔서 공부하실 시간이 부족하신겁니다. ㅎㅎ

  • 화정큐삼
    달소
    2022.05.15
    @화정큐삼 님에게 보내는 답글

    ㅠㅠ dts쪽 보면서 느낀게...

    저처럼 겉핥기로 따라해보면 이도저도 아니게되더라구요 .. 그때도 2~3시간은 이것저것 트러블슈팅하면서 해본다고했는데

    제한된 가상화환경임에도 불구하고 성공못한걸보면...하하...

    그냥 레퍼런스 있는문서를보고 따라하거나 구글링쪽에만 재능이 있는것같습니다 ㅎㅎ

     

    그래서 화정큐삼님,핫포사이님,Foxbi님처럼 새로만드시는분들을 보면 그저 존경스러울뿐입니다

  • 화정큐삼
    화정큐삼
    2022.05.15
    @화정큐삼 님에게 보내는 답글

    manual을 사용하는 이유가 이전버전에선 저렇게 TC 에서 dts 자동매핑을 못하도록 하는것이 였는데

     

    이제는 별도 디렉토리로 복사해둔 파일이 발견되면 dtc 자동매핑은 알아서 중단됩니다.

  • 화정큐삼
    기라
    작성자
    2022.05.15
    @화정큐삼 님에게 보내는 답글

    감사합니다. 화정큐삼님

    그러면.. 처음부터 설치를 한다고 하면

    아래 순서대로 하면 되는 것일까요?

     

     

    wget https://github.com/PeterSuh-Q3/tinycore-redpill/raw/main/my.sh.gz; tar -zxvf my.sh.gz;

     

    ./my.sh DS920+ noclean

     

    sudo reboot

     

    /home/tc/redphill-loader/ds920p.dts 수정

     

    수정된 dts 파일 -> /mnt/sdb3/auxfiles 여기로 복사

     

    ./my.sh DS920+ noclean

     

    sudo reboot

  • 기라
    기라
    작성자
    2022.05.15
    @기라 님에게 보내는 답글

    ㅎㅏㅎㅏㅎㅏ...... 안되네요..... 다 지우고 다시 처음부터........

  • 화정큐삼

    중간에 sudo reboot 는 불필요합니다.

    두번째 my.sh 빌드 사용하신 이후에 아래 폴더 까지 진입하셔서

    ds920 용 dtb 파일의 내용을 한번 cat 으로 열어보십시요.

    바이너리 형태라 내용이 깨져 보이긴 하지만 대강은 기록하신 내용이 있는지 짐작을 할 수 있을 정도로 볼 수 있습니다.

    이 내용이 아예 안보인다면 무언가 잘못된 부분이 있는거구요.

    만약에 보이는 상태인데도 5번째 드라이브가 안된다면 TC가 두번째 Sata 컨트롤러를 지원하지 못하는것 일수 있습니다.

    저도 몆주전 이와 관련한 시험을 했었는데, 성공을 못했던것 같습니다.

     

    스크린샷 2022-05-15 오전 1.29.38.png.jpg

  • 화정큐삼
    기라
    작성자
    2022.05.15
    @화정큐삼 님에게 보내는 답글

    추가한 internal_port@5가 안보이는군요.. 처음부터 찬찬히 다시 해봐야겠습니다... 어렵네요 ㅎㅎ;;

  • 화정큐삼
    2022.05.15

    죄송합니다. 한가지 간과한 사항이 있었네요. 저도 rploader.sh 소스 변화사항 분석만 해서 이론상으로만 이해한 내용입니다.

    redpill-load 하위에 ds920p.dts 파일을 그대로 aux에 복사하시면 안됩니다. 드 화일 사이에 약간의 변화를 주어야 합니다. 서로 다른 파일이라고 인식될때 aux에 dts가 사용됩니다.

  • 화정큐삼
    기라
    @화정큐삼 님에게 보내는 답글

    1.JPG

     

    이렇게 dtb 파일에 내용이 추가되는 것 까진 진행이 되었는데..

    바이너리 파일이긴 하지만 마지막 추가된 internal_port@5가 텍스트 구조가 좀 달라보이네요.

    변화를 줘야 하는 부분은 한번 변경해보겠습니다.

     

    밤늦은 시간인데 감사합니다.

  • knight2022
    2022.05.15

    저도 비슷한 환경으로 ITX보드입니다.

     

    atx보드에 옮겨서 3522로  마이그레이션 후 다시 itx로 옮겨 사용하다

    920으로 아래와 같이 해서 정상 처리되었습니다.

     

    아마 아래 단계에서 필요없는 부분도 있을수 있습니다.

     

    =================================================================================

    ./rploader.sh update now
    ./rploader.sh fullupgrade now
    ./rploader.sh serialgen DS920+
    ./rploader.sh identifyusb now

    mac 수정

     

    mkdir /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles; sudo ln -s /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles /home/tc/custom-module;

     

    ./rploader.sh build geminilake-7.1.0-42661

     

    rm -rf /home/tc/oldpat.tar.gz;./rploader.sh clean now;  rm -rf /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup now;

     

    hdd 4개로 정상 부팅 확인 후  재부팅 리눅스 진입( 정상확인을 위해 진행했으며 바로 빌드 후 dts 수정하면 될 것 같습니다.) 

    ./rploader.sh clean now

     

    mkdir /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles; sudo ln -s /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles /home/tc/custom-module;

     

    ./rploader.sh build geminilake-7.1.0-42661

     

    vi /home/tc/redpill-load/ds920p.dts

     

    ------------------------------------------------------

    추가 : 예시

     

            internal_slot@5 {
                    protocol_type = "sata";
                    power_pin_gpio = <0x18 0x0>;
                    detect_pin_gpio = <0x27 0x1>;
                    led_type = "lp3943";
                    ahci {
    pcie_root = "00:01.0,00.0";
    ata_port = <0x0>;
                    };
                    led_green {
                            led_name = "syno_led8";
                    };

                    led_orange {
                            led_name = "syno_led9";
                    };
            };

            internal_slot@6 {
                    protocol_type = "sata";
                    power_pin_gpio = <0x19 0x0>;
                    detect_pin_gpio = <0x28 0x1>;
                    led_type = "lp3943";
                    ahci {
    pcie_root = "00:01.0,00.0";
    ata_port = <0x1>;
                    };
                    led_green {
                            led_name = "syno_led10";
                    };

                    led_orange {
                            led_name = "syno_led11";
                    };
            };

            internal_slot@7 {
                    protocol_type = "sata";
                    power_pin_gpio = <0x20 0x0>;
                    detect_pin_gpio = <0x29 0x1>;
                    led_type = "lp3943";
                    ahci {
    pcie_root = "00:01.0,00.0";
    ata_port = <0x2>;
                    };
                    led_green {
                            led_name = "syno_led12";
                    };

                    led_orange {
                            led_name = "syno_led13";
                    };
            };
            
            internal_slot@8 {
                    protocol_type = "sata";
                    power_pin_gpio = <0x21 0x0>;
                    detect_pin_gpio = <0x30 0x1>;
                    led_type = "lp3943";
                    ahci {
    pcie_root = "00:01.0,00.0";
    ata_port = <0x3>;
                    };
                    led_green {
                            led_name = "syno_led14";
                    };

                    led_orange {
                            led_name = "syno_led15";
                    };
            };

            internal_slot@9 {
                    protocol_type = "sata";
                    power_pin_gpio = <0x22 0x0>;
                    detect_pin_gpio = <0x31 0x1>;
                    led_type = "lp3943";
                    ahci {
    pcie_root = "00:01.0,00.0";
    ata_port = <0x4>;
                    };
                    led_green {
                            led_name = "syno_led16";
                    };

                    led_orange {
                            led_name = "syno_led17";
                    };
            };

            internal_slot@10 {
                    protocol_type = "sata";
                    power_pin_gpio = <0x23 0x0>;
                    detect_pin_gpio = <0x32 0x1>;
                    led_type = "lp3943";
                    ahci {
    pcie_root = "00:01.0,00.0";
    ata_port = <0x5>;
                    };
                    led_green {
                            led_name = "syno_led18";
                    };

                    led_orange {
                            led_name = "syno_led19";
                    };
            };

     

    ------------------------------------------------------

     

    vi ./rploader.sh  수정

    dts 로 검색 internal_slot 변경 부분

    for문 전체 주석 처리

     

    ./rploader.sh build geminilake-7.1.0-42661

    n선택

     

    rm -rf /home/tc/oldpat.tar.gz;./rploader.sh clean now;  rm -rf /mnt/"$(mount | grep -i optional | grep cde | awk -F / '{print $3}' | uniq | cut -c 1-3)3"/auxfiles;  rm -rf /home/tc/custom-module;  ./rploader.sh backup now;

     

    sudo reboot 

     

    =================================================================================

     

     

     

     

     

     

  • knight2022
    기라
    작성자
    2022.05.15
    @knight2022 님에게 보내는 답글

    오~ 자세한 설명 감사합니다.

    진행 내용 자체는 m shell 로 한 것과 크게 다르지 않은 것 같은데 제가 하지 않은 부분이

    rploader.sh 수정이었네요.

     

    아랫쪽에 "n선택" 이라고 하신 부분은 어떤 질문에 대한 n 일까요?

    그리고 사용하시는 SATA 확장카드 파트넘버를 좀 알 수 있을런지요? ^^;;

  • knight2022
    기라
    작성자
    2022.05.15
    @knight2022 님에게 보내는 답글

    아 그리고.. 예시로 보여주신 추가예 는...

    확장카드의 하드는 ata_port 번호가 다시 0번부터 시작해야 한느건가요?

  • knight2022
    기라
    작성자
    2022.05.15
    @knight2022 님에게 보내는 답글

    해결했습니다 ^^ 감사합니다

댓글 쓰기
권한이 없습니다.