Linux内核编译和安装

  1. 下载对应的linux内核源码,

       //The Linux Kernel Archives

2、传输到要安装内核的服务器系统中的对应根目录下“/usr/src”,

        scp –p 端口号 源文件 username@IP地址:~/

        例如:scp –p 8090 linux-5.18.2.tar.xz femu@localhost:~/

3、进入到/usr/src目录下,解压缩:tar xvf linux-5.18.2.tar.xz

4、进入内核文件中,清理之前预编译文件

        make clean

        make mrproper //删除以前的垃圾文件

5、进入内核文件中,从当前机器的启动目录拷贝配置信息到源代码目录。这步操作的意思是我们编译内核的配置采用用当前环境一致的配置

        cp -v /boot/config-$(uname -r) .config

6、进入内核文件夹中,安装需要的依赖库,

        sudo apt-get install libncurses5-dev libssl-dev -y

        sudo apt-get install build-essential openssl -y

        sudo apt-get install zlibc minizip -y

        sudo apt-get install libidn11-dev libdn11 -y

        sudo apt-get install bison -y

        sudo apt-get install flex -y

        sudo apt-get install libelf-dev -y

        sudo apt-get install libelf-devel -y

        sudo apt-get install elfutils-libelf-devel –y

        sudo apt-get install flex –y

        sudo apt-get install bison -y

备注://Ubuntu 编译linux内核依赖:sudo apt install libncurses5-dev openssl libssl-dev build-essential pkg-config libc6-dev bison flex libelf-dev zlibc minizip libidn11-dev libidn11 qttools5-dev liblz4-tool

7、linux提供三种修改配置命令

        // 不建议使用

        sudo make config

        // 建议使用(图形界面,键盘操作)

        sudo make menuconfig

        // 强烈建议使用(图形界面,鼠标操作)

        sudo make gconfig

8、编译内核

          make –j 4/8 //根据机器分配的具体的核心数编译

         //sudo make all  //编译全部,如果采用以上方法,则不用这个命令

9、安装对应的模块

        sudo make modules_install 

10、安装内核

        sudo make install

11、重启

        reboot


经常遇到问题

第一种:make[1]: *** No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'.  Stop.
make: *** [Makefile:1822: certs] Error 2

make[1]: *** No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'.  Stop.
make: *** [Makefile:1822: certs] Error 2

解决方法;

修改 .config中对应的CONFIG_SYSTEM_TRUSTED_KEYS置空(如果是在Ubuntu中,最好也将CONFIG_SYSTEM_REVOCATION_KEYS置空)

查找方法:sudo vim .config, 然后采用"/string"查找具体的条目

第二种,如果是发现缺少对应的依赖库,根据提示去查找.

第三种,编译完成,也安装完成,但是进入的时候碰到  end Kernel panic - not syncing:System is deadlocked on memory问题,

解决方法:将虚拟机分的内存划分的大一点,比如2G调为4G大小就可以了,

你可能感兴趣的:(linux,linux,服务器)