/*******************************************************************
* RedHat5.8 编译内核驱动 合成initrd.img
* 说明:
* 需要编译RedHat5.8的内核驱动,找了一下资料,并操作一下,并编译
* 一下IO驱动,能够正常运作。
*
* 2017-3-1 深圳 南山平山村 曾剑锋
******************************************************************/ 一、参考文档:
. Redhat Enterprise Linux内核源码下载网址
http://ilinuxkernel.com/?p=22
. Linux下RPM软件包的安装及卸载
http://os.51cto.com/art/201001/177866.htm
. RedHat5.8更改yum源
http://blog.csdn.net/sz_bdqn/article/details/47015863 二、安装RedHat5. yum源:
. yum源:wget http://mirrors.163.com/.help/CentOS5-Base-163.repo;
. 把$releasever替换成5; 三、下载对应版本的Linux Kernel:
. 通过shell命令查看Linux Kernel版本:uname -a;
. 下载对应版本的Linux Kernel rpm包:ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/;
. 通过rmp命令安装:rpm -ivh <Linux Kernel rpm 包>;
. 查看/usr/src/kernels/是否存在对应版本的内核源代码。 四、编译内核:
. cd /usr/src
. cd redhat/SPECS
. rpmbuild –bp –-target=$(uname –m) kernel.spec # 最后的kernel.spec不一定是这个名字,以当前文件夹文件为准
. cd /usr/src/redhat/BUILD/kernel-2.6./linux-2.6..i686 # 以最后生成的文件夹为准
. cp /boot/config-2.6.-1.2798.fc6 .config # 以最后拥有的config文件为准
. 修改/usr/src/redhat/BUILD/kernel-2.6./linux-2.6..i686中的Makefile文件:
VERSION=
PATCHLEVEL=
SUBLEVEL=
EXTRAVERSION= -1.2798.fc6 # 主要是要修改这里的,要跟当前内核的一样,可以通过uname -a查看
. make menuconfig # 如果有需要单独配置的,可以通过这里去配置
. make
. make modules
. make install
. make modules_install
. 修改/boot/grub/grub.conf文件来满足需求:
. .nr_uarts= # 串口数
. vga= # 用于ALT+CTRL+Fn功能
. 其中又遇到过无法识别磁盘的问题,需要重新更新initrd.img文件 五、重新合成initrd.img:
. mkinitrd 帮助:
[root@main1 ~]# mkinitrd -h
usage: mkinitrd [--version] [--help] [-v] [-f] [--preload <module>]
[--force-ide-probe] [--force-scsi-probe | --omit-scsi-modules]
[--image-version] [--force-raid-probe | --omit-raid-modules]
[--with=<module>] [--force-lvm-probe | --omit-lvm-modules]
[--builtin=<module>] [--net-dev=<interface>] [--with-fips]
[--without-usb] [--without-multipath] [--without-dmraid]
[--fstab=<fstab>] [--nocompress] <initrd-image> <kernel-version> (ex: mkinitrd /boot/initrd-2.2.-.img 2.2.-)
. 查看内核版本:
[root@main1 modules]# pwd
/lib/modules
[root@main1 modules]# ls
2.6.-.el5
[root@main1 modules]#
. 执行命令:
mkinitrd /boot/initrd-2.6.-.el5.img 2.6.-.el5

