ドライバから直接呼び出すのではなく、外部からmknodを呼び出す必要があるのはなぜですか?

ドライバから直接呼び出すのではなく、外部からmknodを呼び出す必要があるのはなぜですか?

テキストデバイスドライバについて見つけることができるすべての本/記事/チュートリアル/例を読んで、すべてドライバコードから主要なデバイス番号を取得する方法について説明し、すべて呼び出して実際のデバイスノードを作成することを提案しましたalloc_chrdev_region()mknod外部ドライバコードを手動またはスクリプトで。推薦者の一人は私の運転者がマスター装置番号を印刷したいと思った。他の人はキーを見つけるためにawkonを使用したいと思います。/proc/devicesこの関数は言及されていますが、mknod()ユーザーエリアコードで使用するためのものです。

私のドライバーを自給自足する方法がない理由を理解していないので、何か抜けたのは明らかです。つまり、これを行うと、他の作業をしなくても作成されますmodprobe my_driver/dev/my_driver

ベストアンサー1

Linuxでは、device_createとclass_createコマンドのペアがこれを行います。確認する https://stackoverflow.com/questions/5970595/create-a-device-node-in-code

おすすめ記事