netconsole
initrd 단계 /etc/modules
에서 기본 시스템 시작 절차 와 마찬가지로 모듈을 명시 적으로로드하고 싶습니다 (예 :) .
먼저 시스템의 initrd에 원하는 모듈이 있는지 확인했습니다 (부록 참조).
나는 /initrd.img
(압축 cpio 아카이브이므로 빨리 살펴보기 위해을 사용하여 그 zcat /initrd.img > initrd.cpio
안에 들어갔다 mc
.) modprobe
스크립트 중 호출이 무엇인지 찾아 보았고 /conf/modules
( /
initrd의 루트 임)에 나열된 모듈이 ( 에 의해 호출 됨 ) load_modules()
함수에 의해 자동으로로드 된다는 것을 알았습니다 ./scripts/functions
/init
그러나 우분투 시스템 /conf/modules
에서 initrd 를 업데이트하는 표준 도구는 무엇입니까?
(BTW, 우분투의 initrd를의 코드 내 연구 기간 동안, 나는 몇 가지 특별 지원이 있음을 발견 netconsole
에서 /init
내 요구에 작동하지 않을 수도 있습니다 스크립트, 어쨌든, 내 질문은 다른 사용자 정의 모듈에 관한 더 일반적이다 .)
부록
위에서 말했듯이 : 먼저 시스템의 initrd에 원하는 모듈 (즉, netconsole
) 이 포함되어 있는지 확인했습니다 . 방법은 다음과 같습니다.
# zcat /initrd.img | cpio --extract --verbose --list | fgrep netconsole
-rw-r--r-- 1 root root 25372 Aug 31 20:59 lib/modules/3.19.0-28-generic/kernel/drivers/net/netconsole.ko
109504 blocks
#
또한 필요한 네트워크 드라이버가 이미 포함되어 있는지 확인했습니다.
# ls -ld /sys/class/net/eth0/device/driver
lrwxrwxrwx 1 root root 0 Sep 21 15:34 /sys/class/net/eth0/device/driver -> ../../../../bus/pci/drivers/sky2
# zcat /initrd.img | cpio --extract --verbose --list | fgrep sky2
-rw-r--r-- 1 root root 92948 Aug 31 20:49 lib/modules/3.19.0-28-generic/kernel/drivers/net/ethernet/marvell/sky2.ko
109504 blocks
#
lsinitramfs
에 포함initramfs-tools
같은 대해 수행zcat /initrd.img ..
여기에 설명 명령.