kompresja modułów dla 2.6

Jakub Bogusz qboosh w pld-linux.org
Czw, 4 Mar 2004, 12:42:57 CET


On Thu, Mar 04, 2004 at 12:48:36PM +0100, Wojciech 'Sas' Cieciwa wrote:
> On Thu, 4 Mar 2004, Jakub Bogusz wrote:
> > Co z $Subject?
> > Od kiedy pojawiło się kompresowanie *.ko w rpm.macros, to do wszędzie
> > po cichu doszło no_install_post_compress_modules - to nie ma sensu!
> > 
> > Albo trzeba zostawić kompresowanie tylko *.o, albo używać kompresji
> > także w modułach 2.6.
> > Obecna sytuacja to jakiś nonsens.
> 
> Hmm, ja robie to z przyzwyczajenia ...

Na razie nie sprawdzałem czy działa.
Tylko włączyłem obsługę zliba w m-i-t i zobaczyłem jak ma działać.
Mogę potestować w "wolnej chwili"...

> > Wiem o jednej różnicy między 2.4 a 2.6 - insmod z m-i-t nie obsługuje
> > kompresji (ale robi to modprobe, przekazując kod na stdin insmoda).
> > Przy czym i tak właściwym narzędziem dla użytkownika jest modprobe,
> > a nie insmod.
> 
> OK. a co z etc/modules ?
> to jest _chyba_ ladowane przez system i poprzez insmod ...

Co tutaj znaczy "system"?
rc-scripts moduły (te z /etc/modules jak i inne wymagane w różnych
miejscach) wczytuje za pomocą modprobe, insmoda używa w jednym miejscu
rc.sysinit:

if [ -f /proc/scsi/scsi ] && grep -q 'Type:   Sequential-Access' /proc/scsi/scsi 2>/dev/null ; then
        if grep -qv ' 9 st' /proc/devices; then
                if [ -n "$USEMODULES" ] ; then
                        # Try to load the module. If it fails, ignore it...
                        insmod -p st >/dev/null 2>&1 && modprobe -s st >/dev/null 2>&1
                fi
        fi
fi

Wprawdzie to służy do sprawdzenia, a nie ładowania modułu (ładowany
jest przez modprobe), ale byłoby do poprawki.

Jeśli w jakichś *.init jest insmod zamiast modprobe, to i tak jest
do poprawienia.

Kernel żądania modułów zgłasza przez uruchomienie programu wskazanego
w /proc/sys/kernel/modprobe - czyli też /sbin/modprobe, a nie insmod.


-- 
Jakub Bogusz    http://cyber.cs.net.pl/~qboosh/



Więcej informacji o liście dyskusyjnej pld-devel-pl