nixp.ru v3.0

20 апреля 2024,
суббота,
04:22:48 MSK

anonymous написал 12 апреля 2006 года в 11:02 (1065 просмотров) Ведет себя неопределенно; открыл 1814 темы в форуме, оставил 5575 комментариев на сайте.

Здравствуйте!!!

У меня возникла следующая проблема. После того как я скомпилировал свой модуль (банальный HelloWord) в ASP Linux 10 с ядром 2.6.9-1.677.

При подключении моего модуля комагдой insmod mydrv.ko выдается следующее сообщение

[root@localhost Nikolai]# insmod mydrv.ko

insmod: error inserting 'mydrv.ko’: -1 Invalid module format

Что это? Может быть я протос не правильно установил исходники ядра:

Был файл src.rpm с исходником ядра…. Запустил Install, затем в каталоге

/usr/src/asplinux/SOURCES. Там куча файлов типа .patch и .config. И есть 3 архива linux 2.6.9.tar.bz2, patch 2.6.9-final.bz2,patch 2.6.9-final.bk2.bz2 Дальше я распаковал linux 2.6.9.tar.bz2 в /usr/src/ и запустил make .config. Ответил на кучу вопросов и все…..

А что делать с патчами и всей остальной хренью?

Правильно ли я вообще делаю?

Заранее спасибо.

fly4life

После попытки загрузить модуль посмотри, что в dmesg.

anonymous

Вот что:

[root@localhost Nikolai]# dmesg

Linux version 2.6.9-1.667asp (build@pylesos.asp-linux.com.ua) (gcc version 3.3.3 20040412 (ASPLinux 3.3.3-7)) #1 Fri Nov 12 22:29:40 EET 2004

BIOS-provided physical RAM map:

BIOS-e820: 0000000000000000 — 000000000009fc00 (usable)

BIOS-e820: 000000000009fc00 — 00000000000a0000 (reserved)

BIOS-e820: 00000000000e6000 — 0000000000100000 (reserved)

BIOS-e820: 0000000000100000 — 000000000ef2fc00 (usable)

BIOS-e820: 000000000ef2fc00 — 000000000ef30000 (ACPI NVS)

BIOS-e820: 000000000ef30000 — 000000000ef40000 (ACPI data)

BIOS-e820: 000000000ef40000 — 000000000eff0000 (ACPI NVS)

BIOS-e820: 000000000eff0000 — 000000000f000000 (reserved)

BIOS-e820: 00000000fecf0000 — 00000000fecf1000 (reserved)

BIOS-e820: 00000000fed20000 — 00000000feda0000 (reserved)

0MB HIGHMEM available.

239MB LOWMEM available.

zapping low mappings.

Built 1 zonelists

Kernel command line: root=/dev/hda3 rhgb

mapped 4G/4G trampoline to ffff4000.

Initializing CPU#0

CPU 0 irqstacks, hard=023e0000 soft=023df000

PID hash table entries: 1024 (order: 10, 16384 bytes)

Detected 2793.901 MHz processor.

Using tsc for high-res timesource

Console: colour VGA+ 80×25

Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)

Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)

Memory: 238620k/244924k available (2080k kernel code, 5780k reserved, 675k data, 148k init, 0k highmem)

Calibrating delay loop… 5521.40 BogoMIPS (lpj=2760704)

Security Scaffold v1.0.0 initialized

SELinux: Initializing.

SELinux: Starting in permissive mode

There is already a security framework initialized, register_security failed.

selinux_register_security: Registering secondary module capability

Capability LSM initialized as secondary

Mount-cache hash table entries: 512 (order: 0, 4096 bytes)

monitor/mwait feature present.

using mwait in idle threads.

Enabling fast FPU save and restore… done.

Enabling unmasked SIMD FPU exception support… done.

Checking 'hlt' instruction… OK.

ACPI: IRQ9 SCI: Level Trigger.

checking if image is initramfs… it is

Freeing initrd memory: 357k freed

NET: Registered protocol family 16

Linux Plug and Play Support v0.97 (c) Adam Belay

usbcore: registered new driver usbfs

usbcore: registered new driver hub

PCI: Using ACPI for IRQ routing

apm: BIOS version 1.2 Flags 0×03 (Driver version 1.16ac)

apm: overridden by ACPI.

audit: initializing netlink socket (disabled)

audit(1144835753.097:0): initialized

Total HugeTLB memory allocated, 0

VFS: Disk quotas dquot_6.5.1

Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)

