zoukankan      html  css  js  c++  java
  • Linux modules install

    安装模块的时候出现错误:modprobe: chdir(3.0.35-g6774ed9-dirty): No such file or directory.

    内核模块没有安装正确。本文记录解决方法。

    参考链接

    http://linfengdu.blog.163.com/blog/static/1177107320132710370696/

    问题描述

    安装模块的时候出现错误。

    root@freescale $ modprobe g_mass_storage.ko
    modprobe: chdir(3.0.35-g6774ed9-dirty): No such file or directory
    

    查看内核版本uname -r

    root@freescale $ uname -r
    3.0.35-g6774ed9-dirty
    

    查看/lib/modules目录的模块安装位置:

    root@freescale /lib/modules$ ls
    3.0.35-2666-gbdde708
    

    对应的目录名称与内核版本不对应。那么这个目录改怎么生成呢?

    模块编译

    在内核源码根目录进行,模块编译,可以选择编译所有模块或者编译指定目录中的模块。

    • 编译所有模块

    make modules

    • 编译指定目录中的模块

    make M=drivers/usb/gadget/ modules

    安装模块

    将模块安装到指定的路径。

    • 默认安装的路径

    make modules_install

    默认安装在/lib/modules/kernel-version/

    kernel-version是所编译的内核的版本

    例如我编译的内核源码版本是3.0.35-2666-gbdde708

    • 指定安装路径

    make modules_install INSTALL_MOD_PATH=~/rootfs

    指定到开发板的文件系统中或者打包放到文件系统中。

    查看安装结果

    指定安装目录之后生成的结果

    查看生成的内容如下

    Qt@Tony:cd /home/Qt/rootfs/lib/modules/3.0.35-g6774ed9-dirty
    Qt@Tony:~/rootfs/lib/modules/3.0.35-g6774ed9-dirty$ ll
    total 148
    drwxrwxr-x 3 Qt Qt  4096 Dec 14 13:09 ./
    drwxrwxr-x 3 Qt Qt  4096 Dec 14 13:09 ../
    lrwxrwxrwx 1 Qt Qt    20 Dec 14 13:08 build -> /home/Qt/kernel/
    drwxrwxr-x 6 Qt Qt  4096 Dec 14 13:08 kernel/
    -rw-rw-r-- 1 Qt Qt  8582 Dec 14 13:08 modules.alias
    -rw-rw-r-- 1 Qt Qt  8513 Dec 14 13:08 modules.alias.bin
    -rw-rw-r-- 1 Qt Qt 12237 Dec 14 13:08 modules.builtin
    -rw-rw-r-- 1 Qt Qt 15275 Dec 14 13:08 modules.builtin.bin
    -rw-rw-r-- 1 Qt Qt    69 Dec 14 13:08 modules.ccwmap
    -rw-rw-r-- 1 Qt Qt  2812 Dec 14 13:08 modules.dep
    -rw-rw-r-- 1 Qt Qt  5438 Dec 14 13:08 modules.dep.bin
    -rw-rw-r-- 1 Qt Qt    75 Dec 14 13:08 modules.devname
    -rw-rw-r-- 1 Qt Qt    73 Dec 14 13:08 modules.ieee1394map
    -rw-rw-r-- 1 Qt Qt   141 Dec 14 13:08 modules.inputmap
    -rw-rw-r-- 1 Qt Qt    81 Dec 14 13:08 modules.isapnpmap
    -rw-rw-r-- 1 Qt Qt    74 Dec 14 13:08 modules.ofmap
    -rw-rw-r-- 1 Qt Qt  2139 Dec 14 13:08 modules.order
    -rw-rw-r-- 1 Qt Qt   463 Dec 14 13:08 modules.pcimap
    -rw-rw-r-- 1 Qt Qt    43 Dec 14 13:08 modules.seriomap
    -rw-rw-r-- 1 Qt Qt   131 Dec 14 13:08 modules.softdep
    -rw-rw-r-- 1 Qt Qt  9248 Dec 14 13:08 modules.symbols
    -rw-rw-r-- 1 Qt Qt 11607 Dec 14 13:08 modules.symbols.bin
    -rw-rw-r-- 1 Qt Qt  6886 Dec 14 13:08 modules.usbmap
    lrwxrwxrwx 1 Qt Qt    20 Dec 14 13:08 source -> /home/Qt/kernel/
    

    modules.dep 用于记录模块的依赖关系。

    如果没有可以使用depmod命令生成(这一块没有验证)。

    模块位于kernel目录

    Qt@Tony:~/kernel/module_install/lib/modules/3.0.35-g6774ed9-dirty$ tree kernel/
    kernel/
    ├── crypto
    │   └── tcrypt.ko
    ├── drivers
    │   ├── gpu
    │   │   └── drm
    │   │       ├── drm.ko
    │   │       └── vivante
    │   │           └── vivante.ko
    │   ├── hid
    │   │   ├── hid-a4tech.ko
    │   │   ├── hid-apple.ko
    │   │   ├── hid-belkin.ko
    │   │   ├── hid-cherry.ko
    │   │   ├── hid-chicony.ko
    │   │   ├── hid-cypress.ko
    │   │   ├── hid-ezkey.ko
    │   │   ├── hid-gyration.ko
    │   │   ├── hid-logitech.ko
    │   │   ├── hid-microsoft.ko
    │   │   ├── hid-monterey.ko
    │   │   ├── hid-petalynx.ko
    │   │   ├── hid-pl.ko
    │   │   ├── hid-samsung.ko
    │   │   ├── hid-sony.ko
    │   │   └── hid-sunplus.ko
    │   ├── i2c
    │   │   └── algos
    │   │       └── i2c-algo-bit.ko
    │   ├── media
    │   │   └── video
    │   │       ├── gspca
    │   │       │   └── gspca_main.ko
    │   │       ├── mxc
    │   │       │   └── capture
    │   │       │       ├── adv7180_tvin.ko
    │   │       │       ├── camera_sensor_clock.ko
    │   │       │       ├── ipu_bg_overlay_sdc.ko
    │   │       │       ├── ipu_csi_enc.ko
    │   │       │       ├── ipu_fg_overlay_sdc.ko
    │   │       │       ├── ipu_prp_enc.ko
    │   │       │       ├── ipu_still.ko
    │   │       │       ├── mxc_v4l2_capture.ko
    │   │       │       ├── ov3640_camera.ko
    │   │       │       ├── ov5640_camera.ko
    │   │       │       ├── ov5640_camera_mipi.ko
    │   │       │       ├── ov5642_camera.ko
    │   │       │       └── ov8820_camera_mipi.ko
    │   │       └── uvc
    │   │           └── uvcvideo.ko
    │   ├── misc
    │   │   └── mxs-perfmon.ko
    │   ├── mxc
    │   │   └── mlb
    │   │       └── mxc_mlb150.ko
    │   ├── net
    │   │   └── wireless
    │   │       ├── ath
    │   │       │   └── ath6kl
    │   │       │       └── ath6kl.ko
    │   │       ├── hostap
    │   │       │   └── hostap.ko
    │   │       ├── rtl8192ce
    │   │       │   └── 8192ce.ko
    │   │       └── rtl8723bs
    │   │           └── 8723bs.ko
    │   ├── scsi
    │   │   └── scsi_wait_scan.ko
    │   └── usb
    │       └── gadget
    │           ├── g_file_storage.ko
    │           └── g_mass_storage.ko
    ├── fs
    │   ├── autofs4
    │   │   └── autofs4.ko
    │   ├── configfs
    │   │   └── configfs.ko
    │   └── nls
    │       ├── nls_ascii.ko
    │       └── nls_utf8.ko
    └── net
        └── wireless
            ├── lib80211_crypt_ccmp.ko
            ├── lib80211_crypt_tkip.ko
            └── lib80211_crypt_wep.ko
    33 directories, 51 files
    

    Tony Liu

    2016-12-14, Shenzhen

  • 相关阅读:
    LeetCode44——用搜索的思路去理解动态规划算法
    在vscode中配置LeetCode插件,从此愉快地刷题
    分布式专题——详解Google levelDB底层原理
    高等数学——求解不定积分经典换元法
    动态规划入门——详解完全背包与多重背包问题
    详解聚类算法Kmeans的两大优化——mini-batch和Kmeans++
    Python专题——详解enumerate和zip
    LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?
    零基础学Python--------第11章 使用Python操作数据库
    零基础学Python--------第10章 文件及目录操作
  • 原文地址:https://www.cnblogs.com/helloworldtoyou/p/6180404.html
Copyright © 2011-2022 走看看