• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
소식

M Shell for TCRP 이 ARPL 처럼 통합드라이버를 사용합니다.

화정큐삼 화정큐삼 521

5

16

ARPL 의 fabio 님은 pocopico님의 rp-ext 드라이버와

아마 그외의 것은 기존 jun loader의 드라이버를 모두 통합해서

하나의 팩으로 관리를 하고 계시는것 같습니다.

 

달소님의 ARPL 가이드를 이제야 보고 힌트를 얻었습니다.

APRL에서 c언어로 동작되는 매커니즘은 아무리 찾아도 분석이 안되서

그냥 기존의 TCRP가 사용하던 자동검색 방식을 junior 모드 상에서 가능하도록 수정해 봤습니다.

 

ARPL 은 TCRP 의 드라이버를 빌려서 통합 드라이버팩을 만들었고

저는 다시 이 7가지 플랫폼별로 분류된 통합드라이버팩을 재이용해서 M SHELL 안에서

드라이버가 자동 설치되도록 하였습니다.

 

스크립트가 90% 이상 완성이 되었는데,

마지막 통합팩에서 필요한 드라이버 ko 만 추출해서 insmod 드라이버.ko 로 심어주는 과정 시험만 1시간째네요.

한번만 더 해보고 내일 완성해야 할것 같습니다.

 

이제 TCRP 도 ARPL 를 더 닮아갈수 있을듯 합니다. ^^

 

최종작업으로 pocopico님이 힌트를 주셔서

드라이버간의 의존성 처리도 완벽하게 마쳤습니다.

APRL 은 eudev를 사용하는 의존성처리지만 저는 pocopipco님 가이드 주신대로

depmod 와 modprobe 를 활용했습니다. ^^

 

https://github.com/PeterSuh-Q3/rp-ext/tree/main/all-modules

 

 

 

기존 로더를 빌드하면서 랜카드나 외장사타컨트롤러 HBA 등을 자동으로 찾아서 추가해 주는 부분이 안보여도 놀라지 마십시요.

대신 all-modules 라는 통합드라이버 모듈이 커버합니다.

신고공유스크랩
16

화정큐삼 화정큐삼
30Lv. 18161P
다음 레벨까지 1059P

1) Xpenology RedPill DS918+ FRIEND DSM 7.2.1-69057 Update 1, ASUS IOT H310i-IM-A R2.0 G5500 / Intel I211, I219-V / 16GB  / SilverStone ECS07 5포트 SATA M.2 NVMe PCIe 스토리지 확장 카드 / 3x4TB + 1x3TB SHR, 1x8TB 

 

2) Xpenology RedPill DS1823xs+ FRIEND DSM 7.2.1-69057 Update 1, Asus B150I PRO GAMING/AURA i3-7100T / Intel Gigabit LAN x 3 / 16GB  /  ASM1166 M.2 NVME PCIE 6 Port Sata 스토리지 확장 카드 / 6 x 3TB RAID6

profile image 3등
화정큐삼 글쓴이 2022.11.09. 10:20

APRL fabio 님 열정은 아무도 따라가기 힘들것 같습니다.

 

7가지 platform 별로 각 플랫폼이 이미 내장하고 있는 바닐라 드라이버 리스트를

 

각 .모듈명-커널버전.txt 파일로 이미 3개월전에 정리를 해두셨네요.

 

https://github.com/fbelavenuto/arpl-modules

 

이런것도 공론화해서 공유를 해주셨으면 헤메시는분들이 없었을것 같은데요.

 

저도 이번에 통합드라이버를 적용하면서 참고해야 할 사항 같습니다.

 

ARPL 에서는 알아서 잘되고 있었기 때문에 신경쓸일이 없었지만

 

pocopico님의 TCRP 는 드라이버 자체는 pocopico님이 개발해 주셨지만,

 

내장 드라이버와의 충돌 관계에 대해서는 정립이 안되신것 같습니다.

 

fabio 님은 이런것도 진작에 다 알고 계셨었네요.

 

내장 드라이버는 바닐라 드라이버라고 표현하는데,

 

이 바닐라 드라이버가 이미 있는 상태에서 pocopico님의 개발 드라이버가 또한번 중복으로 추가 되게 되면

 

충돌이 일어납니다.

 

지금까지 대표적인것이 인텔 10Gbps 랜카드 (ixgbe) 였는데요.

 

이런 드라이버들이 엄청 많았네요.

 

플랫폼별로 r8169 나 igb, e1000 등이 이미 바닐라 드라이버로 포함되어 있는 경우도 있는것 같습니다.

 

이런 1Gbps 제품들은 추가로 넣어줘도 충돌이 안일어나는데,

 

유독 인텔 10Gbps 계열들은 충돌이 일어납니다.

 

최근에 X710 같은 i40e 드라이버를 사용하는 경우도 충돌이 보고되고 있는것 같습니다.

 

pocopico님과 aprl 님이 이부분은 협업을 하셔야 할듯 한데요...

 

저도 좀더 시험해 보면서 통합드라이버 적용해서는 충돌을 피할수 있도록 개발해 보겠습니다.

