Einfach mal Kernel kompilieren
Hi, ich habe nach frischer Installation von SuSE 8.0 inklusive SuSE-Kernel einfach mal Folgendes versucht: /usr/src/linux # make cloneconfig /usr/src/linux # make menuconfig [ein paar _Kleinigkeiten_ verändert, insbesondere Optimierung auf "Athlon" eingestellt] /usr/src/linux # vi /etc/lilo.conf [nichts wirklich geändert] /usr/src/linux # make dep clean bzImage bzlilo Es läuft auch, aber ich bekomme vom Kernel die irgenwie erschreckende Ausgabe (ein paar Mal hintereinander): May 7 15:50:44 orineo kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000 May 7 15:50:44 orineo kernel: printing eip: May 7 15:50:44 orineo kernel: c01152e1 May 7 15:50:44 orineo kernel: *pde = 00000000 May 7 15:50:44 orineo kernel: Oops: 0000 May 7 15:50:44 orineo kernel: CPU: 0 May 7 15:50:44 orineo kernel: EIP: 0010:[sys_sched_yield+9/88] Tainted: P May 7 15:50:44 orineo kernel: EFLAGS: 00010082 May 7 15:50:44 orineo kernel: eax: c02f26a8 ebx: c02f26a8 ecx: 00000001 edx: 00000003 May 7 15:50:44 orineo kernel: esi: 00000000 edi: 00000000 ebp: c62e3e74 esp: c62e3e54 May 7 15:50:44 orineo kernel: ds: 0018 es: 0018 ss: 0018 May 7 15:50:44 orineo kernel: Process netstat (pid: 1885, stackpage=c62e3000) May 7 15:50:44 orineo kernel: Stack: c62e3ea8 c5582bf8 00000000 c32d5673 c616a17e 00000001 00000282 00000003 May 7 15:50:44 orineo kernel: 00001000 c32d57f1 00000000 00000c00 c616a000 00001000 c029ea41 00000000 May 7 15:50:44 orineo kernel: 00000c00 0000023d 00000020 00000008 0000023d 34202020 3030203a 30303030 May 7 15:50:44 orineo kernel: Call Trace: [isa-pnp:__insmod_isa-pnp_O/lib/modules/2.4.18-4GB/kernel/drivers/pn+-8628621/96] [isa-pnp:__insm May 7 15:50:44 orineo kernel: [divide_error+11/16] May 7 15:50:44 orineo kernel: May 7 15:50:44 orineo kernel: Code: 8b 06 0f 0d 00 83 c3 04 89 5d ec 39 de 0f 84 9f 00 00 00 8d Was ist los? Ré
Am Die, 07 Mai 2002 schrieb René Matthäi:
ich habe nach frischer Installation von SuSE 8.0 inklusive SuSE-Kernel einfach mal Folgendes versucht: /usr/src/linux # make cloneconfig /usr/src/linux # make menuconfig [ein paar _Kleinigkeiten_ verändert, insbesondere Optimierung auf "Athlon" eingestellt] /usr/src/linux # vi /etc/lilo.conf [nichts wirklich geändert] /usr/src/linux # make dep clean bzImage bzlilo
Es läuft auch, aber ich bekomme vom Kernel die irgenwie erschreckende Ausgabe (ein paar Mal hintereinander): [Kernel oops]
Du hast hoffentlich den alten Kernel noch? Was genau macht den bzlilo? Ich mache das immer mit der Hand, wichtig ist auch die richtige System.map zu haben. Siehe auch D. Hallers Multikernel-Howto www.dhaller.de/linux/multikernel.html Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
Hi Rene René Matthäi wrote:
auf "Athlon" eingestellt] /usr/src/linux # vi /etc/lilo.conf [nichts wirklich geändert] /usr/src/linux # make dep clean bzImage bzlilo
vielleicht hätetst du ein paar passende module dazu kompilieren sollen, könnte helfen. make modules && make modules_install MfG. Falk
Am Dienstag, 7. Mai 2002 17:51 schrieb Falk Sauer:
vielleicht hätetst du ein paar passende module dazu kompilieren sollen, könnte helfen.
make modules && make modules_install
In der SDB steht aber, dass das Übersetzen von Modulen nicht nötig sei. Und ich habe an den Modul/Fest-im-Kernel-Einstellungen nichts geändert. Vorher hatte ich es nämlich so wie einst probiert: Mal alles konfigurieren, inklusive Modulen. Das ist aber in einem Kernel-Desaster geendet. Da ging nicht mehr so viel... Deswegen jetzt die in der SDB als "sicher"(ere) angepriesene Methode: Vorher Original-Module nochmal drauf, dann alles ohne make modules modules_install. Hat also alles eigentlich seine Richtigkeit. Denn um die SuSE-Module richtig zu kompilieren, muss wohl irgendetwas Mystisches gemacht werden. Siehe Hinweis in der SDB Ré [1] http://sdb.suse.de/de/sdb/html/kernel_safe_compile.html
Hi, On Tuesday, May 07, 2002 at 23:08:05, René Matthäi wrote:
Am Dienstag, 7. Mai 2002 17:51 schrieb Falk Sauer:
vielleicht hätetst du ein paar passende module dazu kompilieren sollen, könnte helfen.
make modules && make modules_install
In der SDB steht aber, dass das Übersetzen von Modulen nicht nötig sei. Und ich habe an den Modul/Fest-im-Kernel-Einstellungen nichts geändert.
Vorher hatte ich es nämlich so wie einst probiert: Mal alles konfigurieren, inklusive Modulen. Das ist aber in einem Kernel-Desaster geendet. Da ging nicht mehr so viel... Deswegen jetzt die in der SDB als "sicher"(ere) angepriesene Methode: Vorher Original-Module nochmal drauf, dann alles ohne make modules modules_install.
Hat also alles eigentlich seine Richtigkeit.
Denn um die SuSE-Module richtig zu kompilieren, muss wohl irgendetwas Mystisches gemacht werden. Siehe Hinweis in der SDB
Ré
Voll erwischt. Der Artikel ist uralt und bedarf dringend
1. Einer SuSE Versionnummer
2. Einer überarbeitung
3. oder einer Löschung.
Vergiss bitte was dadrinne steht. Ich kümmer mich drum. die sdb ist halt
zu groß ;)
Ein aktueller SuSEkernel brauch immer module. Oder du kompilierst was du
brauchst fest in den kernel. Gernelle vorgehensweise für "Einfach mal
Kernel kompilieren" auf neueren SuSE Sytemen,
kernel-source.rpm installieren
cd /usr/src/linux
zcat /proc/config.gz > .config
make menuconfig
exit
make dep
make clean
make bzImage
cp arch/
Hallo Rene, schau Dir einfach mal ein Kernel Compile Howto an, such bei google.de oder lies meine bescheidene Anleitung, die es kostenlos unter www.wolfgarten.com gibt :-) Der Henne hat mit seiner Mail total recht, der Artikel ist wirklich veraltet! Schönen Gruß, Sebastian
Hi, On Tue, 7 May 2002, Henne Vogelsang wrote:
Ein aktueller SuSEkernel brauch immer module. Oder du kompilierst was du brauchst fest in den kernel. Gernelle vorgehensweise für "Einfach mal Kernel kompilieren" auf neueren SuSE Sytemen,
kernel-source.rpm installieren cd /usr/src/linux zcat /proc/config.gz > .config make menuconfig exit make dep make clean make bzImage cp arch/
/boot/bzImage /boot/vmlinuz.neu cp System.map /boot/System.map.neu make modules make modules_install mk_initrd -k vmlinuz.neu -i initrd.neu in /etc/lilo.conf den neuen kernel und die neue initrd eintragen lilo -v reboot Hab ich was vergessen? Ne.
Henne
Habe ich grade mal eben ausprobiert und dabei alle Einstellungen so gelassen bis auf die Änderung Processor Type -> Athlon. Hat auch alles gut geklappt, bis auf folgende Fehlermeldung beim Reboot: Starting sound driver: ens1371modprobe: Can't locate module snd-ens1371 Was habe ich vergessen? Der Standkardkernel von SuSE (verwende 8.0) bootete ohne Fehlermeldungen. Guido
Hallo Guido, unter Sound findest Du einen Eintrag "Creative Ensoniq AudioPCI 97 (ES1371)", dieser wird das wohl sein, wenn man mal den Namen und die Bezeichnung (ES1371) vergleicht. Hast Du das Ding eventuell fest im Kernel drinne, dann kannste das Laden des Modules übergeben, weil der Kernel das ja dann schon hat... Gruß Sebastian
On Wed, 8 May 2002, Sebastian Wolfgarten wrote:
Hallo Guido,
unter Sound findest Du einen Eintrag "Creative Ensoniq AudioPCI 97 (ES1371)", dieser wird das wohl sein, wenn man mal den Namen und die Bezeichnung (ES1371) vergleicht.
Hast Du das Ding eventuell fest im Kernel drinne, dann kannste das Laden des Modules übergeben, weil der Kernel das ja dann schon hat...
Gruß Sebastian
Hallo Sebastian, ne, habe das Ding nicht fest im Kernel drinne, sondern als Modul. Die Soundkarte funktioniert auch mit dem neu kompilierten Kernel gar nicht. Wenn ich sie mit YAST neu konfigurieren will, kommt die Meldung: "Das Kernelmodul snd-ens 1371 für die Soundunterstützung konnte nicht geladen werden. Ein möglicher Grund dafür können falsche Modulparameter sein, sowie ungültige IO- oder IRQ-Parameter." Außerdem kommt in /var/log/messages die Meldung: "modprobe: modprobe: Can't locate module char-major-116". Was fehlt mir denn da? Gruß, Guido
Hallo Guido, was sagt denn ein "dmesg", nachdem Du das System gebootet hast? Kommt da irgendwas von einer derartigen Soundkarte? Was sagt "lspci", welche Soundkarte hast Du wirklich? Gruß Sebastian www.wolfgarten.com
On Wed, 8 May 2002, Sebastian Wolfgarten wrote:
Hallo Guido,
was sagt denn ein "dmesg", nachdem Du das System gebootet hast? Kommt da irgendwas von einer derartigen Soundkarte? Was sagt "lspci", welche Soundkarte hast Du wirklich?
Gruß Sebastian www.wolfgarten.com
Hallo Sebastian, meine Soundkarte: Creative Sound Blaster AudioPCI128 dmesg meldet: frosch:~ # dmesg Linux version 2.4.18-4GB (root@frosch) (gcc version 2.95.3 20010315 (SuSE)) #14 Tue May 7 23:47:25 CEST 2002 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS) BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data) BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved) Scanning bios EBDA for MXT signature 127MB HIGHMEM available. On node 0 totalpages: 262128 zone(0): 4096 pages. zone(1): 225280 pages. zone(2): 32752 pages. Building zonelist for node : 0 Kernel command line: auto BOOT_IMAGE=linux ro root=303 disableapic Initializing CPU#0 Detected 1000.072 MHz processor. Console: colour VGA+ 80x25 Calibrating delay loop... 1992.29 BogoMIPS Memory: 1028816k/1048512k available (1432k kernel code, 19308k reserved, 412k da ta, 120k init, 131008k highmem) Dentry-cache hash table entries: 131072 (order: 8, 1048576 bytes) Inode-cache hash table entries: 65536 (order: 7, 524288 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 65536 (order: 6, 262144 bytes) Page-cache hash table entries: 262144 (order: 8, 1048576 bytes) CPU: Before vendor init, caps: 0183f9ff c1c7f9ff 00000000, vendor = 2 CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 256K (64 bytes/line) CPU: After vendor init, caps: 0183f9ff c1c7f9ff 00000000 00000000 Intel machine check architecture supported. Intel machine check reporting enabled on CPU#0. CPU: After generic, caps: 0183f9ff c1c7f9ff 00000000 00000000 CPU: Common caps: 0183f9ff c1c7f9ff 00000000 00000000 CPU: AMD Athlon(tm) Processor stepping 02 Enabling fast FPU save and restore... done. Checking 'hlt' instruction... OK. POSIX conformance testing by UNIFIX mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au) mtrr: detected mtrr type: Intel PCI: PCI BIOS revision 2.10 entry at 0xfb430, last bus=1 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Using IRQ router VIA [1106/0686] at 00:07.0 Applying VIA southbridge workaround. Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16) mxt_scan_bios: enter Starting kswapd allocated 32 pages and 32 bhs reserved for the highmem bounces kinoded started VFS: Diskquotas version dquot_6.5.0 initialized ACPI: APM is already active, exiting pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI SERIAL_ACPI enabled ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A Real Time Clock Driver v1.10e block: 128 slots per queue, batch=32 RAMDISK driver initialized: 16 RAM disks of 64000K size 1024 blocksize Uniform Multi-Platform E-IDE driver Revision: 6.31 ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: IDE controller on PCI bus 00 dev 39 VP_IDE: chipset revision 6 VP_IDE: not 100% native mode: will probe irqs later ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx VP_IDE: VIA vt82c686b (rev 40) IDE UDMA100 controller on pci00:07.1 ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:pio hda: IBM-DTLA-307030, ATA DISK drive hdc: Pioneer DVD-ROM ATAPIModel DVD-106S 010, ATAPI CD/DVD-ROM drive ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 blk: queue c032cd24, I/O limit 4095Mb (mask 0xffffffff) hda: safely enabled flush hda: 60036480 sectors (30739 MB) w/1916KiB Cache, CHS=3737/255/63, UDMA(100) hdc: no flushcache support hdc: ATAPI 40X DVD-ROM drive, 256kB Cache Uniform CD-ROM driver Revision: 3.12 ide-floppy driver 0.99 Partition check: hda: hda1 hda2 hda3 hda4 Floppy drive(s): fd0 is 1.44M FDC 0 is a post-1991 82077 loop: loaded (max 16 devices) Cronyx Ltd, Synchronous PPP and CISCO HDLC (c) 1994 Linux port (c) 1998 Building Number Three Ltd & Jan "Yenya" Kasprzak. ide-floppy driver 0.99 SCSI subsystem driver Revision: 1.00 request_module[scsi_hostadapter]: Root fs not mounted request_module[scsi_hostadapter]: Root fs not mounted md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 8192 buckets, 64Kbytes TCP: Hash tables configured (established 262144 bind 65536) Linux IP multicast router 0.06 plus PIM-SM NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. RAMDISK: Compressed image found at block 0 Uncompressing............done. Freeing initrd memory: 535k freed VFS: Mounted root (ext2 filesystem). reiserfs: checking transaction log (device 03:03) ... Using r5 hash to sort names ReiserFS version 3.6.25 VFS: Mounted root (reiserfs filesystem) readonly. change_root: old root has d_count=2 Trying to unmount old root ... okay Freeing unused kernel memory: 120k freed VFS: Disk change detected on device ide1(22,0) LVM version 1.0.3(19/02/2002) module loaded Adding Swap: 1068312k swap-space (priority 42) reiserfs: checking transaction log (device 3a:04) ... Using r5 hash to sort names ReiserFS version 3.6.25 reiserfs: checking transaction log (device 3a:00) ... Using r5 hash to sort names ReiserFS version 3.6.25 reiserfs: checking transaction log (device 3a:03) ... Using r5 hash to sort names ReiserFS version 3.6.25 reiserfs: checking transaction log (device 3a:01) ... Using r5 hash to sort names ReiserFS version 3.6.25 reiserfs: checking transaction log (device 3a:02) ... Using r5 hash to sort names ReiserFS version 3.6.25 ip_tables: (C) 2000-2002 Netfilter core team ip_conntrack (8191 buckets, 65528 max) 8139too Fast Ethernet driver 0.9.24 PCI: Found IRQ 11 for device 00:0b.0 PCI: Sharing IRQ 11 with 00:07.2 PCI: Sharing IRQ 11 with 00:07.3 eth0: RealTek RTL8139 Fast Ethernet at 0xf8cf0000, 00:30:84:27:e4:16, IRQ 11 eth0: Identified 8139 chip type 'RTL-8139C' eth0: Setting half-duplex based on auto-negotiated partner ability 0000. CSLIP: code copyright 1989 Regents of the University of California PPP generic driver version 2.4.1 usb.c: registered new driver usbdevfs usb.c: registered new driver hub usb-uhci.c: $Revision: 1.275 $ time 00:13:28 May 8 2002 usb-uhci.c: High bandwidth mode enabled PCI: Found IRQ 11 for device 00:07.2 PCI: Sharing IRQ 11 with 00:07.3 PCI: Sharing IRQ 11 with 00:0b.0 usb-uhci.c: USB UHCI at I/O 0xd400, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 1 hub.c: 2 ports detected PCI: Found IRQ 11 for device 00:07.3 PCI: Sharing IRQ 11 with 00:07.2 PCI: Sharing IRQ 11 with 00:0b.0 usb-uhci.c: USB UHCI at I/O 0xd800, IRQ 11 usb-uhci.c: Detected 2 ports usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 2 ports detected usb-uhci.c: v1.275:USB Universal Host Controller Interface driver isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found IPv6 v0.8 for NET4.0 IPv6 over IPv4 tunneling driver parport0: PC-style at 0x378 [PCSPP,EPP] parport0: Printer, Hewlett-Packard HP LaserJet 1200 parport_pc: Via 686A parallel port: io=0x378 lp0: using parport0 (polling). lp0: compatibility mode lp0: compatibility mode lp0: compatibility mode Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 816M agpgart: Detected Via Apollo Pro KT133 chipset agpgart: AGP aperture is 64M @ 0xd0000000 [drm] AGP 0.99 on VIA Apollo KT133 @ 0xd0000000 64MB [drm] Initialized r128 2.2.0 20010917 on minor 0 eth0: no IPv6 routers present lspci meldet: frosch:~ # lspci 00:00.0 Host bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133] (rev 03) 00:01.0 PCI bridge: VIA Technologies, Inc. VT8363/8365 [KT133/KM133 AGP] 00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40) 00:07.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06) 00:07.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) 00:07.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 16) 00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40) 00:09.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02) 00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10) 01:00.0 VGA compatible controller: ATI Technologies Inc Rage 128 PF/PRO AGP 4x TMDS Bin allerdings noch nicht dazugekommen, Deinen Tip von heute nacht mit dem Neuübersetzen des alsa-Source-rpm-Paketes auszuprobieren. Vielleicht klappt es ja dann. Danke für Deine Hilfe. Guido
Hi, On Wed, 8 May 2002, Guido Laubender wrote:
On Wed, 8 May 2002, Sebastian Wolfgarten wrote:
Hallo Guido,
was sagt denn ein "dmesg", nachdem Du das System gebootet hast? Kommt da irgendwas von einer derartigen Soundkarte? Was sagt "lspci", welche Soundkarte hast Du wirklich?
[dmesg]
meine Soundkarte: Creative Sound Blaster AudioPCI128 [...] frosch:~ # lspci [...] 00:09.0 Multimedia audio controller: Ensoniq 5880 AudioPCI (rev 02)
Falls Du alsa verwenden willst, solltest Du in der Kernelconfig unter Sound *nur* Sound card support als Modul setzen. Nach dem Uebersetzen und Installieren von Kernel und Modulen wechselst Du ins Verzeichnis /usr/src/kernel-modules/alsa-driver-0.5.12a. ( Die alsa sourcen müssen natürlich installiert sein) Nach: # ./configure --with-sequencer=yes --with-oss=yes --with-cards=ens1371 und '# make install' musst Du nur noch die Soundkarte konfigurieren z.B mit yast2. -ron
Hi, On Wednesday, May 08, 2002 at 00:47:12, Guido Laubender wrote:
On Tue, 7 May 2002, Henne Vogelsang wrote:
Ein aktueller SuSEkernel brauch immer module. Oder du kompilierst was du brauchst fest in den kernel. Gernelle vorgehensweise für "Einfach mal Kernel kompilieren" auf neueren SuSE Sytemen,
kernel-source.rpm installieren cd /usr/src/linux zcat /proc/config.gz > .config make menuconfig exit make dep make clean make bzImage cp arch/
/boot/bzImage /boot/vmlinuz.neu cp System.map /boot/System.map.neu make modules make modules_install mk_initrd -k vmlinuz.neu -i initrd.neu in /etc/lilo.conf den neuen kernel und die neue initrd eintragen lilo -v reboot Hab ich was vergessen? Ne.
Habe ich grade mal eben ausprobiert und dabei alle Einstellungen so gelassen bis auf die Änderung Processor Type -> Athlon. Hat auch alles gut geklappt, bis auf folgende Fehlermeldung beim Reboot: Starting sound driver: ens1371modprobe: Can't locate module snd-ens1371 Was habe ich vergessen? Der Standkardkernel von SuSE (verwende 8.0) bootete ohne Fehlermeldungen.
Ok. Die beschreibung war nur für den kernel. Du solltest noch alsa pcmcia (falls nötig) nvidia treiber (falls nötig) neu kompilieren. einfach auf das entprechende src.rpm ein rpm --rebuild machen. Dann findest du unter /usr/src/packages/RPMS/<arch>/ die entsprechenden rpms. Henne -- Hendrik Vogelsang aka Henne mailto: hvogel<at>hennevogel.de I am Jack's smirking revenge. # random sigs made with fortune
Am Mittwoch, 8. Mai 2002 01:15 schrieb Henne Vogelsang:
On Wednesday, May 08, 2002 at 00:47:12, Guido Laubender wrote:
On Tue, 7 May 2002, Henne Vogelsang wrote:
kernel-source.rpm installieren cd /usr/src/linux zcat /proc/config.gz > .config
make cloneconfig sollte das auch tun.
make menuconfig exit make dep make clean make bzImage cp arch/
/boot/bzImage /boot/vmlinuz.neu cp System.map /boot/System.map.neu
Genau das, inklusive lilo-Aufruf, tut make bzlilo
make modules make modules_install mk_initrd -k vmlinuz.neu -i initrd.neu
_Das_ ist neu: weiß jemand, ob und warum man das braucht, und zwar auch, wenn man make bzlilo verwendet?
in /etc/lilo.conf den neuen kernel und die neue initrd eintragen lilo -v reboot
Ok. Die beschreibung war nur für den kernel. Du solltest noch
alsa pcmcia (falls nötig) nvidia treiber (falls nötig)
neu kompilieren.
einfach auf das entprechende src.rpm ein rpm --rebuild machen. Dann findest du unter /usr/src/packages/RPMS/<arch>/ die entsprechenden rpms.
Sind alsa, pcmcia und nvidia wirklich die einzigen Teile, die getrennt übersetzt werden müssen? Früher gab's doch noch z. B. OSS-Module, oder? Danke, dass Du die Befehle hier mal zusammengefasst hast! So kann man in der Liste nicht _nur_ auf externe Quellen verweisen! Was ändert sich denn, wenn man einen neuen Kernel verwenden will? Man muss sich dann doch nur die neueren externen Sourcen für alsa etc. holen, oder? Ré
Am Mit, 08 Mai 2002 schrieb René Matthäi:
Am Mittwoch, 8. Mai 2002 01:15 schrieb Henne Vogelsang:
On Wednesday, May 08, 2002 at 00:47:12, Guido Laubender wrote:
On Tue, 7 May 2002, Henne Vogelsang wrote:
kernel-source.rpm installieren cd /usr/src/linux zcat /proc/config.gz > .config
make cloneconfig sollte das auch tun.
Beide Methoden funktionieren nur, wenn der laufende Kernel den /proc/config.gz Patch enthält (die SuSE-Kernel tun das, bei vanilla-Kerneln muß man das selbst einpatchen) make cloneconfig erfordert zuätzlich, daß der neue Kernel, den Du übersetzen willst, ebenfalls den Patch enthält.
make menuconfig exit make dep make clean make bzImage cp arch/
/boot/bzImage /boot/vmlinuz.neu cp System.map /boot/System.map.neu Genau das, inklusive lilo-Aufruf, tut make bzlilo
Ich behalte bei sowas lieber die Kontrolle. Außerdem ist es vor allem dann, wenn man an der Konfiguration des Kernels was geändert hat, z.B. etwas als Modul kompiliert, was vorher fest eingebunden war oder umgekehrt, eminent wichtig, auch eine zum Kernel passende modules.conf zu haben. Außerdem ist mit das Namensschema mit vmlinuz und vmlinuz.neu zu starr, ich habe meist mehr als zwei bootfähige und im Prinzip lauffähige Kernel. Deshalb mal wieder der Hinweis auf D.Hallers Multikernel-Howto www.dhaller.de/linux/multikernel.html
make modules make modules_install mk_initrd -k vmlinuz.neu -i initrd.neu
_Das_ ist neu: weiß jemand, ob und warum man das braucht, und zwar auch, wenn man make bzlilo verwendet?
Weiß nicht, was bzlilo macht, aber wenn Du mit einer InitRD arbeitest, mußt Du es machen. SuSE und andere Distributoren machen das aus verständlichen Gründen, für einen selbst kompilierten und auf die Maschine angepaßten Kernel halte ich eine InitRD gelinde gesagt für Schwachsinn, alles was zum Booten benötigt wird, also Filesystem der Rootpartition, SCSI-Controller etc.. gehört fest in den Kernel, warum sollte man das als Modul kompilieren.
in /etc/lilo.conf den neuen kernel und die neue initrd eintragen lilo -v reboot Ok. Die beschreibung war nur für den kernel. Du solltest noch
alsa pcmcia (falls nötig)
ACK.
nvidia treiber (falls nötig)
Wenn man sich das wirklich antun will!
neu kompilieren.
einfach auf das entprechende src.rpm ein rpm --rebuild machen. Dann findest du unter /usr/src/packages/RPMS/<arch>/ die entsprechenden rpms.
Die RPMs enthalten doch dann wohl nur Kernelmodule, ja? Warum sollte ich die per RPM installieren, ich habe die Quellen der externen Treiber auf der Platte, wenn ich einen neuen Kernel compiliert habe, werden die auch für diesen Kernel kompiliert, mit make install installiert, depmod -A und fertig. Was passiert denn bei dem RPM Ansatz, wenn ich die installiere? Werden dann die Module für den alten Kernel gelöscht, oder wie regelt RPM das?
Sind alsa, pcmcia und nvidia wirklich die einzigen Teile, die getrennt übersetzt werden müssen? Früher gab's doch noch z. B. OSS-Module, oder?
OSS ist schon lange im Kernel (zumindest das freie OSS, das kommerzielle hat sich wohl mit ALSA überlebt). ALSA ist übrigens in den aktuellen Entwicklerkernelen (die aber wirklich für Entwickler gedacht sind, vorm Ausprobieren wird gewarnt) auch im Kernel-Tree enthalten. VMWare hat z.B. auch Module die extern kompiliert werden müssen, theoretisch gibt es noch viele andere, eigentlich immer dann, wenn Treiber bereit gestellt werden, die nicht direkt zum Kernel gehören.
Was ändert sich denn, wenn man einen neuen Kernel verwenden will? Man muss sich dann doch nur die neueren externen Sourcen für alsa etc. holen, oder?
Ein neuer Kernel bedeutet jedoch nicht zwangsläufig, daß man auch ALSA updaten muß. Gruß Christoph -- Christoph Maurer - 52072 Aachen - Tux#194235 mailto:christoph-maurer@gmx.de - http://www.christophmaurer.de Auf der Homepage u.a.: Installation von SuSE 7.0 auf Notebook Acer Travelmate 508 T, Elektrotechnik an der RWTH Aachen
Hallo,
From: René Matthäi [mailto:matthaei@gmx.de]
Am Mittwoch, 8. Mai 2002 01:15 schrieb Henne Vogelsang:
On Wednesday, May 08, 2002 at 00:47:12, Guido Laubender wrote:
On Tue, 7 May 2002, Henne Vogelsang wrote:
kernel-source.rpm installieren cd /usr/src/linux zcat /proc/config.gz > .config
make cloneconfig sollte das auch tun.
make menuconfig exit make dep make clean make bzImage cp arch/
/boot/bzImage /boot/vmlinuz.neu cp System.map /boot/System.map.neu Genau das, inklusive lilo-Aufruf, tut make bzlilo
überschreibt make bzlilo nicht den Standardkernel (vmlinuz)? Der Vorteil hier ist, daß Du den alten Kernel immernoch zur Verfügung hast.
make modules make modules_install mk_initrd -k vmlinuz.neu -i initrd.neu
_Das_ ist neu: weiß jemand, ob und warum man das braucht, und zwar auch, wenn man make bzlilo verwendet?
Im Standardkernel sind viele Sachen als Modul eingebunden (z.B. SCSI-Treiber, aber z.B. auch ext3 und reiserfs). Wenn Du irgendwas davon schon beim booten brauchst dann muß dieser Treiber erst in dir initrd geladen werden, oder alternativ fest im Kernel integriert sein.
in /etc/lilo.conf den neuen kernel und die neue initrd eintragen lilo -v reboot
Ok. Die beschreibung war nur für den kernel. Du solltest noch
alsa pcmcia (falls nötig) nvidia treiber (falls nötig)
neu kompilieren.
einfach auf das entprechende src.rpm ein rpm --rebuild machen. Dann findest du unter /usr/src/packages/RPMS/<arch>/ die entsprechenden rpms.
Sind alsa, pcmcia und nvidia wirklich die einzigen Teile, die getrennt übersetzt werden müssen? Früher gab's doch noch z. B. OSS-Module, oder?
Kann hier nur für mich selber sprechen: Ich brauche nur nvidia und alsa. OSS brauchst Du nur zu konfigurieren falls Du es nutzt.
Was ändert sich denn, wenn man einen neuen Kernel verwenden will? Man muss sich dann doch nur die neueren externen Sourcen für alsa etc. holen, oder?
Du "mußt" normalerweise kein neueres alsa oder nvidia-modul holen. Das ist ja das schöne unter Linux, was läuft mußt Du nicht unbedingt erneuern/verschlimmbessern. Gruß Christian
On Wed, 8 May 2002, Henne Vogelsang wrote:
Hi,
On Wednesday, May 08, 2002 at 00:47:12, Guido Laubender wrote:
On Tue, 7 May 2002, Henne Vogelsang wrote:
Ein aktueller SuSEkernel brauch immer module. Oder du kompilierst was du brauchst fest in den kernel. Gernelle vorgehensweise für "Einfach mal Kernel kompilieren" auf neueren SuSE Sytemen,
kernel-source.rpm installieren cd /usr/src/linux zcat /proc/config.gz > .config make menuconfig exit make dep make clean make bzImage cp arch/
/boot/bzImage /boot/vmlinuz.neu cp System.map /boot/System.map.neu make modules make modules_install mk_initrd -k vmlinuz.neu -i initrd.neu in /etc/lilo.conf den neuen kernel und die neue initrd eintragen lilo -v reboot Hab ich was vergessen? Ne.
Habe ich grade mal eben ausprobiert und dabei alle Einstellungen so gelassen bis auf die Änderung Processor Type -> Athlon. Hat auch alles gut geklappt, bis auf folgende Fehlermeldung beim Reboot: Starting sound driver: ens1371modprobe: Can't locate module snd-ens1371 Was habe ich vergessen? Der Standkardkernel von SuSE (verwende 8.0) bootete ohne Fehlermeldungen.
Ok. Die beschreibung war nur für den kernel. Du solltest noch
alsa pcmcia (falls nötig) nvidia treiber (falls nötig)
neu kompilieren.
einfach auf das entprechende src.rpm ein rpm --rebuild machen. Dann findest du unter /usr/src/packages/RPMS/<arch>/ die entsprechenden rpms.
Henne
Habe nun rpm --rebuild alsa-0.9.0_cvs20020320-12.src.rpm ausgeführt. Das scheitert aber: ================================================================ l10nflist.c:66: warning: static declaration for `stpcpy' follows non-static l10nflist.c:397: parse error before `__extension__' l10nflist.c:400: parse error before `{' make[2]: *** [l10nflist.o] Error 1 make[2]: Leaving directory `/usr/src/packages/BUILD/alsa/gamix-1.99.p11/intl' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/src/packages/BUILD/alsa/gamix-1.99.p11' make: *** [all] Error 2 Bad exit status from /var/tmp/rpm-tmp.83357 (%build) ================================================================ Hier der Auszug aus l10nflist.c (Zeilen 395-405) #if !_LIBC && !HAVE_STPCPY static char * stpcpy (dest, src) char *dest; const char *src; { while ((*dest++ = *src++) != '\0') /* Do nothing. */ ; return dest - 1; } #endif Was ist daran falsch? Guido
Hi Rene, Am Dienstag, 7. Mai 2002 17:41 schrieb René Matthäi:
SuSE-Kernel einfach mal Folgendes versucht: /usr/src/linux # make cloneconfig /usr/src/linux # make menuconfig [ein paar _Kleinigkeiten_ verändert, insbesondere Optimierung auf "Athlon" eingestellt] /usr/src/linux # vi /etc/lilo.conf [nichts wirklich geändert] /usr/src/linux # make dep clean bzImage bzlilo
Hast Du auch die Module neu ersetzt? make modules make modules_install Ich hatte ähnliche Probleme bei einem Kernel Modul, das ich geschrieben habe... In /usr/include/linux/*.h müssen nicht unbedingt zu den SuSE Kernel gehören. ( Sollte ja eigentlich ein link auf die Sourcen des Kernel sein!)
Es läuft auch, aber ich bekomme vom Kernel die irgenwie erschreckende Ausgabe (ein paar Mal hintereinander):
Das System läuft aber bis zum login?
00000008 0000023d 34202020 3030203a 30303030 May 7 15:50:44 orineo kernel: Call Trace: [isa-pnp:__insmod_isa-pnp_O/lib/modules/2.4.18-4GB/kernel/drivers /pn+-8628621/96] [isa-pnp:__insm May 7 15:50:44 orineo kernel: [divide_error+11/16]
Irgendetwas ist auch mit Deinem Modul isa-pnp, probier erstmal die Module neu zu kompilieren. ( Hängt ganz stark von make dep ab, IMHO _müssen_ die Module neu kompiliert werden) Ciao Andre
participants (9)
-
Andre Heine
-
Christian Herzyk
-
Christoph Maurer
-
Falk Sauer
-
Guido Laubender
-
Henne Vogelsang
-
René Matthäi
-
Rolf Naef
-
Sebastian Wolfgarten