[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