RedHat5.8 编译内核驱动 合成initrd.img的更多相关文章

  1. ubuntu下编译内核驱动。

    目的: 1. 驱动热身.网上有很多类似的文章可供参考. 2. 在操作系统中, 编写这个设备的驱动. 3. 为写qemu的watchdog驱动练手. 有朋友问make的 watchdog驱动 需要什么准 ...

  2. hisi3559的usb无线网卡驱动(rtl8192cu)(一条龙服务:内核编译、驱动编译、iw等工具编译)

    usb无线网卡驱动(rtl8192cu) 内核编译.驱动编译.iw等工具编译  (哈哈,如果有其他问题,麻烦留言:) 环境 板卡:hi3559av100(arm64) 交叉编译链:aarch64-hi ...

  3. Linux下编译内核配置选项简介

    Code maturity level options代码成熟度选项 Prompt for development and/or incomplete code/drivers 显示尚在开发中或尚未完 ...

  4. Ubuntu下编译内核

    一.下载源代码和编译软件的准备 下载内核源代码:http://www.kernel.org/ 注意,点击2.6.25内核的F版,即完整版. 如果你懒得去网站点联接,运行下列命令:  代码: $cd ~ ...

  5. Debian中编译内核

    转载: http://blog.163.com/libo_5/blog/static/156968520101016102051580/ http://hi.baidu.com/wg_wang/ite ...

  6. Debian编译内核

    转自 yuzibo博客 http://yuzibo.github.io/DebianBuildKernel.html 最终成功一次了 之前又一次编译了好多次.可惜没有一次成功的,说实话.借助Debia ...

  7. ubuntu 下编译内核

    目的: 1. 练习.网上有很多类似的文章可供参考. 2. 为写qemu的watchdog驱动练手. 有朋友问make的 watchdog驱动 需要什么准备,所以写这个blog. 环境: ubuntu ...

  8. Gentoo安装详解(二)-- 编译内核

    编译内核: 安装内核源码: 选择内核:如gentoo-sources emerge gentoo-sources ls -l /usr/src/linux 手动编译内核: cd /usr/src/li ...

  9. debian下配置dynamic printk以及重新编译内核

    在以前的一篇博文<编译debian内核>已经提过了重新编译内核的方法,但是整个过程花费时间较长,并且生成deb包. 这里我采用稍微简单一些的方法,因为我并没有对内核或者驱动代码做任何修改, ...

随机推荐

  1. More on Class Loading and Initialization

    上一篇博客中对于类的加载和初始化进行了详细的说明,但上一篇博客代码中的main()所在的类为导出类, 对其中一些问题的理解可能会引起误导和不明确,所以补充这篇博客进一步说明.以下面的代码为例进行说明: ...

  2. LeetCode:学生的出勤记录|【551】

    LeetCode:学生的出勤记录|[551] 题目描述 给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : P ...

  3. 转:ADO,OLEDB,ODBC,DAO的区别

    ODBC(Open Database Connectivity,开放数据库互连) 1992年,微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有 ...

  4. $百度应用引擎BAE的使用与应用部署

    百度应用引擎(BAE)是百度推出的网络应用开发平台,开发者使用BAE不需要进行服务器的配置.维护等繁琐的工作,也不需要进行域名的申请.备案等工作,而只需要上传自己的WEB应用即可在公网上访问.使用及部 ...

  5. Unity发布安卓后,安卓输入键盘字体白色

    项目里需要用到显示手机电池电量的,但是又不想写安卓,倒jar包,还要做配置,还要写IOS,好麻烦的说.一查,unity后期版本有这个API,索性就升级高版本的了.但是遇到个小问题,那就是安卓输入的时候 ...

  6. INSPIRED启示录 读书笔记 - 第1章 关键角色及其职责

    现代软件产品团队 1.产品经理的主要职责分为两项:评估产品机会和定义要开发的产品 2.用户体验设计师(由多种角色组成,这里面最关键的是交互设计师)      交互设计师负责深入理解目标用户,设计有价值 ...

  7. Ubuntu 配置NTP Server

    Ubuntu安装NTP Server很简单,分位3步走: 第一步:安装NTP root@cephadmin:~/ceph-cluster# apt-get install ntp Reading pa ...

  8. python 中文字符的处理

    刚开始学习python的时候,都是对这英文的翻译书学习的.没有解除到中文编码的相关问题,直到自己用python去做相关的项目的时候才发先中文编码问题真的非常头疼啊.这里分享一下本人所了解的一些经验. ...

  9. 使用eclipse搭建第一个python+Django的web开发实例

    python+Django的web开发实例   一.创建一个项目如果这是你第一次使用Django,那么你必须进行一些初始设置.也就是通过自动生成代码来建立一个Django项目--一个Django项目的 ...

  10. Spark 总结2

    网页访问时候 没有打开 注意防火墙! 启动park shell bin下面的spark-shell   这样启动的是单机版的 可以看到没有接入集群中: 应该这么玩儿  用park协议  spark:/ ...