Linux Driver hw_random

Gast #4564602
Lesenswert?
• ▲
▼
Hallo,

ich möchte gerne meinen eigenen hw_random Treiber für Linux schreiben.

https://github.com/torvalds/linux/blob/master/drivers/char/hw_random

Am liebsten hätte ich das in einem separaten Projekt und nicht im Linux 
Kernel eingefügt.
Hier bin ich mir allerdings unsicher, ob das überhaupt möglich oder 
empfehlenswert ist.

Kurz, ich habe Probleme, die Makefile 100% zu verstehen.
1
obj-$(CONFIG_HW_RANDOM) += rng-core.o
2
rng-core-y := core.o
3
obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.o
4
obj-$(CONFIG_HW_RANDOM_INTEL) += intel-rng.o


Alle Random-Module brauchen wohl rng-core.o, das als obere Schicht 
fungiert.
Bsp intel-rng:
1
err = hwrng_register(&intel_rng);

Nur wie ist das, sind das zwei verschiedene Module (rng-core & 
intel-rng) die erst im Kernel verlinkt werden? Oder wird intel-rng mit 
rng-core zu einem Linux Module verschmolzen?

Könnte ich intel-rng in ein separates Projekt auslagern und dort 
kompilieren?
Etwa so:
1
obj-m += intel-rng.o
2

3
all:
4
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
5
clean:
6
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

Wird das dann noch sauber mit rng-core gelinkt?
#4564682
Lesenswert?
• ▲
▼
olpo schrieb:
> Nur wie ist das, sind das zwei verschiedene Module (rng-core &
> intel-rng) die erst im Kernel verlinkt werden?

Ja. Symbole, die mit EXPORT_SYMBOL(_GPL) exportiert sind, wie auch 
hwrng_(un)register, werden zur Ladezeit verlinkt.

> Könnte ich intel-rng in ein separates Projekt auslagern und dort
> kompilieren?

Ja.
Aber warum willst du das tun? Du solltest dein Modul für deinen RNG 
(welcher ist es überhaupt) in den Upstream-Kernel integrieren.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.