[d-kernel] Re: lm_sensors: prog/hotplug/p4b_smbus

Alexander Bokovoy a.bokovoy at sam-solutions.net
Sun Sep 21 18:55:44 MSD 2003


On Sun, Sep 21, 2003 at 05:26:37PM +0400, Sergey Vlasov wrote:
> > > файлы (или запускать дополнительные программы)... и т.д.
> > Это -- не проблема. Что касается загрузки нескольких драйверов, то:
> > 
> >   - нужно отказываться от использования insmod, как класс, в пользу
> >     modprobe. Из-за присутствия insmod мы уже наблюдали проблемы в initrd
> >     при загрузке чипсетов IDE, с modprobe они работают без проблем.
> 
> А настоящий источник этих проблем установить так и не удалось?
Настоящий источник -- insmod, точнее режим, в котором он работает не как
modprobe (последний -- symlink на insmod). Подробнее должен рассказать Женя Калюта в
понедельник-вторник. Что интересно, в Debian как раз modprobe в initrd.

> modprobe в initrd какой затащили? mkrescue хотя бы в простых случаях
> работать сможет (будет ли initrd влезать на дискетку)?
Поскольку modprobe = symlink на insmod, то размер тот же. Мы втащили его
поддержку в mkinitrd.

Сам патч mkinitrd-modprobe.patch вот такой:

--- mkinitrd.orig	2003-08-20 15:26:00.000000000 +0300
+++ mkinitrd	2003-08-20 15:27:40.000000000 +0300
@@ -373,6 +373,8 @@
 		Fatal "Failed to create directories."
 
 	Install /lib/mkinitrd/busybox "$MNTDIR/bin/sh"
+	Install /sbin/modprobe "$MNTDIR/bin/modprobe"
+	Install /sbin/rmmod "$MNTDIR/bin/rmmod"
 	Ln -s sh "$MNTDIR/bin/echo"
 	Ln -s sh "$MNTDIR/bin/insmod"
 	Ln -s sh "$MNTDIR/bin/losetup"
@@ -409,10 +411,10 @@
 
 		Debug "Loading module \"$m\" with options \"$options\""
 		/bin/cat >>"$RCFILE" <<EOF
-/bin/insmod -f $MODULES_DIR/$m $options
+/bin/modprobe $n $options
 EOF
 	done
-
+#/bin/insmod -f $MODULES_DIR/$m $options
 	if [ -n "$HAVE_RAID" ]; then
 		Mknod "$MNTDIR/dev/md0" b 9 0
 		Ln -s sh "$MNTDIR/bin/raidautorun"

Кстати, патч для поддержки модульности IDE в mkinitrd не намного больше:

diff -ur mkinitrd-2.8.8.orig/mkinitrd mkinitrd-2.8.8/mkinitrd
--- mkinitrd-2.8.8.orig/mkinitrd	2003-08-19 15:33:02.000000000 +0300
+++ mkinitrd-2.8.8/mkinitrd	2003-08-19 15:34:39.000000000 +0300
@@ -221,9 +221,14 @@
 	local ide
 	ide=/proc/ide/ide*
 	if [ -n "$ide" ]; then
-		FindModule -ide-mod
-		FindModule -ide-probe-mod
-		FindModule -ide-disk
+	    FindModule -ide-mod
+	    local pci_modules=`find $MODULES_DIR/kernel/drivers/ide/pci -name '*.o' | \
+ 		    while read i; do /sbin/lsmod | awk {'print $1'} | grep  \`basename ${i%%.o}\`; done`
+	    for i in $pci_modules; do
+		FindModule $i;
+	    done
+	    FindModule -ide-probe-mod
+	    FindModule -ide-disk
 	fi
 }
 

> >   Вообщем, есть уже готовый аппарат в modutils, который все требуемое
> >   обеспечивает -- и запуск программ, и вытягивание стеков модулей, и
> >   последовательное опробывание цепочки драйверов.
> [skip]
> > Да, забыл в указанном списке упомянуть ACPI и динамическую загрузку
> > исправленных DSDT. Патч для поиска исправленных DSDT в initrd Сергей
> > Власов уже нашел, вопрос в создании инфраструктуры и сборке пакетов с
> > исправленными DSDT с acpi.sf.net.
> 
> Он уже лежит в kernel-feat-acpi.
Ок. вопрос только в формировании инфраструктуры для хранения DSDT и в поддержке в
mkinitrd/mkrescue.


-- 
/ Alexander Bokovoy
---
You'll never see all the places, or read all the books, but fortunately,
they're not all recommended.



More information about the devel-kernel mailing list