profile image
하늘위의하늘 2022.11.09. 11:28

화정큐삼님 업으로 하시나요?

모두를 위한 희생이십니까?

전 드릴수 있는게 박수 뿐입니다.

힘내십시오. 👏 👏 👏

profile image
화정큐삼 글쓴이 2022.11.09. 12:17
하늘위의하늘

프로그래머라 코딩이 업이긴 합니다.

본격적인 리눅스코딩은 레드필에 관심을 가지기 시작하면서 부터입니다.

이전 DSM6 때는 오픈소스가 아니라서 그냥 jun님과 ig-88님이 만들어 주시는대로 사용만 했지만,

DSM 7 레드필 부터는 오픈소스로 바뀌어서 저같은 초보코더도 참여가능하게 바뀐점이 달라진점입니다.

모두를 위한 좋은일이면서 동시에 제 취미생활입니다.

격려 감사드립니다.^^

profile image
달소 2022.11.09. 12:20

와우,,, 드라이버통합이라니 ㄷㄷ 대단하네요!!

항상 감사드립니다 ㅎㅎ

profile image
화정큐삼 글쓴이 2022.11.09. 13:30
달소

1차 파일럿 테스트 정도 마쳤습니다. DS918+ 를 샘플로 버추얼박스에서 e1000 가 자동추가가 잘 처리되는군요.

모델 확장하고 네이티브 시험도 더 진행해 보겠습니다.

pocopico님께 드려보고 보완할사항 없는지 의견도 들어봐야 겠습니다.

profile image
달소 2022.11.09. 13:33
화정큐삼

오오... 완료되면 이미지로 만들어서 한번 테스트해봐야겠네요!

profile image
화정큐삼 글쓴이 2022.11.09. 22:21

pocopico님이 조언주신 사항을 한가지 더 보완중입니다.

각 드라이버간의 의존성처리를 해야 합니다.

모든 드라이버가 그런것은 아닌데

예를 들어 dva3221 같은 덴버톤 플랫폼에서 mpt3sas.ko 를 사용하고 싶으면 딸랑 이것만 주입한다고 드라이버가 동작하지 않습니다.

이 의존성을 기록한 파일이 /lib/modules/modules.dep 파일에 기록되어 있는데요.

여기에 순서대로 선행되서 추가되어야할 드라이버 리스트들이 등록되어 있습니다.

위의 경우는

 

raid_class.ko

scsi_transport_sas.ko

mpt3sas.ko

 

의 순서대로 주입이 되는 의존성을 가지고 있습니다.

 

모든 드라이버가 다 그런것은 아닙니다. 확률로 봐서는 10%도 안될것 같습니다.

어쨌던 일반적인 드라이버인 경우 (네트워크 카드등)는 대부분 의존성이 없기 때문에

안심하고 사용하셔도 될것 같습니다.

 

mpt3sas 는 덴버톤만 의존성이 있고 그 외의 플랫폼에선 의존성이 없습니다.

 

7개 플랫폼에 최종 반영이 완료된 상태입니다.

의존성 부분만 한번더 보완될 예정입니다.

 

profile image
화정큐삼 글쓴이 2022.11.10. 02:27
화정큐삼

최종작업으로 pocopico님이 힌트를 주셔서

 

드라이버간의 의존성 처리도 완벽하게 마쳤습니다.

 

이제 사용해 보셔 됩니다. ^^

profile image
화정큐삼 글쓴이 2022.11.10. 09:31

어제 새벽에 완성한 modprobe를 통한 자동 의존성 처리 때문에 바닐라 드라이브가 충돌하는 상황도 다시 확인을 하면 좋을것 같습니다.

modprobe 가 지능적으로 알아서 컨트롤 해주는 부분이 있는것 같은데요.

충돌이 일어나지 않게 정리가 되도록 하면 좋을것 같습니다.

 

그리고 한가지 더 바램이 Dell Perc H200 / H310 같은 HBA 가 Device-Tree 기반의 모델에서는 mpt3sas 드라이버가 설치되면서 실패가 났었습니다.

ARPL fabio님과 pocopico님도 안된다고 손을 놓은 부분인데요.

살짝 될지도 모른다는 기대가...

일단 시험부터 해보겠습니다. ^^

profile image
화정큐삼 글쓴이 2022.11.10. 10:47
화정큐삼

혹시나 기대했었는데, 역시나 안되는군요. ㅎㅎ mpt3sas 만 모듈 자체는 modprobe 로 주입 자체는 성공된것 같습니다.

그런데, 그 이후 주입시도를 하는 랜카드 하나가 죽어버리는것 같네요.

그 이후에 dtbpatch가 hba mpt3sas 드라이버로 로딩된 하드를 잡아줄줄 알았는데, 이것도 안되네요.

일단 아직도 꼬이는 상황은 맞는것 같습니다.

ds920+ 의 hba 시험은 이정도로 마칠까 합니다.

 

SynologyNAS> lsmod |grep mpt3sas

mpt3sas 336243 0

raid_class 3636 1 mpt3sas

scsi_transport_sas 24636 1 mpt3sas

SynologyNAS>

 

