[Linux Kernel] Modules, of toch niet?

Pagina: 1
Acties:

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Ik zat me af te vragen wat nou de voor en nadelen zijn van dingen als module te compileren, of ze toch gewoon in je kernel bakken.
Natuurlijk zijn modules flexibeler en kan je ze gewoon in je kernel stoppen zodra je ze nodig hebt en dus je kernel kleiner houden.
Maar wat is het voordeel van het meebakken in je kernel? Is het sneller? neemt het minder geheugen in? Of is het gewoon alleen maar handig omdat je het dan niet apart als module hoeft te laden?

Ik had eigenlijk wel verwacht deze vraag met de search te kunnen vinden, maar dat was me niet gelukt... daarom stel ik hem hier toch maar :)

Ik zou dus graag eens wat voor en nadelen willen horen over kernel modules.

Brand maar los! >:)

Please do not contact me telepathically.


  • Servowire
  • Registratie: September 2000
  • Laatst online: 18:46

Servowire

prutser:~#

modules zijn handig als je aan het pielen bent met hardware

en als je weinig geheugen hebt (en sommige drivers niet altijd gebruikt vfat e.d.)

Zelf heb ik maar een paar modules (NIC,sound,filesystems)

beetje nutteloos om al die filesystemsupport allemaal mee te bakken als 80% haast nooit gebruikt :)

met papier mache kun je alles maken!!


  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Ja ok... dingen die je niet gebruikt ga je natuurlijk niet meebakken... maar dingen die je wel gebruikt, daar vraag ik het me dus over af.

Dus: wil je bijvoorbeeld je netwerkkaart in je kernel bakken, of een module er voor gebruiken... is daar nog een verschil tussen in geheugengebruik/performance... dat is meet zo'n beetje wat ik bedoel :)

[edit: woordje vergeten]

Please do not contact me telepathically.


  • 0siris
  • Registratie: Augustus 2000
  • Laatst online: 17-08 02:11
Op zaterdag 20 oktober 2001 16:54 schreef squee het volgende:
Ja ok... dingen die je niet gebruikt ga je natuurlijk niet meebakken... maar dingen die je wel gebruikt, daar vraag ik het me dus over af.

Dus: wil je bijvoorbeeld je netwerkkaart in je kernel bakken, of een module er voor gebruiken... is daar nog een verschil tussen in geheugengebruik/performance... dat is meet zo'n beetje wat ik bedoel :)

[edit: woordje vergeten]
Nee, geen verschil denk ik. maar als je een kaart vervangt door iets heel anders, en je hebt het niet als module gebakken, maar gewoon in de kernel, gaat-ie proberen dat device op te sporen, dat mislukt dan allemaal, is niet zo fijn. Ik ga meestal voor modules. Zeker bij netwerkkaarten, de meest gangbare allemaal als module installeren. enige ruimte die het dan nog inneemt, is hardeschijfruimte, en dat valt voor een module nogal mee :)

ach...in een volgend leven lach je er om!


  • Servowire
  • Registratie: September 2000
  • Laatst online: 18:46

Servowire

prutser:~#

Ik denk dat meebakken IETS sneller zal zijn, maar het zal echt weinig uitmaken.

met papier mache kun je alles maken!!


  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
Voorbeeldje: voor een barebones bakje dat ingezet wordt als een firewall is het veiliger om voor alle hardware die de kernel moet kunnen aansturen support in die kernel aan te zetten en support voor het laden van modules gewoon helemaal uit te zetten. Dit omdat het ook mogelijk is om met loadable kernel modules hele vieze dingen uit te halen (okee... als dat mogelijk is is de hacker al veel te ver binnen in je syteem, maar goed).

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Het ging me eigenlijk meer om de performance aspecten, en de hoeveelheid gebruikt geheugen... security enzovoorts had ik eigenlijk helemaal niet aan gedacht :)

Please do not contact me telepathically.


  • RG
  • Registratie: Augustus 2000
  • Laatst online: 28-11-2025

RG

Lambda

Op zaterdag 20 oktober 2001 17:03 schreef Servowire het volgende:
Ik denk dat meebakken IETS sneller zal zijn, maar het zal echt weinig uitmaken.
Nee dta maakt helemaal niks uit. Het voordeel van een module is dat je parameters mee kunt geven. Tegenwoordig is dit met fatsoenlijke drivers eigenlijk niet meer nodig. Alleen sommige drivers die nog maar weinig zelf kunnen uitvinden hebben soms parameters nodig. Ik vind modules voor alle insteekkaarten en filesystems het makkelijkst, qua snelheid boeit het toch niet. En owja je kunt in de kernel config aanzetten dat je een kernel kunt recompilen en de oude modules kunt gebruiken, das ookw ele en voordeel als je f iets anders wilt instellen...

[deze advertentieruimte is te koop]


  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 19-08 14:36

odysseus

Debian GNU/Linux Sid

