文档章节

在SUSE linux上编译内核

认真即可
 认真即可
发布于 2015/12/25 10:31
字数 590
阅读 97
收藏 2

转载自:https://www.suse.com/communities/blog/compiling-de-linux-kernel-suse-way/

How to compile the kernel manually, SUSE style!.

For this example, I’ll use the new kernel 3.11 (obviously) on a SLES11 SP3 server.

1. After all we need to install: ncurses-devel

# zypper install ncurses-devel

2. Get the source:

# wget "https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.11.tar.xz"

3. Unpack the source:

# tar -Jxvf linux-3.11.tar.xz -C /usr/src/

4. Configure the kernel:

# cd /usr/src/linux-3.11/

Make sure you are in the path from the source

# make mrproper

If this is your first time, you really do not need this step, this only cleans .o files and other temporary

In the next step there are several ways to configure the kernel, I prefer to make menuconfig, but if you don’t have experience or want to play it safe, I recommend you use an existing configuration, to do this copy your old config file to the new source path:

# cp /boot/config-`uname -r` .config

If you still want to change or add something, at this point you can run: make menuconfig

HINT: After configuration you can further customize the kernel, adding a “extraversion” value. In the Makefile, edit the “EXTRAVERSION =” field, for (this) example:

注:如果你是从当前系统内核的源码编译,那么一定要修改这个,要不然在安装内核时会与原系统发生冲突。

VERSION = 3
PATCHLEVEL = 11
SUBLEVEL = 0
EXTRAVERSION = -w00t
NAME = Linux for Workgroup

5. Build the Kernel:

# make rpm

Because we copy the old configuration in this step we ask about the new kernel features, read carefully before responding.

Now, take a break, this step will take a bit depending on the performance of your hardware.

6. Install the Kernel:

If all went well, you will see output similar to this:

[...]
Wrote: /usr/src/packages/SRPMS/kernel-3.11.0_w00t_0.11_default-1.src.rpm
Wrote: /usr/src/packages/RPMS/x86_64/kernel-3.11.0_w00t_0.11_default-1.x86_64.rpm
Wrote: /usr/src/packages/RPMS/x86_64/kernel-headers-3.11.0_w00t_0.11_default-1.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.13989
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd kernel-3.11.0_w00t_0.11_default
+ rm -rf /var/tmp/kernel-3.11.0_w00t_0.11_default-root
+ exit 0
rm kernel-3.11.0_w00t_0.11_default.tar.gz kernel.spec

Install the new Kernel package under /usr/src/packages/RPMS/x86_64/:

# cd /usr/src/packages/RPMS/x86_64/
sp3-lab:/usr/src/packages/RPMS/x86_64 # ls
kernel-3.11.0_w00t_0.11_default-1.x86_64.rpm
kernel-headers-3.11.0_w00t_0.11_default-1.x86_64.rpm
sp3-lab:/usr/src/packages/RPMS/x86_64 #
# rpm -ivh kernel-3.11.0_w00t_0.11_default-1.x86_64.rpm

And build the initrd

# mkinitrd

Now it only remains to edit the grub menu:

# vim /boot/grub/menu.lst

And add these lines, obviously putting the right disk to your existing system:

title SUSE Linux Enterprise Server 11 SP3 - 3.11 Linux for Workgroups
root (hdX,X)
kernel /boot/vmlinuz-3.11.0-w00t-0.11-default root=/dev/XXX resume=/dev/disk/XXX splash=silent crashkernel=256M-:128M showopts vga=0x314
initrd /boot/initrd-3.11.0-w00t-0.11-default

Basically, what we do here is copy the current grub entry in your system and just change the title and the image of the new Kernel.

Now, reboot!

We should see the new option in the grub.

本文转载自:https://www.suse.com/communities/blog/compiling-de-linux-kernel-suse-way/

共有 人打赏支持
认真即可
粉丝 5
博文 87
码字总数 46318
作品 0
朝阳
程序员
私信 提问
SUSE 合作微软推出 Azure 优化的企业版 Linux 内核

SUSE 今天宣布推出首个针对微软 Azure 定制的企业版 Linux 内核。SUSE Linux Enterprise Server15 现可在定制调校版内核上运行,为微软Azure工作负荷带来更强的性能、更快的启动速度和更小的...

达尔文
2018/08/22
806
0
潜伏 11 年之久,Linux 惊现高危内核漏洞 "Phoenix Talon"

Quadra Kill! Linux惊现四个高危内核漏洞: 近日启明星辰ADLab(积极防御实验室)发现Linux内核存在四个极度危险的漏洞——代号“Phoenix Talon”(CVE编号:CVE-2017-8890、CVE-2017-9075...

oschina
2017/06/16
8.8K
42
Linux 发行版 SUSE 诞生二十五周年

来自德国的企业级 Linux 发行版 SUSE 已经走过了四分之一世纪,对一个软件项目和软件公司来说这是一个了不起的成就。很少有软件如此长寿。SUSE 是最早的 Linux 发行版之一,诞生于 1992 年,...

两味真火
2017/09/11
1K
10
企业级Linux市场:从三分天下,到二虎竞食

新闻来源:开源正泰 2010年,是企业级Linux中国市场极其不平静的一年,Oracle公司推出更具有优势的企业级Linux,RedHat中国渠道“脑 裂”,Novell SUSE被收购,原本明朗的企业级Linux市场再度...

红薯
2010/12/23
1K
5
SUSE Linux Enterprise 11 SP4 发布

SUSE Linux Enterprise 11 Service Pack 4 发布,此版本改进了系统规模,可以让像内存数据集一样运行大型规模工作负载。SUSE 同时升级了关键的组件,提供高可用的集群栈,包括 pacemaker, b...

oschina
2015/07/18
9.1K
3

没有更多内容

加载失败,请刷新页面

加载更多

脚本配置java开发环境

@echo off&setlocal enabledelayedexpansion cls @echo "This script is used to registe envionment variables......" @echo. @echo. @echo. set var=%~dp0 set var=%var:~,-1% @echo "regi......

默克鱼
22分钟前
0
0
c++中友元函数理解与使用

在学习c++这一块,关于友元函数和友元类,感觉还是不好理解,但是井下心来,理解,需要把我一下几点。 首先讲友元函数。 (1)友元函数: 1)C++中引入友元函数,是为在该类中提供一个对外(除...

天王盖地虎626
今天
2
0
OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
613
10
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
5
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部