centos 编译内核至2.6.39.4
一、下载内核文件并解压至相应目录
- # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.4.tar.bz2
- # tar jxvf linux-2.6.39.4.tar.bz2
- # mv linux-2.6.39.4 /usr/src
二、简要的配置内核
- # cd /usr/src/linux-2.6.39.4
- # make mrproper //第一次编译无需运行此命令,如果之前有编译过,则需要
- # cp /boot/config-`uname -r` .config //copy一份当前系统的内核配置文件作参考
- # make menuconfig
下面两个需要选中(两个都选中),确保.config文件中有该项
- CONFIG_SYSFS_DEPRECATED_V2 = y
否则编译完成重启系统时会有如下错误输出:
- mount: could not find filesystem '/dev/root'
- Setting up other filesystems.
- Setting up new root fs
- setuproot: moving /dev failed: No such file or directory
- no fstab.sys, mounting internal defaults
- setuproot: error mounting /proc: No such file or directory
- setuproot: error mounting /sys: No such file or directory
- Switching to new root and running init.
- unmounting old /dev
- unmounting old /proc
- unmounting old /sys
- switchroot: mount failed: No such file or directory
- Kernel panic - not syncing: Attempted to kill init!
加上ext4的支持
然后保存即可
三、安装编译内核
- # make all
- # make modules_install
- # make install
完了,修改grub启动文件,以新内核启动系统便可。
PS:如果这样就以新内核启动,系统重启时会报一个错误
- insmod: error inserting ‘/lib/dm-region-hash.ko’: –1 File exits
这ms是2.6内核的Bug,需要修改内核,并重新生成新内核文件
解压修改内核步骤
- # cp /boot/initrd-2.6.39.4.img /tmp/
- # cd /tmp/
- # mkdir newinitrd
- # cd newinitrd/
- # zcat ../initrd-2.6.39.4.img |cpio -i
- # rm -f /tmp/initrd-2.6.39.4.img
- # vi init
- 找到这4行一样的,去掉相同的2行
- echo "Loading dm-region-hash.ko module"
- insmod /lib/dm-region-hash.ko
- echo "Loading dm-region-hash.ko module"
- insmod /lib/dm-region-hash.ko
重新打包内核
- # find .|cpio -c -o >../initrd
- # cd ..; gzip -9 < initrd > initrd-2.6.39.4.img
- # cp initrd-2.6.39.4.img /boot/
转载于:https://blog.51cto.com/hellosa/658107
centos 编译内核至2.6.39.4相关推荐
- linux内核版本 2.6.39,编译RedHat Linux-2.6.39内核
1. 准备编译环境 1)RedHat Server 5.1 Linux 2.6.18-53.el5: 2)linux-2.6.39.tar.bz2源代码 2.工作目录 #cd /usr/src/ 2 ...
- Hi3516A开发--编译内核、uboot
操作之前先安装必要的软件: 参看:Hi3516A开发--编译整个osdrv目录所遇到的问题总结 首先SDK安装 拷贝Hi3516A_SDK_V1.0.5.0.tgz至Linux下 #tar -zxvf ...
- 如何升级Linux内核(RHEL/Fedora/CentOS升级内核 Debian/Ubuntu升级内核)
转载来源:https://www.cyberciti.biz/faq/linux-kernel-upgrade-howto/ 如何升级Linux内核 升级我的Linux内核?我想升级内核而不从源代码编 ...
- 使用rust编译linux,在 Ubuntu 上为 CentOS 编译 Rust 程序,
在 Ubuntu 上为 CentOS 编译 Rust 程序, 现在 CentOS 8 还没出来,最新的是 CentOS 7.6,上面搭载的 glibc 版本是 2.17,都已经是 2012 年那时候的 ...
- linux编译内核支持pam,linux编译内核make menuconfig报错解决办法
linux编译内核时 输入make menuconfig命令 *** Unable to find the ncurses libraries or the *** required header f ...
- 虚拟机中Centos更新内核
本例子中用到的Centos6.6,linux-3.13.1.tar.gz,VMware12 先安装虚拟机,安装步骤如下 默认安装位置为C盘下的文件夹,我修改安装至D盘. 我去掉了产品启动更新和帮助完善 ...
- linux 3 内核编译环境,Linux编译内核记
前段时间学校某课程(你猜啥课程~)要求进行简单的linux内核编译,并添加自己的系统调用,对于Linux小白来说这可不是件简单的事,的确话费不少时间和精力.趁此博客终于过了之际,来记录一下~ 0x01 ...
- 04全志R58平台编译内核需要选择的配置
04全志R58平台编译内核需要选择的配置 2018/11/6 14:19 版本:V1.0 开发板:SC5806 1.系统编译:(略) 每次系统编译/内核的时候都需要选3次N: * * Xtables ...
- 内核编程入门——编译内核
Linux内核编译安装笔记 内核版本与下载 版本号 4.9.16 下载地址 预备知识 menuconfig与Makefile Linux内核根目录下的scripts文件夹 scripts文件夹存放的是 ...
最新文章
- RDKit | 基于化合物结构式图像估算分子式(OpenCV、CNN)
- 常见加密算法分类,用途,原理以及比较
- webpack 图片压缩不起作用_理论|webpack2 终极优化
- 微软职位内部推荐-Senior PM
- Python报错:UnicodeDecodeError:‘ascii‘ codec can‘t decode byte 0xe8 in position
- Java中static作用及用法详解
- linux内核那些事之buddy(anti-fragment机制)(4)
- dns服务期搭建使用_使用maradns搭建简易dns服务器(本地实现dns劫持)
- centos7 mysql还原dmp_Linux平台下RMAN异机恢复总结
- Java常见面试题:Oracle JDK 和 OpenJDK 的区别?
- 12v直流电机并联多大电容_对电容的理解
- Quartz-scheduler 定时器概述、核心 API 与 快速入门
- 人大金仓V8数据库安装教程及避坑小指南
- 特斯拉为什么要降价?
- 语音识别ASR - HTK(HResults)计算字错率WER、句错率SER
- 如何从前端入门到放弃
- 小颖用计算机探索方程,数字信号处理(邓小颖)-中国大学mooc-题库零氪
- 潭州学院html学习(day10)
- 新手对于分布式系统的谬误
- VAR模型常见问题整理
热门文章
- php反序列化java.long_细数java中Long与Integer比较容易犯的错误总结
- libusb libusbk
- 【转载】VBA 读取EXCEL 行列总数
- 天天打无人车是怎样一种体验?
- 惊!史上最佳GAN现身,超真实AI假照片,行家们都沸腾了
- NLG ≠ 机器写作 | 专家专栏
- 马化腾最新演讲谈机遇:让所有企业在云端利用AI处理大数据
- 修改mysql root的秘密
- 中国官员:大数据产业发展需全球携手
- Can't save in background: fork: Cannot allocate memory