99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

內(nèi)核模塊知識(shí):多個(gè)源文件編譯生成一個(gè)內(nèi)核模塊

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-26 16:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

多個(gè)源文件編譯生成一個(gè)內(nèi)核模塊

例如,將hello.c和world.c兩個(gè)c文件編譯生成一個(gè)叫hello_world.o的目標(biāo)文件,則在Makefile中添加以下兩句:

obj-m:=hello_world.o

hello_world-objs=hello.cworld.c

內(nèi)核污染

insmod ko模塊時(shí),可能出現(xiàn)如下提示:

loadingout-of-tree

module

taintskernel

幾個(gè)可能原因:

  • 模塊沒有聲明GPL協(xié)議
  • 當(dāng)前linux內(nèi)核版本和編譯模塊使用的內(nèi)核版本不一致
  • 使用內(nèi)核源代碼未包含的樹外模塊

printk和printf

在內(nèi)核中的打印函數(shù)是printk,printkprintf的行為非常相似,但是通常printk不支持浮點(diǎn)數(shù),例如要打印一個(gè)浮點(diǎn)變量,在編譯時(shí)通常會(huì)出現(xiàn)如下警告,并且模塊也不會(huì)加載成功:

WARNING:

"__extendsfdf2"

[/home/ubuntu/driver/user.ko]undefined!

WARNING:

"__truncdfsf2"

[/home/ubuntu/driver/user.ko]undefined!

WARNING:

"__divdf32"

[/home/ubuntu/driver/user.ko]undefined!

WARNING:

"__floatsidf"

[/home/ubuntu/driver/user.ko]undefined!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2788

    瀏覽量

    50339
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1416

    瀏覽量

    41411
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11509

    瀏覽量

    213709
  • 源文件
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    4785
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    linux 了解內(nèi)核模塊的原理 《Rice linux 學(xué)習(xí)開發(fā)》

    內(nèi)核模塊種沒有經(jīng)過鏈接,不能獨(dú)立運(yùn)行的目標(biāo)文件,是在內(nèi)核空間中運(yùn)行的程序。
    的頭像 發(fā)表于 07-16 10:08 ?4929次閱讀
    linux 了解<b class='flag-5'>內(nèi)核模塊</b>的原理 《Rice linux 學(xué)習(xí)開發(fā)》

    Linux 內(nèi)核模塊工作原理及內(nèi)核模塊編譯案例

    個(gè)內(nèi)核模塊至少包含兩個(gè)函數(shù),模塊被加載時(shí)執(zhí)行的初始化函數(shù)init_module()和模塊被卸載
    發(fā)表于 09-23 09:39 ?2755次閱讀
    Linux <b class='flag-5'>內(nèi)核模塊</b>工作原理及<b class='flag-5'>內(nèi)核模塊</b><b class='flag-5'>編譯</b>案例

    讓ChatGPT寫個(gè)內(nèi)核模塊

    筆者最近看到這樣篇文章 ,原作者讓 ChatGPT 寫個(gè)內(nèi)核模塊,要求實(shí)現(xiàn)的功能是:每 5 秒向控制臺(tái)打印句 "Hello worl
    發(fā)表于 08-17 09:30 ?627次閱讀

    linux內(nèi)核配置過程中的"編譯好的內(nèi)核模塊"是哪個(gè)

    在linux內(nèi)核配置的時(shí)候,將內(nèi)核編譯,內(nèi)核模塊編譯,安裝內(nèi)核模塊以后,有
    發(fā)表于 04-09 10:22

    高效學(xué)習(xí)Linux內(nèi)核——內(nèi)核模塊編譯

    ,又要重新編譯,非常麻煩,因此linux提供了模塊(Modele)的機(jī)制??梢园?b class='flag-5'>內(nèi)核比喻成個(gè)很長(zhǎng)的火車,每個(gè)車廂就是
    發(fā)表于 09-24 09:11

    在Linux 2.6內(nèi)核編譯可以加載的內(nèi)核模塊解析

    在舊的版本下(如linux 2.4)linux內(nèi)核模塊編譯只需要有內(nèi)核的頭文件就行了,就可以通過和編譯其他程序
    發(fā)表于 11-07 11:45 ?0次下載

    內(nèi)核模塊的原理以及其模塊編寫

    內(nèi)核模塊是具有獨(dú)立功能的程序。它可以被單獨(dú)編譯,但是不能單獨(dú)運(yùn)行,它的運(yùn)行必須被鏈接到內(nèi)核作為內(nèi)核一部分在內(nèi)核空間中運(yùn)行。
    的頭像 發(fā)表于 01-02 11:11 ?5054次閱讀
    <b class='flag-5'>內(nèi)核模塊</b>的原理以及其<b class='flag-5'>模塊</b>編寫

    什么是內(nèi)核模塊?如何編寫個(gè)簡(jiǎn)單的模塊?

    內(nèi)核模塊是Linux內(nèi)核向外部提供的個(gè)插口,其全稱為動(dòng)態(tài)可加載內(nèi)核模塊(Loadable Kernel Module,LKM),我們簡(jiǎn)稱為
    發(fā)表于 08-24 17:15 ?20次下載

    什么是 Linux 內(nèi)核模塊?

    lsmod 命令能夠告訴你當(dāng)前系統(tǒng)上加載了哪些內(nèi)核模塊,以及關(guān)于使用它們的些有趣的細(xì)節(jié)。
    的頭像 發(fā)表于 08-09 17:01 ?3526次閱讀

    如何在Petalinux創(chuàng)建Linux內(nèi)核模塊?

    --enable”,能創(chuàng)建Linux內(nèi)核模塊,包括c源代碼文件,Makefile,Yocto的bb文件。相關(guān)文件放在目錄“ project-spec / meta-user / re
    的頭像 發(fā)表于 03-02 11:10 ?4730次閱讀

    Asterisk內(nèi)核模塊介紹

    主要闡述Asterisk內(nèi)核模塊的基礎(chǔ)知識(shí)
    發(fā)表于 03-17 13:47 ?7次下載

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試(嵌入式開發(fā)和硬件開發(fā))-嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試? ? ? ? ? ? ? ? ?
    發(fā)表于 07-30 13:55 ?10次下載
    嵌入式LINUX系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核模塊</b>調(diào)試

    什么是內(nèi)核模塊簽名?內(nèi)核如何開啟模塊簽名

    驅(qū)動(dòng)可以直接編譯進(jìn)內(nèi)核鏡像,也可以單獨(dú)編譯成ko文件(內(nèi)核模塊),然后再進(jìn)行加載。內(nèi)核從3.7后
    發(fā)表于 08-08 16:14 ?1436次閱讀

    Linux內(nèi)核模塊參數(shù)傳遞與sysfs文件系統(tǒng)

    函數(shù)傳參的內(nèi)核傳參機(jī)制,編寫內(nèi)核程序時(shí)只要實(shí)現(xiàn)傳參接口,用戶在加載內(nèi)核模塊時(shí)即可傳入指定參數(shù),使得內(nèi)核模塊更加靈活。
    發(fā)表于 06-07 16:23 ?2495次閱讀

    深入分析Linux kernel安全特性: 內(nèi)核模塊簽名

    顧名思義,在開啟該功能之后,內(nèi)核在加載內(nèi)核模塊時(shí),會(huì)對(duì)內(nèi)核模塊的簽名進(jìn)行檢查。
    的頭像 發(fā)表于 10-18 12:32 ?6649次閱讀