您的位置:首页 > 运维架构 > Linux

在linux系统上安装多个内核

2017-09-08 14:46 162 查看
linux系统启动时,有一个选项,选择启动哪个内核,但是我的机器只安装了一个,能不能安装多个内核,然后启动时选择启动不同版本的内核呢?

答案是:完全可以。

先介绍一下我的这个使用情况:

我的主机是mips架构的(公司),在远程X86上进行编译,然后呢把编译好的内核,模块等拷贝到本地进行配置。

安装多个内核所需要的东西:

1,内核(这个当然需要了,就是配置这个东西麻)

2,对应这个版本内核的模块

3,编辑本地的boot.cfg(boot目录下)文件

这下呢知道了需要的东西,就取制作把。我是在远程X86上编译了,所以每次都写了一个脚本来进行编译的工作,效率快点嘛,这是我的脚本:


编译内核脚本:

export PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/bin/:$PATH

export LD_LIBRARY_PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/lib:/opt/gcc-4.4.7-7215-n64-loongson/usr/x86_64-unknown-linux-gnu/mips64el-redhat-linux/lib:$LD_LIBRARY_PATH

make ARCH=mips CROSS_COMPILE=mips64el-redhat-linux- -j32
编译模块脚本:
export PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/bin/:$PATH
export LD_LIBRARY_PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/lib:/opt/gcc-4.4.7-7215-n64-loongson/usr/x86_64-unknown-linux-gnu/mips64el-redhat-linux/lib:$LD_LIBRARY_PATH

make ARCH=mips CROSS_COMPILE=mips64el-redhat-linux- modules -j10
安装模块脚本:

export PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/bin/:$PATH
export LD_LIBRARY_PATH=/opt/gcc-4.4.7-7215-n64-loongson/usr/lib:/opt/gcc-4.4.7-7215-n64-loongson/usr/x86_64-unknown-linux-gnu/mips64el-redhat-linux/lib:$LD_LIBRARY_PATH   #声明交叉编译器的路径以及库

make ARCH=mips CROSS_COMPILE=mips64el-redhat-linux- modules_install INSTALL_MOD_PATH=./modules_test    #./modules_test表示最后把模块安装到当前的这个目录中

这就取得了所需要的东西(我的内核是4.4.69版本的):

vmlinuz(内核)

在modules_test下生成了一个目录lib,lib下有两个目录firmware,modules目录,modules中有一个名字是4.4.69的目录,这个4.4.69就是所需要的目录目录了。

所需要的东西好了,现在进行配置把。

配置:

1,首先把vmlinuz名字修改为vmlinuz-4.4.69并拷贝到boot目录下

2,把生成的4.4.69哪个模块目录拷贝到/lib/modules 目录下

3,对于这个firmware可以留着不使用,也可以把其中的内容拷贝到/lib/firmware目录下

最后配置boot.cfg文件:

#符号后为注释

title Fedora, with Linux-myself  #名字随便写
kernel (wd0,0)/vmlinuz-4.4.69   #对应自己内核的名字,最后也对应模块目录名字
initrd   			#这一行也可以不设置
args  root=/dev/sda3  rhgb quiet #启动参数
之后从新启动,就可以看见自己设置的内核了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: