[mdk-re] ëÁË ÐÒÁ×ÉÌØÎÏÐÅÒÅËÏÍÐÉÌÉÒÏ×ÁÔØÄÒÁÊ×ÅÒÙ ÐÏÄ"ÏÂÎÏ×ÌÅÎÎÏÅ"ÑÄÒÏ? (ÎÉËÔÏ ÎÅÚÎÁÅÔ?)

Sergei =?iso-8859-1?q?serpiph_=CE=C1_mail=2Eru?=
Ср Фев 28 09:02:11 MSK 2001


Вторник 27 Февраль 2001 15:50, Вы написали:
> Работал драйвер (DVB) из модулей состоящий в основном.
> Поменялась (по названию в основном только) версия системы (была приписка
> "MDK" стала "MDKsecure"
> Драйверы - отказываются грузиться - это понятно. Но и отказываются заново
> нормально компилиться из имеющихся исходников (это не понятно)
> При попытке грузить modprobe новые перекомпилированные драйверы - ругань на
> конфликт версий.
> Исходники ядра переустанавливал,
>
> В тексте мейка - ссылка на "ссылку", указывающую на исходники linux-2.2.14,
> в которых я никаких зацепок (файлов, содержащих явное имя "secure" системы
> не нашел)
> Может кто надоумит.
>
> Вот текст мейка.
>
> CURRENT=$(shell uname -r)
> KERNEL_LOCATION=/usr/src/linux
>
> M_OBJS       = saa7146_v4l.o VES1893.o VES1820.o dvb.o tuner.o
> MX_OBJS      = i2c-core.o videodev.o saa7146_core.o dmxdev.o dvb_demux.o
> obj-m        = $(MX_OBJS) $(M_OBJS)
> EXTRA_CFLAGS = -I ../ost/include #-DV4L2
>
> here:
>  DIR=`pwd`; (cd $(KERNEL_LOCATION); make SUBDIRS=$$DIR modules)
>  @echo
>
> install:
>  su -c "cp -v $(M_OBJS) $(MX_OBJS) /lib/modules/$(CURRENT)/misc"
>
> reload:
>  make
>  sync
>  ( \
>  ifconfig dvb0 down;     \
>  rmmod tuner;  \
>  rmmod dvb;  \
>  rmmod dvb_demux;        \
>  rmmod dmxdev;           \
>  rmmod VES1893;  \
>  rmmod VES1820;  \
>  insmod VES1893.o;  \
>  insmod VES1820.o;  \
>  insmod dmxdev.o;                \
>  insmod dvb_demux.o;             \
>  insmod dvb.o init_chan=2; \
>  insmod tuner.o;   \
>  ifconfig dvb0 192.168.4.1;      \
>  )
>  sync
>
> reload2:
>  make
>  -make rmmod2
>  -make insmod2
>
> insmod:
>  (cd ../ost/src; make insmod)
>  make
>  sync
>  ( \
>  insmod i2c-core.o; \
>  insmod videodev.o;  \
>  insmod saa7146_core.o mode=0; \
>  insmod saa7146_v4l.o;  \
>  insmod VES1893.o;  \
>  insmod VES1820.o;  \
>  insmod dmxdev.o;                \
>  insmod dvb_demux.o;             \
>  insmod dvb.o init_chan=2; \
>  insmod tuner.o;   \
>  ifconfig dvb0 192.168.4.1;      \
>  )
>  sync
>
> rmmod:
>  ( \
>  ifconfig dvb0 down;     \
>  rmmod tuner;  \
>  rmmod dvb;  \
>  rmmod dvb_demux;        \
>  rmmod dmxdev;           \
>  rmmod VES1893;  \
>  rmmod VES1820;  \
>  rmmod saa7146_v4l; \
>  rmmod saa7146_core; \
>  rmmod videodev;  \
>  rmmod i2c-core;  \
>  )
>  (cd ../ost/src; make rmmod)
>
>
> insmod2:
>  ( \
>  insmod i2c-core.o; \
>  insmod videodev2.o;  \
>  insmod saa7146_core.o mode=0; \
>  insmod saa7146_v4l2.o;  \
>  insmod VES1893.o;  \
>  insmod VES1820.o;  \
>  insmod dvb.o;   \
>  insmod tuner.o;   \
>  )
>
> rmmod2:
>  ( \
>  rmmod tuner;  \
>  rmmod dvb;  \
>  rmmod VES1893;  \
>  rmmod VES1820;  \
>  rmmod saa7146_v4l2; \
>  rmmod saa7146_core; \
>  rmmod videodev2; \
>  rmmod i2c-core;  \
>  )
>
> Boot: Boot.S
>  armeb-linux-gcc -c Boot.S
>  armeb-linux-ld -Ttext 0x2c000000 -EB -o Boot Boot.o
>  armeb-linux-objcopy -Obinary Boot
>
> newfirm:
>  DIR=`pwd`/arm_firm; (cd ./arm_firm/dvb25/; make ARM_FIRM=$$DIR)
>  cp ./arm_firm/dvb25/arm_firm25/DPRAM arm_firm/Dpram
>  cp ./arm_firm/dvb25/arm_firm25/ROOT arm_firm/Root
>
> newfirm_dist:
>  DIR=`pwd`/arm_firm; (cd ./arm_firm/dvb25/; make ARM_FIRM=$$DIR
> FIRM_DIST=1) cp ./arm_firm/dvb25/arm_firm25/DPRAM Dpram
>  cp ./arm_firm/dvb25/arm_firm25/ROOT Root
>
> ftest:
>  DIR=`pwd`/arm_firm; (cd ./arm_firm/test/; make ARM_FIRM=$$DIR)
>  cp ./arm_firm/test/arm_firm25/DPRAM arm_firm/Dpram
>  cp ./arm_firm/test/arm_firm25/ROOT arm_firm/Root
>
> ftest2:
>  DIR=`pwd`/arm_firm; (cd ./arm_firm/test2/; make test test.asm
> ARM_FIRM=$$DIR)
>
> firmclean:
>  (cd ./arm_firm/dvb25/; make clean)
>
> clean:
>  -rm -f $(M_OBJS) $(MX_OBJS) *.o .*.o.flags *~
>
> dvb.o: dvb.h dvb_comcode.h dvb_v4l.h dvb_types.h dvb_demux.h
>
> dvb_demux.o: dvb_demux.h dmxdev.h
>
> dmxdev.o: dmxdev.h
>
> include $(KERNEL_LOCATION)/Rules.make
В принципе, в исходниках ядра в главном Makefile первые три строчки (у меня):
VERSION = 2
PATCHLEVEL = 2
SUBLEVEL = 18
EXTRAVERSION = secure

они трансформируются в /usr/include/linux/version.h:
#define UTS_RELEASE "2.2.18secure"
#define LINUX_VERSION_CODE 131602
#define KERNEL_VERSION(a,b,c) (((a)<<16)+((b)<<8)+(c))
Здесь и копайте, может /usr/include/linux (это ссылка) указывает не на ваш 
правильный header.

-- 
С уважением, Епифанов Сергей




Подробная информация о списке рассылки community