linux 核心升級步驟,kernel升級
linux版本 RHEL7.0
下載核心 從以下網站
上傳kernel檔案到/usr/src/kernels/ 目錄下,此處也可以選擇其他目錄
解壓kernel檔案
[root@apache kernels]# tar -xJvf linux-3.16.1.tar.xz
安裝包 gcc、ncurses-devel
[root@apache yum.repos.d]# yum -y install gcc ncurses-devel
Failed to set locale, defaulting to C
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Repository 'y' is missing name in configuration, using id
y | 4.1 kB 00:00:00
Resolving Dependencies
--> Running transaction check
---> Package gcc.x86_64 0:4.8.2-16.el7 will be installed
--> Processing Dependency: cpp = 4.8.2-16.el7 for package: gcc-4.8.2-16.el7.x86_64
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.2-16.el7.x86_64
--> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.2-16.el7.x86_64
--> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.2-16.el7.x86_64
---> Package ncurses-devel.x86_64 0:5.9-13.20130511.el7 will be installed
--> Running transaction check
---> Package cpp.x86_64 0:4.8.2-16.el7 will be installed
---> Package glibc-devel.x86_64 0:2.17-55.el7 will be installed
--> Processing Dependency: glibc-headers = 2.17-55.el7 for package: glibc-devel-2.17-55.el7.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-55.el7.x86_64
---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed
---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.17-55.el7 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-55.el7.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-55.el7.x86_64
--> Running transaction check
---> Package kernel-headers.x86_64 0:3.10.0-121.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================================
Package Arch Version Repository Size
==================================================================================================================
Installing:
gcc x86_64 4.8.2-16.el7 y 16 M
ncurses-devel x86_64 5.9-13.20130511.el7 y 713 k
Installing for dependencies:
cpp x86_64 4.8.2-16.el7 y 5.9 M
glibc-devel x86_64 2.17-55.el7 y 1.0 M
glibc-headers x86_64 2.17-55.el7 y 650 k
kernel-headers x86_64 3.10.0-121.el7 y 1.4 M
libmpc x86_64 1.0.1-3.el7 y 51 k
mpfr x86_64 3.1.1-4.el7 y 203 k
Transaction Summary
==================================================================================================================
Install 2 Packages (+6 Dependent packages)
Total download size: 26 M
Installed size: 61 M
Downloading packages:
------------------------------------------------------------------------------------------------------------------
Total 31 MB/s | 26 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mpfr-3.1.1-4.el7.x86_64 1/8
Installing : libmpc-1.0.1-3.el7.x86_64 2/8
Installing : cpp-4.8.2-16.el7.x86_64 3/8
Installing : kernel-headers-3.10.0-121.el7.x86_64 4/8
Installing : glibc-headers-2.17-55.el7.x86_64 5/8
Installing : glibc-devel-2.17-55.el7.x86_64 6/8
Installing : gcc-4.8.2-16.el7.x86_64 7/8
Installing : ncurses-devel-5.9-13.20130511.el7.x86_64 8/8
Verifying : ncurses-devel-5.9-13.20130511.el7.x86_64 1/8
Verifying : mpfr-3.1.1-4.el7.x86_64 2/8
Verifying : glibc-headers-2.17-55.el7.x86_64 3/8
Verifying : glibc-devel-2.17-55.el7.x86_64 4/8
Verifying : libmpc-1.0.1-3.el7.x86_64 5/8
Verifying : kernel-headers-3.10.0-121.el7.x86_64 6/8
Verifying : gcc-4.8.2-16.el7.x86_64 7/8
Verifying : cpp-4.8.2-16.el7.x86_64 8/8
Installed:
gcc.x86_64 0:4.8.2-16.el7 ncurses-devel.x86_64 0:5.9-13.20130511.el7
Dependency Installed:
cpp.x86_64 0:4.8.2-16.el7 glibc-devel.x86_64 0:2.17-55.el7 glibc-headers.x86_64 0:2.17-55.el7
kernel-headers.x86_64 0:3.10.0-121.el7 libmpc.x86_64 0:1.0.1-3.el7 mpfr.x86_64 0:3.1.1-4.el7
Complete!
執行make
先檢視make幫助
[root@apache linux-3.16.1]# make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
Configuration targets:
config - Update current config utilising a line-oriented program
nconfig - Update current config utilising a ncurses menu based program
menuconfig - Update current config utilising a menu based program
xconfig - Update current config utilising a QT based front-end
gconfig - Update current config utilising a GTK based front-end
oldconfig - Update current config utilising a provided .config as base
localmodconfig - Update current config disabling modules not loaded
localyesconfig - Update current config converting local mods to core
silentoldconfig - Same as oldconfig, but quietly, additionally update deps
defconfig - New config with default from ARCH supplied defconfig
savedefconfig - Save current config as ./defconfig (minimal config)
allnoconfig - New config where all options are answered with no
allyesconfig - New config where all options are accepted with yes
allmodconfig - New config selecting modules when possible
alldefconfig - New config with all symbols set to default
randconfig - New config with random answer to all options
listnewconfig - List new options
olddefconfig - Same as silentoldconfig but sets new symbols to their default value
Other generic targets:
all - Build all targets marked with [*]
* vmlinux - Build the bare kernel
* modules - Build all modules
modules_install - Install all modules to INSTALL_MOD_PATH (default: /)
firmware_install- Install all firmware to INSTALL_FW_PATH
(default: $(INSTALL_MOD_PATH)/lib/firmware)
dir/ - Build all files in dir and below
dir/file.[oisS] - Build specified target only
dir/file.lst - Build specified mixed source/assembly target only
(requires a recent binutils and recent build (System.map))
dir/file.ko - Build module including final link
modules_prepare - Set up for building external modules
tags/TAGS - Generate tags file for editors
cscope - Generate cscope index
gtags - Generate GNU GLOBAL index
kernelrelease - Output the release version string
kernelversion - Output the version stored in Makefile
image_name - Output the image name
headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH
(default: ./usr)
Static analysers
checkstack - Generate a list of stack hogs
namespacecheck - Name space analysis on compiled kernel
versioncheck - Sanity check on version.h usage
includecheck - Check for duplicate included header files
export_report - List the usages of all exported symbols
headers_check - Sanity check on exported headers
headerdep - Detect inclusion cycles in headers
coccicheck - Check with Coccinelle.
Kernel packaging:
rpm-pkg - Build both source and binary RPM kernel packages
binrpm-pkg - Build only the binary kernel package
deb-pkg - Build the kernel as a deb package
tar-pkg - Build the kernel as an uncompressed tarball
targz-pkg - Build the kernel as a gzip compressed tarball
tarbz2-pkg - Build the kernel as a bzip2 compressed tarball
tarxz-pkg - Build the kernel as a xz compressed tarball
perf-tar-src-pkg - Build perf-3.16.1.tar source tarball
perf-targz-src-pkg - Build perf-3.16.1.tar.gz source tarball
perf-tarbz2-src-pkg - Build perf-3.16.1.tar.bz2 source tarball
perf-tarxz-src-pkg - Build perf-3.16.1.tar.xz source tarball
Documentation targets:
Linux kernel internal documentation in different formats:
htmldocs - HTML
pdfdocs - PDF
psdocs - Postscript
xmldocs - XML DocBook
mandocs - man pages
installmandocs - install man pages generated by mandocs
cleandocs - clean all generated DocBook files
Architecture specific targets (x86):
* bzImage - Compressed kernel image (arch/x86/boot/bzImage)
install - Install kernel using
(your) ~/bin/installkernel or
(distribution) /sbin/installkernel or
install to $(INSTALL_PATH) and run lilo
fdimage - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
fdimage144 - Create 1.4MB boot floppy image (arch/x86/boot/fdimage)
fdimage288 - Create 2.8MB boot floppy image (arch/x86/boot/fdimage)
isoimage - Create a boot CD-ROM image (arch/x86/boot/image.iso)
bzdisk/fdimage*/isoimage also accept:
FDARGS="..." arguments for the booted kernel
FDINITRD=file initrd for the booted kernel
kvmconfig - Enable additional options for guest kernel support
x86_64_defconfig - Build for x86_64
i386_defconfig - Build for i386
make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build
make V=2 [targets] 2 => give reason for rebuild of target
make O=dir [targets] Locate all output files in "dir", including .config
make C=1 [targets] Check all c source with $CHECK (sparse by default)
make C=2 [targets] Force check of all c source with $CHECK
make RECORDMCOUNT_WARN=1 [targets] Warn about ignored mcount sections
make W=n [targets] Enable extra gcc checks, n=1,2,3 where
1: warnings which may be relevant and do not occur too often
2: warnings which occur quite often but may still be relevant
3: more obscure warnings, can most likely be ignored
Multiple levels can be combined with W=12 or W=123
Execute "make" or "make all" to build all targets marked with [*]
For further info see the ./README file
[root@apache linux-3.16.1]#
執行 make menuconfig命令 出現圖形
save
生成.config檔案
退出
提示執行make繼續或檢視幫助
執行 make命令,根據環境編譯kernel,生成模組檔案。等待一段時間
執行make all 生成核心檔案 和 模組檔案
[root@dns linux-3.16.1]# make all
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CERTS kernel/x509_certificate_list
- Including cert signing_key.x509
AS kernel/system_certificates.o
LD kernel/built-in.o
CHK include/generated/uapi/linux/version.h
LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
SORTEX vmlinux
SYSMAP System.map
TEST posttest
Succeed: decoded and checked 1702020 instructions
TEST posttest
arch/x86/tools/insn_sanity: Success: decoded and checked 1000000 random instructions with 0 errors (seed:0x769ca218)
VOFFSET arch/x86/boot/voffset.h
OBJCOPY arch/x86/boot/compressed/vmlinux.bin
GZIP arch/x86/boot/compressed/vmlinux.bin.gz
MKPIGGY arch/x86/boot/compressed/piggy.S
AS arch/x86/boot/compressed/piggy.o
LD arch/x86/boot/compressed/vmlinux
ZOFFSET arch/x86/boot/zoffset.h
AS arch/x86/boot/header.o
CC arch/x86/boot/version.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
OBJCOPY arch/x86/boot/vmlinux.bin
BUILD arch/x86/boot/bzImage
Setup is 17104 bytes (padded to 17408 bytes).
System is 5064 kB
CRC 67447bac
Kernel: arch/x86/boot/bzImage is ready (#2)
Building modules, stage 2.
MODPOST 2161 modules
[root@dns linux-3.16.1]#
執行 make modules_install 安裝模組
執行 make install
重啟
shutdown -r 0
選擇新的kernel啟動
檢視當前kernel,uname -r
升級核心完成
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-1257485/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux - 升級核心的操作步驟Linux
- oracle升級步驟Oracle
- Linux核心升級Linux
- centos7-kernel-upgrade-核心升級CentOS
- LINUX核心升級 (轉)Linux
- LINUX核心升級(轉)Linux
- mysql 5.5.42升級到5.6.24步驟MySql
- GoldenGate軟體升級步驟Go
- dp安裝包升級步驟
- CATIA許可證升級步驟
- MySQL 5.6.27升級MySQL 5.7.18版本的升級步驟介紹MySql
- 升級核心
- linux 升級系統核心Linux
- 曲折的gcc升級詳細步驟GC
- ubuntu核心升級Ubuntu
- 麒麟核心升級
- SAP 補丁升級步驟詳解 (轉)
- MySQL 升級詳細步驟 (包括 Percona)MySql
- ORACLE資料庫升級詳細步驟Oracle資料庫
- ORACLE 10G data guard 升級步驟Oracle 10g
- oracle 10.1.0.2 升級到10.2.0.4 步驟Oracle
- 轉載:Ubuntu 升級 golang 版本完美步驟UbuntuGolang
- 升級到Linux 2.4核心(轉)Linux
- Oracle資料庫從 9.2.0.1 到 9.2.0.8升級步驟for linuxOracle資料庫Linux
- 探索Oracle之資料庫升級二 11.2.0.3升級到11.2.0.4完整步驟Oracle資料庫
- CentOS 8 升級核心CentOS
- MySQL 5.6.19升級到 5.7.9 步驟介紹MySql
- Linux核心C語言將升級LinuxC語言
- LINUX核心及升級簡介(轉)Linux
- 升級Linux核心奮鬥記(轉)Linux
- windows10 家庭版升級專業版的圖文步驟(無損升級)Windows
- CentOS 7核心升級教程。CentOS
- CentOS系統核心升級CentOS
- Cent OS 6升級核心
- centos7 核心升級CentOS
- Oracle 11g升級PSU詳細步驟Oracle
- AIX 5.3下 升級補丁到10.2.0.5步驟AI
- Ubuntu 16.04 升級Linux 系統核心UbuntuLinux