systemd: 시작 시 자동으로 modprobe 명령을 실행합니다.

systemd: 시작 시 자동으로 modprobe 명령을 실행합니다.

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

modprobe rt2800usb

어떻게 영구적으로 만들 수 있나요?

답변1

모든 배포판에서 다음을 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주석 처리/제거하세요 .

답변2

시작 시 모듈을 로드하려면 /etc/modules-load.d/에서 파일을 생성할 수 있습니다. 파일 이름은 무엇이든 가능하지만 로 끝나야 합니다 .conf. 예를 들어, wifi 드라이버의 경우 에서 파일을 생성할 수 있습니다 /etc/modules-load.d/rt2800.conf.

파일에 다음과 같이 로드할 모듈 이름이 포함된 줄을 추가합니다.

rt2800usb

아치 위키 페이지커널 모듈더 많은 정보가 있습니다.

관련 정보