PCI : 00:00.0 Class : 0600 Vendor: 8086 Device: 590f

PCI : 00:01.0 Class : 0604 Vendor: 8086 Device: 1901

PCI : 00:02.0 Class : 0300 Vendor: 8086 Device: 5912

Found VGA Controller : pciid 8086d00005912 Required Extension : No matching extension

PCI : 00:08.0 Class : 0880 Vendor: 8086 Device: 1911

PCI : 00:14.0 Class : 0c03 Vendor: 8086 Device: a12f

PCI : 00:14.2 Class : 1180 Vendor: 8086 Device: a131

PCI : 00:16.0 Class : 0780 Vendor: 8086 Device: a13a

PCI : 00:17.0 Class : 0106 Vendor: 8086 Device: a102

Found SATA Controller : pciid 8086d0000a102 Required Extension : Searching for matching extension for ahci

PCI : 00:1c.0 Class : 0604 Vendor: 8086 Device: a114

PCI : 00:1d.0 Class : 0604 Vendor: 8086 Device: a118

PCI : 00:1f.0 Class : 0601 Vendor: 8086 Device: a143

PCI : 00:1f.2 Class : 0580 Vendor: 8086 Device: a121

PCI : 00:1f.3 Class : 0403 Vendor: 8086 Device: a170

PCI : 00:1f.4 Class : 0c05 Vendor: 8086 Device: a123

PCI : 01:00.0 Class : 0107 Vendor: 1000 Device: 0072

Found SAS Controller : pciid 1000d00000072 Required Extension : Searching for matching extension for mpt3sas

PCI : 02:00.0 Class : 0200 Vendor: 10ec Device: 8168

Found Ethernet Interface : pciid 10ecd00008168 Required Extension : Searching for matching extension for r8168

PCI : 03:00.0 Class : 0200 Vendor: 8086 Device: 10b9

Killed

Found Ethernet Interface : pciid 8086d000010b9 Required Extension : Searching for matching extension for e1000e

PCI : 01:00.0 Class : 0106 Vendor: 1b4b Device: 9235

Found SATA Controller : pciid 1b4bd00009235 Required Extension : No matching extension

Ran "check-all-modules.sh" for all-modules->on_boot - exit=0

 

Running "install.sh" for dtbpatch->on_boot

System is booting

dtbpatch - early

Patching /etc.defaults/model.dtb

'/var/run/model.dtb' -> '/etc.defaults/model.dtb'

Ran "install.sh" for dtbpatch->on_boot - exit=0

 

 

 

현정사랑 2022.11.10. 22:44

대단하시네요~!!

2.5G 드라이버 나와서 테스트 해보고 싶은데 일이 바빠서 3월은 되야 해볼수 있을것 같네요...

그때 쯤이면 엄청나게 발전되있을것 같습니다.

profile image
화정큐삼 글쓴이 2022.11.10. 23:25
현정사랑

지금의 모습이 거의 안정화 단계로 가고 있어서 이번의 변화만큼 빅 이슈는 별로 없을듯 합니다. 제가 마지막 작업으로 생각하는건 TCRP FRIEND + M shell 만 적용된 독립 이미지 화일을 만들고 ARPL 처럼 그래픽컬한 탑다운 메뉴정도 구현해서 ARPL 처럼 사용하시게 하는것 입니다.

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 63 달소 23.05.29.01:57 25204 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26825 +23
질문 지금 시점에서 7세대 나스는 아이들 전력소비가 큰가요? 5 나와너 1일 전17:35 336 +1
정보 해놀 DSM 7.2.1-69057 Update 5로 업데이트 한 이후의 AME 3.1 활성화 관련 12 FantomD 2일 전12:47 369 +3
정보 토렌트 알림 디스코드로 받기 2 블랙앤해적 24.04.29.20:02 381 +1
72 소식
image
화정큐삼 22.11.13.23:55 747 +6
71 소식
normal
화정큐삼 22.12.05.14:44 555 +5
70 소식
image
달소 22.07.07.10:24 549 +5
69 소식
image
달소 22.07.20.11:31 298 +5
소식
image
화정큐삼 22.11.09.02:02 521 +5
67 소식
image
달소 22.07.08.11:06 241 +5
66 소식
image
달소 23.03.09.10:56 2845 +4
65 소식
image
달소 22.07.16.10:17 358 +4
64 소식
normal
화정큐삼 22.10.24.00:53 583 +4
63 소식
image
달소 22.08.20.10:55 429 +4
62 소식
normal
carlson 22.07.19.12:07 507 +4
61 소식
image
달소 22.07.26.11:36 551 +3
60 소식
image
냉동개구리 23.01.17.14:08 401 +3
59 소식
normal
게르노 22.04.03.14:02 2003 +3
58 소식
image
이투 23.07.24.17:27 757 +3
57 소식
normal
핫포사이 23.03.09.06:54 935 +3
56 소식
image
달소 22.08.02.22:22 350 +3
55 소식
normal
SU-57 22.08.03.14:39 1168 +3
54 소식
image
달소 22.09.06.10:47 756 +3
53 소식
normal
블랙앤해적 23.08.06.09:14 657 +2