1.下载系统对应内核版本
https://www.kernel.org/pub/linux/kernel/
2.将本机内核配置文件拷贝至新下载的内核包中
# tar -zxvf linux-2.6.32.tar.gz # cd linux-2.6.32 # cp /boot/config-2.6.32-279.el6.x86_64 .config |
3.使用make menuconfig进行内核裁剪(此处实例为去掉USB模组)
# make menuconfig |
选择Device Drivers “回车”
选择USB support 按"空格"取消支持
按两下"Esc"退出一层配置(退出两次)
选择“Yes”保存配置
4.编译安装裁剪后的内核文件
# make # make bzImage # make modules # make modules_install # make install |
若最后一步make install后出错ERROR: modinfo: could not find module ***
查看/boot下关键文件的日期
# ls -l /boot/ total 38775 -rw-r--r--. 1 root root 101820 Jun 22 2012 config-2.6.32-279.el6.x86_64 drwxr-xr-x. 3 root root 1024 Nov 8 10:06 efi drwxr-xr-x. 2 root root 1024 Nov 11 18:58 grub -rw-r--r--. 1 root root 16186595 Nov 8 10:09 initramfs-2.6.32-279.el6.x86_64.img -rw-r--r--. 1 root root 11369936 Nov 11 18:58 initramfs-2.6.32.img drwx------. 2 root root 12288 Nov 8 09:30 lost+found -rw-r--r--. 1 root root 179157 Jun 22 2012 symvers-2.6.32-279.el6.x86_64.gz lrwxrwxrwx. 1 root root 23 Nov 11 18:57 System.map -> /boot/System.map-2.6.32 -rw-r--r--. 1 root root 2056341 Nov 11 18:57 System.map-2.6.32 -rw-r--r--. 1 root root 2341856 Jun 22 2012 System.map-2.6.32-279.el6.x86_64 lrwxrwxrwx. 1 root root 20 Nov 11 18:57 vmlinuz -> /boot/vmlinuz-2.6.32 -rw-r--r--. 1 root root 3451632 Nov 11 18:57 vmlinuz-2.6.32 -rwxr-xr-x. 1 root root 3986608 Jun 22 2012 vmlinuz-2.6.32-279.el6.x86_64 |
均为编译安装前后不久的时间即可忽略
5.更改启动内核
# vi /boot/grub/menu.lst # grub.conf generated by anaconda |
6.验证
重启前查看内核版本
# uname -a Linux kernerl 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux |
重启后查看内核版本
# uname -a Linux kernerl 2.6.32 #1 SMP Mon Nov 11 18:40:28 CST 2013 x86_64 x86_64 x86_64 GNU/Linux |
相关推荐
"Linux内核裁剪的具体过程和方法" Linux内核裁剪是指在Linux系统中,对内核进行裁剪和优化,使其更小、更快、更高效。本文将详细介绍Linux内核裁剪的具体过程和方法。 在 menuconfig 中配置时,需要详细介绍内核...
2. **定制内核**:对于需要对内核进行特定优化或功能裁剪的场景,开发包提供了编译自定义内核所需的所有资源。 3. **调试内核**:开发人员可以使用内核头文件和调试工具来定位和修复内核级别的问题。 4. **开发...
在嵌入式系统中,由于资源限制,通常需要对内核进行裁剪和定制。因此,理解并能操作Linux内核2.6的Makefile文件对于开发者来说至关重要,它能帮助他们有效地调整内核以适应特定硬件平台的需求。 总的来说,Linux...
4. 加载内核和initrd或initramfs(CentOS6)。 5. 运行init进程,它是所有进程的父进程。 6. 显示欢迎界面,标志着系统启动成功。 **主要实现方法**: 提供的bash脚本展示了如何将宿主机上的命令、库文件复制到目标...
在PC104平台上实现嵌入式Linux,需要进行内核裁剪、文件系统配置以及系统移植等工作。这一过程中,使用了Grub作为引导加载程序,Grub是一个先进的引导加载程序,能够支持多种操作系统,易于配置,可以简化系统引导的...
然后,开发者会使用menuconfig工具对内核进行配置,选择需要支持的硬件特性、设备驱动和裁剪不必要的功能,以减小内核大小。编译完成后,生成的内核映像将通过Bootloader加载到目标板上。 根文件系统的制作是另一个...
10. **模块化设计**:Linux内核采用模块化设计,允许根据需要动态加载或卸载部分功能模块,这种灵活性使得内核可以根据具体平台和应用需求进行裁剪和定制。 在"readme.md.zip"这个压缩包中,可能包含了关于Linux...
在嵌入式领域,需要根据目标硬件进行内核裁剪,去除不必要的模块,以降低内存占用,提高系统性能。 3. **开发环境搭建**: 开发嵌入式Linux通常需要宿主机环境,如Ubuntu或CentOS等,通过交叉编译工具链在宿主机上...
为了使Linux系统能适应于X86嵌入式瘦终端,作者提出通过内核裁剪和文件系统定制,使其在资源有限的环境中依然能够高效运行。具体做法是通过删除Linux内核中不必要的模块和服务,优化系统性能,同时创建和配置适合...
Linux 的学习对于一个...2、支持多种文件系统 3、开源、支持重新编译,裁剪;4、运行稳定,功能强大,性能优异 Linux基础操作命令: ls命令:列举出目录下的文件和目录信息,ls经常使用的参数有三个: -a -l -F ls
- **灵活性**:用户可以根据自己的需求定制内核,裁剪不必要的模块,提高系统的运行效率。 ### Linux 发行版 1. **什么是Linux发行版**: - Linux发行版是指基于Linux内核的操作系统版本,它们在内核的基础上...
1. 内核配置:通过menuconfig命令,开发者可以根据目标设备的硬件特性来裁剪内核,剔除不必要的模块,以优化性能和减少内存占用。 2. 根文件系统构建:根文件系统包含了启动时必需的库、配置文件、服务等,通常使用...
10. **Linux内核编译与模块开发**:对于嵌入式系统,可能会涉及Linux内核裁剪、编译,以及编写和加载内核模块的实践。 11. **设备驱动程序开发**:对于硬件相关的开发者,这部分可能会介绍Linux设备模型、驱动程序...
- 内核裁剪:在编译内核时去除不必要的硬件驱动、文件系统和调试信息,以减小内核大小。 - 模块化内核:将非核心功能如网卡驱动、USB驱动编译为模块,待系统启动后再加载。 2. 提升内核在内存中的运行效率: - ...
搭建过程中包含了如何查看rga设备节点、如何重新编译内核并烧写新的内核映像等步骤,以及如何在内核配置中选择rga2的编译选项。 在rga设备节点的配置方面,文档提供了在设备树文件中添加rga设备节点的示例代码,...
开发者通常会构建自己的Linux发行版,定制内核,裁剪不必要的组件,以适应特定硬件平台的需求。 十一、ARM架构 ARM(Advanced RISC Machines)是广泛应用于嵌入式系统的处理器架构,以其低功耗、高性能著称。Linux...
同时,可能还需要内核头文件,可以通过`apt-get install build-essential kernel-package`(Debian/Ubuntu)或`yum install kernel-devel`(Fedora/CentOS)来安装。 2. **解压源码**:将压缩包`RTL8188FU_Linux_v...
2. Linux内核编译与定制:了解如何配置Linux内核,编译内核模块,以及如何根据需要裁剪内核功能,优化系统性能。 3. 驱动开发:对于STM32这类微控制器,在Linux系统下可能需要开发特定的硬件驱动程序,以便操作系统...
此外,由于Linux内核的可裁剪性,可以根据具体应用场景的需求调整内核大小和功能,从而满足不同嵌入式设备对性能和资源的不同需求。 ### Linux基础命令 了解并掌握基本的Linux命令对于嵌入式工程师来说至关重要。...