• Linux内核编译和运行


    内核获取网站:https://www.kernel.org/pub/linux/kernel/

    步骤如下:

    1、打开终端,更改用户权限为root。具体做法是在终端输入sudo su,然后按提示输入密码。判断是否是root用户是使用whoami命令,若输出为root则已经切换到root账户。

    2、输入mv linux-2.6.36.tar.gz  /usr/src,目的是把下载的内核源代码文件移到/usr/src目录。

    3、输入cd /usr/src切换到该目录下。

    4、输入tar zxvf linux-2.6.36.tar.gz,目的是解压内核包,生成的源代码放在linux-2.6.36目录下。

    5、输入cd linux-2.6.36,切换到该目录下。

    6、输入cp /boot/config-,然后按下Tab键,系统会自动填上该目录下符合条件的文件名,然后继续输入 .config,目的是使用在boot目录下的原配置文件。

    7、配置内核

    方法很多,主要有如下几种:

    make mrproper

    #make menuconfig  //基于ncurse库编制的图形工具界面

    如果没有ncurse 库

    Ubuntu: 运行apt-getinstall libncurses5-dev 

    fedora : 运行 yum install ncurses-devel

    #make config  //基于文本命令行工具,不推荐使用

    #make xconfig  //基于X11图形工具界面

    #make gconfig  //基于gtk+的图形工具界面

    由于对Linux还处在初学阶段,所以选择了简单的配置内核方法,即make menuconfig。在终端输入make menuconfig,等待几秒后,终端变成图形化的内核配置界面。进行配置时,大部分选项使用其缺省值,只有一小部分需要根据不同的需要选择。

    对每一个配置选项,用户有三种选择,它们分别代表的含义如下:

    <*>或[*]——将该功能编译进内核

    []——不将该功能编译进内核

    [M]——将该功能编译成可以在需要时动态插入到内核中的代码

    注意:SCSI 虚拟机的话要编译进去

    8、编译内核只需在终端输入make,然后等待编译的完成。 

    9、sudo make modules  (编译模块)
     
    10、sudo make modules_install  (安装模块)
     
    11、make install
     
    PS:  以下是内核无法启用的时候照下面做:

     

    sudo mkinitramfs -o /boot/initrd.img-2.6.36

    sudo update-initramfs -c -k 2.6.36

    sudo update-grub2  //自动修改系统引导配置,产生grub.cfg启动文件。

     

    注意: 

    之前安装内核2.6.32版本总是失败,虽然和gcc 高版本有点关联,但修改了内核文件,是可以兼容高版本的gcc,之后发现有可能是和我Ubuntu版本12.4有冲突,要么和GRUB2 有点关联,要么和图形界面有点关联,但做人要有恒心,做不出来也要想办法搞出来,之后我又下载了一个2.6.36版本,因为老师的龙芯系统就是2.6.36的内核,安装我电脑虚拟机,果然成功!发现是2.6.32版本太早导致有可能失败,我之前的内核版本是3.8.13.

     

  • 相关阅读:
    权限设计
    ts infer关键字
    Array初始化 以及 Array.prototype.map()的一些问题
    同步、异步、事件循环
    Spring学习笔记(一)
    【面试】关于get和post两种方法的不同。
    【算法】背包问题
    当你在浏览器输入一个网址(如http://www.taobao.com),按回车之后发生了什么?
    数据库语句复习笔记
    【算法】雀魂启动(笔试题)
  • 原文地址:https://www.cnblogs.com/firstrate/p/3462311.html
Copyright © 2020-2023  润新知