SELinux: Registering netfilter hooks

Initializing Cryptographic API

ksign: Installing public key data

Loading keyring

- Added public key 5B36F29B439C91FB

- User ID: Red Hat, Inc. (Kernel Module GPG key)

pci_hotplug: PCI Hot Plug PCI Core version: 0.5

vesafb: probe of vesafb0 failed with error -6

ACPI: Processor [CPU1] (supports C1, 8 throttling states)

isapnp: Scanning for PnP cards…

isapnp: No Plug & Play device found

Real Time Clock Driver v1.12

Linux agpgart interface v0.100 (c) Dave Jones

agpgart: Detected an Intel 865 Chipset.

Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled

ttyS0 at I/O 0×3f8 (irq = 4) is a 16550A

RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize

divert: not allocating divert_blk for non-ethernet device lo

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx

ICH5: IDE controller at PCI slot 0000:00:1f.1

PCI: Enabling device 0000:00:1f.1 (0005 -> 0007)

ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 9 (level, low) -> IRQ 9

Probing IDE interface ide0…

hda: WDC WD800BB-00CAA1, ATA DISK drive

Using cfq io scheduler

ide0 at 0×1f0-0×1f7,0×3f6 on irq 14

SELinux: Disabled at runtime.

SELinux: Unregistering netfilter hooks

inserting floppy driver for 2.6.9-1.667asp

Floppy drive(s): fd0 is 1.44M

FDC 0 is a National Semiconductor PC87306

Linux Kernel Card Services

options: [pci] [cardbus] [pm]

ip_tables: (C) 2000-2002 Netfilter core team

ip_tables: (C) 2000-2002 Netfilter core team

e100: eth0: e100_watchdog: link up, 10Mbps, half-duplex

i2c /dev entries driver

parport0: PC-style at 0×378 [PCSPP,TRISTATE]

lp0: using parport0 (polling).

lp0: console ready

eth0: no IPv6 routers present

ACPI: PCI interrupt 0000:00:02.0[A] -> GSI 11 (level, low) -> IRQ 11

[drm] Initialized i915 1.1.0 20040405 on minor 0:

mtrr: base(0xf0020000) is not aligned on a size(0×180000) boundary

spurious 8259A interrupt: IRQ7.

mydrv: no version for «struct_module» found: kernel tainted.

mydrv: version magic '2.6.9y PENTIUM4 gcc-3.3\′ should be '2.6.9-1.667asp 686 REGPARM 4KSTACKS gcc-3.3\′

mydrv: version magic '2.6.9y PENTIUM4 gcc-3.3\′ should be '2.6.9-1.667asp 686 REGPARM 4KSTACKS gcc-3.3\′

mydrv: version magic '2.6.9y PENTIUM4 gcc-3.3\′ should be '2.6.9-1.667asp 686 REGPARM 4KSTACKS gcc-3.3\′

fly4life

А какая была версия в названии src.rpm с исходниками ядра? Грубо говоря, ядро считает, что ты собрал свой модуль не для него (а для какой-то иной версии), и отказывается его заружать.

По ссылке ниже рассказывается, как устанавливать исходники ядра именно для ASPLinux (кстати, на примере 10):

http://community.asplinux.ru/documents/faq/03_04.html

Проделай всё в точности по инструкции (удалив перед этим всё то, что ты уже наустанавливал), а затем попытайся заново скомпилировать свой модуль (уже без всяких там 'make config' и ответов на кучу вопросов, о которых ты говорил в первом сообщении данной темы).

anonymous

kernel-2.6.9-1.667asp.src.rpm

anonymous

Удалять нужно и исходные тексты ядра?

А как тогда удалить все то что я на создавал, я не знаю куда что установилось?

Делаю все по примеру http://community.asplinux.ru/documents/faq/03_04.html

Получается следующая ошибка:

[root@localhost SPECS]# rpmbuild -bp kernel-2.6.spec

ошибка: Архитектура не включена: i386

Ето еще что?

rgo
[root@localhost Nikolai]# insmod mydrv.ko

insmod: error inserting 'mydrv.ko’: -1 Invalid module format


mydrv: version magic '2.6.9y PENTIUM4 gcc-3.3\′ should be '2.6.9-1.667asp 686 REGPARM 4KSTACKS gcc-3.3\′

должно прокатить вот что:

insmod -f mydrv.ko
anonymous

Нет… Таже фигня

Последние комментарии

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.