内核编译模块大小1GB的问题

内核模块编译完成,应用make modules_install

指令,安装模块的时候,最后一步depmod生成

模块依赖的过程中,出现内存不足的情况,目前

只有1G的内存可用。然后将整个系统移植到4G

电脑上,采用如下指令:

depmod 2.6.3212

生成module.dep文件等等

发现模块的体积有1.3G,查看系统安装的模块

才100M,大概相差一个数量级。这个问题应该

如何追溯,提出两点方案:

1.google具体的情况,看是什么情况造成的

2.查看lib/module下的内容,到底什么占用

了大量的空间,然后查看生成的文件,在哪里

被调用到,这个文件应该如何处理。目前尚未找到合适的

方法

时间: 2024-10-06 14:37:27

内核编译模块大小1GB的问题的相关文章

linux学习之路之模块管理和内核编译

我们知道linux内核再启动过程中,主要完成以下几种功能: 1.侦测硬件信息 2.驱动初始化(可能借助intrd文件加载硬件模块) 3.以只读方式挂载根文件系统 4.转载第一支程序init 如果我们的kernel识别不了某些硬件或者实现不了某些功能的话,那么只能将某些功能代码添加在内核当中,或者将这些功能代码做成模块的形式,kernel需要哪些模块就直接调用这些模块即可.通过这两种功能就可以实现相应的功能. 而不同的实现机制和kernel设计有关. kernel设计分为2种: 一种是单内核:这种

Linux下的内核编译与模块操作

Linux下的内核编译与模块操作 一:实验环境 1):虚拟机 2):linux系统 3):linux系统的硬盘的空余空间要大于7G 4):虚拟机的内存要大于2.5G以上 二:实验目标 1):源码编译Linux内核 2):使用Linux内核模块 3):实战-编译一个NTFS内核模块,实现linux挂载NTFS文件系统并实现读写功能 三:实验脚本 第一块 --源码编译Linux内核 linux系统与windows系统是两种截然不同的系统,windows系统中的软件都是需要付费的,而linux系统中的

Linux编译模块小技巧-内核配置文件快速查询模块

# Linux编译模块小技巧-内核配置文件快速查询模块# 参考: https://www.linuxidc.com/Linux/2016-10/136157.htmFeb 09 00:49:17 ArchLinux mount[336]: modprobe: FATAL: Module fuse not found in directory /lib/modules/5.5.2Feb 09 00:49:17 ArchLinux mount[289]: fuse: device not found

内核编译安装

以下讲的是内核基础.内核管理.安装编译内核.安装程序anaconda.kickstart. 1.内核基础 对于内核,现在有单内核和微内核设计,现在的内核多采用单内核和高度模块化设计,对于模块化设计,可以进行动态装卸载. 内核一般由三部分组成:内核核心文件.内核对象.ramdisk.内核核心文件,一般为bzImage,经过压缩处理的镜像文件,通常内核核心文件保存在/boot目录下,名称为vmlinuz-VERSION-release.内核对象,即内核额外的功能模块,该类文件放置于/lib/modu

Linux内核编译及系统裁剪之一

Linux内核编译方法详解及系统裁剪之一详解 我们的内核是由两部分组成的: 1,内核核心 核心文件的路径是/boot/vmlinuz-内核版本号 如下图-> 2,内核模块(ko:kernel object,内核对象) ko文件的路径是/lib/modules/内核版本号/下的所有文件 如下图-> 我们的内核有两种设计风格: 1,单内核设计风格 Linux的内核就属于是单内核设计风格的,不过Linux的单内核设计风格采用了微内核设计风格的模块化设计思想,所以使得我们的Linux内核的核心可以被设

内核编译安装学习笔记

前提:查看本地硬件信息常用工具 查看CPU信息: #cat /proc/cpuinfo #x86info #lscpu 查看PCI: #lspci 查看USB: #lsusb 查看块设备: #lsblk 查看综合的设备详细信息: #hal-device 编译:交叉编译 cross-compiling用于在宿主机上编译,应用于别的机器上架构迥异的内核. 编译内核的步骤:(安装好开发环境:Development Tools,Server Platform Development,ncurses-de

Linux内核编译和参数配置

内核 内核,是一个操作系统的核心.它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新.新的内核修订了旧内核的bug,并增加了许多新的特性.如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核.本文将以RedHat Linux 6.0(kernel 2.2.5)为操作系统平台,介绍在Linux上进行内核编译的方法. 一. 下载新内核的源代码 内核,是一个

内核、模块

内核参数说明 /proc目录介绍详见链接 内核参数目录及配置文件: /proc/* /usr/lib/sysctl.d/* /etc/sysctl.d/*.conf /etc/sysctl.conf #开机读取的内核参数文件: 修改内核参数的注意事项 Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现. 修改/proc下内核参数文件内容,不能使用编辑器来修改内核参数文件,理由是由于内核随时可能更改这些文

linux内核编译与开发

一.Linux内核简介linux kernel map: linux 系统体系结构: linux kernel体系结构: arm有7种工作模式,x86也实现了4个不同级别RING0-RING3,RING0级别最高, 这样linux用户代码运行在RING3下,内核运行在RING0,这样系统本身就得到了 充分的保护 用户空间(用户模式)转到内核空间(系统模式)方法: ·系统调用 ·硬件中断 linux kernel 体系结构: 虚拟文件系统VFS: VFS(虚拟文件系统)隐藏各种文件系统的具体细节,