精华内容
下载资源
问答
  • 修改内核参数

    2016-07-19 23:33:59
    核心:/boot/vmlinuz-version 内核模块:/lib/modules/version内核设计:linux为单内核,模块化设计装在模块命令:insmod 、 modprobe内核官网:www.kernel.org用户空间访问、监控内核的方式: /proc 、 /sys伪文件...

    核心:/boot/vmlinuz-version

    内核模块:/lib/modules/version

    内核设计:linux为单内核,模块化设计

    装在模块命令:insmod 、 modprobe

    内核官网:www.kernel.org

    用户空间访问、监控内核的方式: /proc 、 /sys

    伪文件系统:

    /proc/sys :此目录中的文件很多是可读写的

    /sys : 某些文件可写


    设定内核参数值的方法

    第一种修改内核方法:

    echo VALUE > /proc/sys/dirctory/file

    修改内核主机名: echo "server name" > /proc/sys/kernel/hostname

    第二种修改内核方法:

    sysctl -w kernel.hostname="server name"  此种方法点前面代表kernel目录,后面代表那个文件


    以上两种修改方法,重启系统后就会失效

    永久修改内核参数的方法:

    修改:/etc/sysctl.conf

    此文件修改后不会立即生效,修改后执行 sysctl -p 便会立即生效并且永久有效

    sysctl -a  : 显示所有内核参数

    常用的内核参数:

    /proc/sys/net/ipv4/ip_forward


    ====================================================

    模块所在路径: /lib/modules/

    查看当前系统装载了的模块: lsmod 、modinfo

    装载某个模块: modprobe MOD_NAME

    卸载某个模块: modprobe -r MOD_NAME

    查看模块详细信息: modinfo  MOD_NAME  此命令可以看到模块的详细信息

    装载模块 : insmod /mod_path  此命令需要输入模块路径

    卸载模块 : remod  MOD_NAME

    内核中的功能除了核心功能外,在编译时,大多功能都有三种选择:

    1、不使用此功能;2、编译成内核模块;3、编译进内核


    转载于:https://blog.51cto.com/rsddn/1827914

    展开全文
  • 一、内核模块的单独编译 1、在需要单独编译为模块的目录里执行如下命令:进入当前要编译的文件夹内 make CONFIG_XENO_DRIVERS_NET_DRV_IGB=m -C /usr/src/linux-4.9.90 M=`pwd` modules make -C $(KDIR) M= $(PWD...

    一、内核模块的单独编译

    1、在需要单独编译为模块的目录里执行如下命令:进入当前要编译的文件夹内

    make CONFIG_XENO_DRIVERS_NET_DRV_IGB=m -C /usr/src/linux-4.9.90 M=`pwd` modules 
    

    make -C $(KDIR) M= $(PWD) modules
    -C:后面的参数为linux内核的顶层目录
    M:后面的参数为需要编译文件的目录

    2、将生成的.ko文件拷贝到/lib/modules对应的目录下面:
    例如:

    cp rt_igb.ko /lib/modules/4.9.90xenomai3.0.7/kernel/drivers/xenomai/net/drivers/igb/rt_igb.ko
    

    3、加载模块依赖:depmod

    其他操作指令:
    卸载原有驱动:

    modprobe -r rt_igb
    

    挂载新驱动:

    modprobe rt_igb
    

    二、修改内核配置

    1、进入内核源码路径下:cd /usr/src/linux-4.9.90
    2、修改内核配置:make menuconfig
    3、修改之后重新编译生成内核文件并安装:make && make modules_install && make install

    展开全文
  • Linux内核模块管理

    2021-01-20 14:51:10
     修改内核参数  Linux内核采用的是模块化技术,这样的设计使得系统内核可以保持小化,同时确保了内核的可扩展性与可维护性,模块化设计允许我们在需要时才将模块加载至内核,实现动态内核调整。本文重点关注...
  • Linux内核及内核模块

    2015-05-16 17:25:26
    1.Linux的组成由内核及相应的功能模块组成,内核/boot/vmlinuz-"内核版本号" 文件,模块文件在/lib/modules/版本号/目录下(为.ko的文件) 在/proc/sys/目录下可以修改文件来修改内核参数(注意这些文件不能用vim...

    1.Linux的组成

     由内核及相应的功能模块组成,内核/boot/vmlinuz-"内核版本号" 文件,模块文件在/lib/modules/版本号/目录下(为.ko的文件)

      在/proc/sys/目录下可以修改文件来修改内核的参数(注意这些文件不能用vim打开要修改只能用重定向的方式)

      echo "www.luochen.com" > /proc/sys/kernel/hostname

      也可以这样改

      sysctl -w kernel.hostname="luochen.com" 能立即生效,但无法永久有效

    2./etc/sysctl.conf文件 永久有效,需要重启

       sysctl -p: 重读配置文件,立即有效

       sysctl -a: 显示所有内核参数及其值

    3.内核模块管理

     a.lsmod: 查看所有装载的模块

     b.modprobe MOD_NAME:装载某模块

     c.modprobe -r MOD_NAME: 卸载某模块

     d.modinfo MOD_NAME: 查看模块的具体信息

     e.insmod /PATH/TO/MODULE_FILE: 装载模块

     f.rmmod MOD_NAME: 移除模块

     g.depmod /PATH/TO/MODILES_DIR: 生成模块依赖关系

    4.内核编译

     内核中的功能除了核心功能之外,在编译时,大多功能都有三种选择:

       1、不使用此功能

       2、编译成内核模块

       3、编译进内核  

    5.如何手动编译内核

     a. make gconfig: Gnome桌面环境 需要安装图形开发库组 GNOME Software Development

       make kconfig: Kde桌面环境 需要安装图形开发库组 KDE Software Development

      这里使用另外一种方法

       make menuconfig

     b.make

     c.make modules_install

     d.make install

     e.重启新系统

     f.手动编译内核是尽量不要用远程连接(编译花费时间较长,有可能意外中断)

      如果一定只能用远程的话使用screen命令

      yum -y install screen 安装screen  

      screen命令:

        screen -ls: 显示已经建立的屏幕

        screen: 直接打开一个新的屏幕

           Ctrl+a, d: 拆除屏幕

        screen -r ID: 还原回某屏幕

        exit: 退出

      g.二次编译时清理,清理前,如果有需要,请备份配置文件.config:

       make clean 或

       make mrproper





    转载于:https://blog.51cto.com/luochen2015/1651912

    展开全文
  • 核心(kernel):/boot/vmlinuz-version version 带发行包版本,本地版本内核模块(kernel object): /lib/modules/version/内核设计: 单内核 模块化设计--内核小,功能做成模块 微内核装载模块: insmod modprobe内核...

    核心(kernel):/boot/vmlinuz-version version 带发行包版本,本地版本
    内核模块(kernel object): /lib/modules/version/

    内核设计:
        单内核
            模块化设计--内核小,功能做成模块
        微内核
    装载模块:
        insmod
        modprobe

    内核下载:www.kernel.org

    2(主).6(次).17(修正)-->2.6.17.1修复bug
    2.6.18.rc1(候补版) 新增功能

    用户空间访问,监控内核的方式
    通过这两个伪文件/proc,/sys修改

    /proc/sys:此目录中的文件很多是可读写的
    /sys

    设定内核参数的方法:
    echo VALUE > /proc/sys/TO/SOMEFILE
    echo 1 > /proc/sys/vm/drop_caches | free -m
    echo www > /proc/sys/kernel/hostname

    sysctl -w(设定值)
    sysctl -w kernel.hostname="mylab.mageedu.com"
    sysctl -w vm.drop_caches=1

    以上立即生效,不能永久有效

    永久有效
    vim /etc/sysctl.conf
    编辑后,立时生效:sysctl -p 让内核重新加载配置文件
    sysctl -a :显示所有的内核参数及其值


    内核模块管理
    当前系统的模块:lsmod
    mod size usetimes

    modprobe MOD_NAME 加载模块
    modprobe -r MOD_NAME 卸载模块
    modprobe -r floppy
    modprobe floppy

    modinfo:查看模块的具体信息
    modinfo MOD_NAME
    modinfo floppy

    insmod /PATH/TO/MODULE_FILE:装载模块
    rmmod MOD_NAME 移除模块

    depmod /PATH/TO/MODILES_DIR

    装驱动:下载源码,编译成ko,加载模块

    内核与内核模块必须完全一致
    2.6.32-1的内核不能使用在2.6.32-2上编辑的模块(ko)

    内核中的功能除了核心功能之外,在编译时,大多数功能有三种选择
    1.不使用此功能
    2.编译成内核模块 需要modprobe装载
    3.编译进内核 内核的一部分,内核装载,他就装载


    如何手动编译内核
    需要装
    Development Libraries
    Development Tools

    挂在本地光驱进行安装:
    挂在镜像
    cd /etc/yum.repos.d/
    vim local.repo

    [base]
    name=Server
    baseurl=file:///media/cdrom/Server
    enabled=1
    gpgcheck=0

    mkdir /media/cdrom
    mount /dev/cdrom /media/cdrom

    yum groupinstall "Development Tools" "Development Libraries" -y

    #ls
    linux-2.6.28.10.tar.gz
    #tar xf linux-2.6.28.10.tar.gz -C /usr/src
    #cd /usr/src
    #ls -sv linux-2.6.28.10 linux
    #cd linux
    #ls arch
    #ls fs

    手动编译内核:
    make gconfig Gnome 桌面环境  GNOME Software Development
    make kconfig KDE 桌面环境    KDE Software Development
    还需要装图形开发库【二者不同的库】



    可以修改系统的配置:ls /boot/config-2.6.18-308.el5
    [root@linux]cp /boot/config-2.6.1-308.el5 /usr/src/linux/.config
    [root@linux]# make menuconfig
    [root@linux]# make
    [root@linux]# make modules_install
    [root@linux]# make install

    会自动更改grub.menu
    重启

    为防止中断,可以使用screen


    已经编译了,但是不能用
    二次编译:
    make clean
    make mrproper  .config 也会清理
    二者都会清理.config等文件。
    然后再进行编译

    高级:只编译内核中的一个模块,只编译内核的某一个目录
    grub->kernel->initrd->ROOTFS(/sbin/init,/bin/bash)

    转载于:https://www.cnblogs.com/simpman/p/4192680.html

    展开全文
  • linux内核模块

    2011-04-18 00:03:00
    内核模块由加载/卸载函数、功能函数以及一系列声明组成,它可以被传入参数,也可以导出符号供其他模块使用。由于 Linux 设备驱动以内核模块的形式而存在,因此,掌握内核模块知识是编写任何类型设备驱动所必须的。在...
  • 内核模块

    2019-10-01 16:39:28
    内核参数说明 /proc目录介绍详见链接 内核参数目录及配置文件: ...修改内核参数的注意事项 Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc...
  • 这个模块修改自linux kernel的fifo模块,我用在一些裸板程序上,作为基础的数据结构; 数据结构 struct __fifo { unsigned int in; unsigned int out; unsigned int mask; unsigned int esize; void *data; }; ...
  • linux内核模块之间通信

    千次阅读 2012-11-15 12:37:34
    今天师兄问,linux内核模块之间如何进行通信?我才想起我之前也有这个疑问,只是当时不需要所以就没去关心了。晚上查了些资料,终于弄明白了些。 这里的通信可以简单点理解,就是模块B如何调用A的函数,变量或者...
  • linux 操作系统启动过程和内核参数修改添加方法 操作系统启动过程 操作系统启动过程一般分为五个阶段:(centos7为例) BIOS初始化 加载MBR到内存 GRUB阶段 加载内核和initramfs模块 systemd阶段 BIOS初始化 上电后...
  • 一种动态的方法向内核传递参数。...我的系统是Ubuntu系统,比如修改zfs内核模块参数的方法是, 点击(此处)折叠或打开 $echo 64 > /sys/module/zfs/parameter
  • 几乎所有的内核模块,包括内核核心模块和驱动程序,都在/proc/sys 文件系统下提供了某些配置文件以提供用户调整模块的属性和行为。通常一个配置文件对应一个内核参数,文件名是参数的名字,文件的内容是参数的值。 ...
  • 二、实战:调大 conntrack_max 参数(2.4内核) 1)增大 hashsize (在i386架构上, HASHSIZE = CONNTRACK_MAX / 8 ) # vi /etc/modprobe.conf options ip_conntrack hashsize=131072 然后重启 iptables ...
  • 操作系统作业:添加一个简单的系统调用(内核模块法) 操作系统作业:添加一个简单的系统调用一、实验目的二、实验内容三、实验环境四、操作方法和步骤(1)准备工作(2)修改源程序,增加系统调用(3)编译内核(4...
  • ==============网络配置============= 网络参数设置:  1)命令行设置,可以立即生效... 2)修改系统配置文件,不会马上生效,但是可以永久保存设置;====命令行设置网络参数1》网络接口参数-------ifconfig命令...
  • 起初找到这个配置文件,位于sys/module/xt_recent/parameters目录下,由于是内核模块,在root下也没有权限直接修改,因此需要用以下办法。 首先先清理iptables的现有规则(记得备份现有规则)。 iptables -F ...
  • 实验目的:认识并理解proc文件系统,掌握proc文件的特点,掌握从中获取linux系统信息的方法,了解可以利用proc文件系统进行用户态与内核态的交互。...修改sys内文件,调整内核参数修改proc源码,通过系统调用实现进
  • 内核模块 15.01 sysctl命令 用于在系统运行时动态改变内核参数,重启后被还原为默认设置  # sysctl -a  # sysctl net.core  # sysctl net.ipv4.ip_forward=1 打开ip转发功能  # sysctl -a | gerp ip_forward ...
  • Linux的模块编译在2.6内核后有了较大的修改,这使得在内核编译...2.4及其之前的内核模块编译需要在makefile文件中显示调用gcc编译器,并且需要添加多个参数才能实现。而2.6内核中,需要调用内核源码目录当中的顶层的mak
  • kctune:显示、修改内核参数 kcweb:内核配置的web工具(系统内含mozilla浏览器),可用于系统资源监控(内核参数运行值) kcpath:显示当前内核的路径 kclog:查找内核配置日志文件(/var/adm/kc.log是内核配置...
  • 一个machine能正常工作,很多...这些固定不轻易修改的、不支持热插拔的设备信息,linux内核以前如何处理的?现在又是啥情况?01主角介绍Linus Torvalds林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds),196...
  • xposed框架的强悍功能大伙都知道,能够不修改Apk的前提下,修改系统内核参数,打个比方在某些应用场景,大伙需要修改手机的某个系统参数,此时就需要使用xposed以及相关模块功能来实现。 此文描述一下具体xposed...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 231
精华内容 92
关键字:

修改内核模块参数