我想学习linux内核设备驱动程序编程.所以任何人都可以在这里发布好的教程页面或链接.我是linux内核环境的新手.我已经搜索了它,但我不知道如何开始以及阅读哪一个以便于理解基础知识.提前致谢.
我找到devm_kzalloc()并kzalloc()在设备驱动程序programmong.但我不知道何时/何地使用这些功能.任何人都可以请说明这些功能的重要性及其用法.
我使用Bouncy Castle软件包在平台上生成密钥对.
SecureRandom random = new SecureRandom();
ECKeyPairGenerator pGen = new ECKeyPairGenerator();
ECKeyGenerationParameters genParam = new ECKeyGenerationParameters(params,random);
pGen.init(genParam);
AsymmetricCipherKeyPair pair = pGen.generateKeyPair();
Run Code Online (Sandbox Code Playgroud)
这里pair是类型AsymmetricCipherKeyPair.而且,我需要使用这一对在服务器上生成X509V1Certificate.但是,X509Certificate setPublicKey(PublicKey pubkey)只接受类型的对象PublicKey.所以我需要PublicKey从AsymmetricCipherKeyPair服务器检索一个.但是,我得到了ECPublicKeyParameters,这在setPublicKey方法中是不被接受的.
所以,我在这里的要求是得到PublicKey一个AsymmetricCipherKeyPair.
我需要在kernl引导期间调用|初始化|探测的模块/驱动程序序列.
如果有任何闪存命令行选项可用于获取此序列,请告诉我?
当我在Linux中的一个设备驱动程序中浏览一些代码时,我发现该标志PF_MEMALLOC正在线程(进程)中设置。我在头文件中找到了这个标志的定义,它说“分配内存”
#define PF_MEMALLOC 0x00000800 /* Allocating memory */
Run Code Online (Sandbox Code Playgroud)
所以,我的疑问是,当在进程/线程之类的代码中设置这个标志时,它到底有什么用途current->flags |= PF_MEMALLOC;