systemd : 부팅시 modprobe 명령 자동화


20

내 배포판은 Fedora 17 Gnome입니다. 컴퓨터를 재부팅 / 재시작 할 때마다이 명령을 루트로 실행해야합니다.

modprobe rt2800usb

영구적으로 만들려면 어떻게해야합니까?


1
안녕하세요, 첫 번째 질문 감사합니다. 어떤 리눅스 배포본을 언급 할 수 있다면 좋을 것입니다 :)
Bonsi Scott

1
@BonsiScott 분포는 아마도 질문 텍스트에 추가되어야하지만 태그는 Fedora를 말합니다.
depquid

(또한 페도라 특정이 아니기 때문에 내 자신의 답변을 삭제했습니다)
Bonsi Scott

@BonsiScott, 당신의 대답은 다른 사람들에게도 유용 할 수 있습니다 ...
vonbrand

답변:


34

배포판을 사용 systemd하면 다음을 통해 자동으로 모듈을로드 할 수 있습니다 modules-load.d.

  • 구성 파일을 작성하십시오.

    /etc/modules-load.d/rt2800usb.conf

  • 그것을 열고 다음과 같이 편집하십시오 (모듈 이름 추가).

    rt2800usb

  • 다음에 다시 부팅 할 때 모듈이 자동으로로드되어야합니다


문제 해결:

systemd서비스가 모듈을로드 했는지 확인하십시오 .

systemctl status systemd-modules-load.service

출력은 다음과 같아야합니다.

systemd-modules-load.service - Load Kernel Modules
  Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
  Active: active (exited) since Wed, 03 Apr 2013 22:50:57 +0000; 46s ago
        Docs: man:systemd-modules-load.service(8)
              man:modules-load.d(5)
 Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)

마지막 줄은 PID(프로세스 ID)와 종료 코드를 포함합니다. status=0/SUCCESS모듈이 성공적으로 삽입되었음을 의미합니다.

journalctl -b _PID=260

출력되는 것 :

Apr 03 22:50:57 mxhst systemd-modules-load[260]: Inserted module 'rt2800usb'

실패한 경우 systemctl출력은 다음과 같습니다.

systemd-modules-load.service - Load Kernel Modules
  Loaded: loaded (/usr/lib/systemd/system/systemd-modules-load.service; static)
  Active: failed (Result: exit-code) since Wed, 03 Apr 2013 22:50:59 +0000; 43s ago
        Docs: man:systemd-modules-load.service(8)
              man:modules-load.d(5)
 Process: 260 ExecStart=/usr/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)

journalctl -b보고 와 함께 :

Apr 03 22:50:59 mxhst systemd-modules-load[260]: Failed to find module 'fakert2800usb'

종료 코드는 0/SUCCESS모듈이 성공적으로 삽입되었음을 의미합니다. 달리는

lsmod | grep rt2800

확인해야합니다 :

rt2800usb              26854  0 
rt2x00usb              19757  1 rt2800usb
rt2800lib              64762  1 rt2800usb
rt2x00lib              66520  3 rt2x00usb,rt2800lib,rt2800usb
mac80211              578735  3 rt2x00lib,rt2x00usb,rt2800lib

경우 lsmod출력 (서비스 종료 코드의 존재에도 불구하고 확인을하지 않습니다 0/SUCCESS)는 뭔가에 의해로드 된 후 모듈을 제거 의미한다 modules-load.service. 가능한 원인 중 하나 *.conf는 모듈을 차단 한 다른 파일입니다. 다음과 같은 줄을 찾으십시오.

blacklist rt2800usb

/etc/modprobe.d/*.conf, /usr/lib/modprobe.d/*.conf또는 /run/modprobe.d/*.conf과 의견을 출력 / 삭제합니다.


이 작업을 수행했지만 재부팅시 모듈이로드되지 않았습니다.
somethingSomething

root가 파일의 소유자이기 때문입니까?
somethingSomething

재부팅 할 때 여전히 modprbe 명령을 수행해야합니다. 목록이 modprobe 명령을 실행 한 이후이므로 나열되지 않습니까?
somethingSomething

5

부팅시 모듈을로드하려면 /etc/modules-load.d/; 이 파일은 이름을 가질 수 있지만로 끝나야합니다 .conf. Wi-Fi 드라이버의 경우 예를 들어 파일을 만들 수 있습니다 /etc/modules-load.d/rt2800.conf.

파일에서 다음과 같이로드하려는 모듈 이름으로 한 줄을 추가하십시오.

rt2800usb

커널 모듈 의 Arch Wiki 페이지에 자세한 정보가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.