In principe is het enige voordeel van iets statisch in de kernel compileren dat het direct bij het booten werkt. Als je ext2 als module compileert kan je niet booten van een ext2-partitie, dus daarom moet die er statisch in. Voor een netwerkkaart zou dat ook kunnen gelden (netwerkboot). Bovendien zou je denk ik makkelijker een bootdisk kunnen maken, omdat je niet afhankelijk bent van modules die al dan niet op het op te starten systeem staan.
Voordelen van modules zijn het meesturen en zonder reboot veranderen van parameters, de kleinere kernel, de mogelijkheid om meerdere geljke devices met elk een module te gebruiken (denk aan twee netwerkkaarten, die kunnen dan beide dezelfde module laden) en natuurlijk de tijd die het scheelt als je besluit om toch even iets aan je kernelconfig te veranderen: je hoeft dan niet per se ook je basesystem opnieuw te doen als je een module extra wilt of zo.

* odysseus las net dat bestaande modules het niet zullen doen in 2.5/2.6, ze zullen aangepast moeten worden.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 23:45

deadinspace

The what goes where now?

Op zaterdag 20 oktober 2001 22:22 schreef odysseus het volgende:
* odysseus las net dat bestaande modules het niet zullen doen in 2.5/2.6, ze zullen aangepast moeten worden.
Moeten ze gerecompiled worden (if so: niks nieuws) of moet de code aangepast worden vanwege een andere API?

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 16-08 09:43

Kippenijzer

McFallafel, nu met paardevlees

Vooral netwerkkaarten worden afgeraden om in de kernel te bakken, omdat in de kernel meestal moeilijker de Duplex en Speed ervan zijn in te stellen...

Sound is iets waar hij nog wel op crasht als er iets verkeerd gaat bij het laden (niet aanwezig zijn van kaart of bronconflicten) waardoor ook daar de module de keus vaak is...

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 19-08 14:36

odysseus

Debian GNU/Linux Sid

Op zaterdag 20 oktober 2001 22:39 schreef deadinspace het volgende:
Moeten ze gerecompiled worden (if so: niks nieuws) of moet de code aangepast worden vanwege een andere API?
Code moet aangepast worden. Ik ben vergeten waar ik het precies las (denk op lwn.net), maar het ging er om dat variabelen in modules nu nog automatisch geexporteerd worden en dat ze dat in de nieuwe kernel moeten gaan aangeven. De meeste modules hebben die exports helemaal niet nodig en zullen genoeg hebben aan een #define, andere modules zullen wat meer werk vereisen om in 2.5/2.6 te werken.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Maar een stuk code los als module of in de kernel gebakken heeft verder geen invloed op hoeveel geheugen er totaal wordt gebruikt (dus met de module geladen), en er is dus verder geen performance verschil?
Modules zijn dus dan eigenlijk gewoon het handigst... en alleen de dingen die essentieel zijn om te booten kan je dus beter wel in de kernel zetten... (zoals hierboven ext2 support wordt genoemd)

Ok, bedankt voor jullie reacties... mijn conclusie is nu dus eigenlijk dat het geen moer uitmaakt voor de situatie waar ik me dit dus over afvroeg :P >:)

Please do not contact me telepathically.


  • Mx. Alba
  • Registratie: Augustus 2001
  • Laatst online: 22:18

Mx. Alba

hen/hun/die/diens

* Mx. Alba bakt in principe alles in zijn kernel...

Ik ben nu aan het experimenteren met een brander, dus heb ik spul als cdrom, ide-cd, scsi_mod, ide-scsi en sg als modules. Waarschijnlijk ga ik als het eenmaal allemaal werkt gewoon ide-cd er helemaal uit gooien, en scsi_mod, ide-scsi enzo in de kernel bakken.

En netwerkkaarten... Ik had zo'n ISA NE2000 kloon. Die moest wel als module geladen worden, omdat bij dat ding de resources expliciet aangegeven moesten worden.

Het is alleen een echte hetze als het uit Hetzerath komt, anders is het gewoon sprankelende ophef.


  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06-2025
Tsja, het ging bij mij dus om een P90 Laptopje met 8 Mb ram... en wil dus de kernel zo klein mogelijk krijgen, maar toch nog wel genoeg functionaliteit erin hebben... en begon me bij het compileren dus af te vragen of er nou veel verschil was tussen modules of in de kernel zelf bakken... vandaar dat ik dat hier gepost had.

Please do not contact me telepathically.


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 23:35
Je kunt op boot (of met lilo) parameters opgeven voor meegebakken 'modules'

Ik geef bijvoorbeeld mee: Radeon=1280x1024x8@85 voor de radeon Framebuffer
* Ronald is 2.4.x-ac gebruiker ;)

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


Verwijderd

hoe minder je mee bakt hoe sneller je kernel is..dus...alleen het hoognodige mee bakken en de rest die je nodig hebt als module doen!!
Pagina: 1