2019-10-12 21:46:06 linux_hua130 阅读数 39
  • 安卓编译与开发、Linux内核及驱动

    安卓编译与开发、Linux内核及驱动视频教程,该课程内容包括一、源码编译:1、常见的ROM种类、谷歌的ROM、第三方的ROM2、区别3、RockChip的ROM、4、编译环境配置、源码下载、编译命令;二、源码开发:源码结构分析、Launcher开发、需求分析、系统级应用;三、内核讲解:内核用途、内核结构、内核职能、内核源码编译、驱动开发;四、内核开发:1、体系架构、目录结构、中断机制、内核进程控制、2、内核库文件、例子简单分析、3、内核调度流程4、内核组件工具 嘉宾介绍:仝利,英文名Burning,CSDN博客讲师,多年主要从事于流媒体,网络通讯,p2p等技术的开发与研究。目前在创业,产品是面向企业会议室和家庭客厅的多媒体通讯盒子的开发。国内还没有相关产品,预计产品会在8月份上市。

    9278 人正在学习 去看看 CSDN讲师
您可能因多种原因需要确切知道GNU / Linux操作系统上运行的内核版本。 也许您正在调试与硬件相关的问题,或者了解影响旧内核版本的新安全漏洞,并且您想知道您的内核是否易受攻击。

无论是什么原因,从命令行确定Linux内核版本都非常容易。
查看Linux内核版本查看Linux内核版本

使用`uname`命令查看Linux内核版本

uname命令显示多个系统信息,包括Linux内核体系结构,名称版本和发行版。

要找出系统上正在运行的Linux内核版本,请输入以下命令:

uname -srm

输出结果:

Linux 3.10.0-957.12.2.el7.x86_64 x86_64
3 - 内核版本.
10 - 主修订版本.
0-957 - 次要修订版本.
12 - 补丁版本.

使用`hostnamectl`命令查看内核版本

hostnamectl实用程序是systemd的一部分,用于查询和更改系统主机名。 它还显示Linux发行版和内核版本:

hostnamectl
Static hostname: CentOS7.linuxrumen.com
Icon name: computer-vm
Chassis: vm
Machine ID: 20c27040135a4d46b2d3d07180f37303
Boot ID: 2f495af0684e4adfb34f0366f2567460
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-957.12.2.el7.x86_64
Architecture: x86-64

使用以下命令只显示当前内核版本:

hostnamectl | grep -i kernel

查看Linux内核版本查看Linux内核版本

通过查看/proc/version文件确认内核版本

/proc目录包含虚拟文件,其中包含有关系统内存,CPU内核,已安装文件系统等的信息。有关正在运行的内核的信息存储在/proc/version虚拟文件中。
结合cat查看文件内容:

cat /proc/version

输出结果如下:

Linux version 3.10.0-957.12.2.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) 1 SMP Tue May 14 21:24:32 UTC 2019

结论

我们已经向您展示了如何从命令行查找在您的系统上运行的Linux内核的版本。 这些命令适用于所有流行的Linux发行版,包括Debian,Red Hat,Ubuntu,Arch Linux,Fedora,CentOS,Kali Linux,OpenSUSE,Linux Mint等。

https://article.pchome.net/content-2101415.html
http://www.51cto.com/it/news/2019/1009/15170.html

2019-06-02 13:57:58 a932432866 阅读数 1221
  • 安卓编译与开发、Linux内核及驱动

    安卓编译与开发、Linux内核及驱动视频教程,该课程内容包括一、源码编译:1、常见的ROM种类、谷歌的ROM、第三方的ROM2、区别3、RockChip的ROM、4、编译环境配置、源码下载、编译命令;二、源码开发:源码结构分析、Launcher开发、需求分析、系统级应用;三、内核讲解:内核用途、内核结构、内核职能、内核源码编译、驱动开发;四、内核开发:1、体系架构、目录结构、中断机制、内核进程控制、2、内核库文件、例子简单分析、3、内核调度流程4、内核组件工具 嘉宾介绍:仝利,英文名Burning,CSDN博客讲师,多年主要从事于流媒体,网络通讯,p2p等技术的开发与研究。目前在创业,产品是面向企业会议室和家庭客厅的多媒体通讯盒子的开发。国内还没有相关产品,预计产品会在8月份上市。

    9278 人正在学习 去看看 CSDN讲师

Linux升级内核以及删除Linux多余的内核

很多童鞋在玩耍linux发行版的时候,都会遇到各种各样的问题,比如:网卡不能使用,亮度不能调节,触摸板不能识别,蓝牙不能使用等等,这些关系都和linux的内核有关系。

什么是linux内核?

Linux内核(英语:Linux kernel),是一种开源的类Unix操作系统宏内核。

Linux内核最早是于1991年由芬兰黑客林纳斯·托瓦兹为自己的个人计算机开发的,他当时在Usenet新闻组comp.os.minix登载帖子,这份著名的帖子标志着Linux内核计划的正式开始。如今,该计划已经拓展到支持大量的计算机体系架构,远超其他操作系统和内核。它迅速吸引了一批开发者和用户,利用它作为其他自由软件项目的内核,如著名的 GNU 操作系统。

内核长什么样子呢?

有精力的同学可以去学习学习!

查看当前内核
打开终端执行:

uname -r

cat /proc/version 

4.15.0-32-generic

当前电脑内核为4.15版本,一般更换内核我们是将内核升级为更高版本。

下载内核

目前下载有很多地址,我主要使用以下两个:

1.github上下载linux kernel
2.ubuntu的仓库中下载linux kernel
内核需要下载那些文件?

目前ubuntu 18.04已经使用4.15版本内核,linux mint 19也使用4.15版本内核。

在4代版本中4.16和4.17有安装上的区别:

下面是4.16版本的文件选择:

下面是4.17版本的文件选择:

安装顺序

使用sudo dpkg -i ***.deb 的形式安装。

首先安装linux-headers-4.17.0-041700_4.17.0-041700.201806041953_all.deb

安装linux-headers-4.17.0-041700-generic_4.17.0-041700.201806041953_amd64.deb

安装linux-modules-4.17.0-041700-generic_4.17.0-041700.201806041953_amd64.deb

安装linux-image-unsigned-4.17.0-041700-generic_4.17.0-041700.201806041953_amd64.deb

如果是4.16版本及以前内核,此文件是没有的,也不需要安装。

安装完成后重启即可。

删除多余内核

1. 查看当前系统安装的内核

dpkg --get-selections| grep linux

linux-image-4.2.0-21-generic deinstall
linux-image-4.2.0-22-generic deinstall
linux-image-4.4.0-31-generic deinstall
linux-image-4.4.0-34-generic install
linux-image-4.4.0-36-generic install
linux-image-4.4.0-38-generic install
linux-image-4.4.0-42-generic install
linux-image-extra-4.2.0-21-generic deinstall
linux-image-extra-4.4.0-31-generic deinstall
linux-image-extra-4.4.0-34-generic deinstall
linux-image-extra-4.4.0-36-generic deinstall
linux-image-extra-4.4.0-38-generic install
linux-image-extra-4.4.0-42-generic install
linux-image-generic install

2. 卸载内核

可以看到系统已经安装了多个内核版本,包括 headers 和 image ,可以删除这些来卸载旧的内核。

比如删除 4.4.0-22 内核,我们看到上面只有 headers,因此可以这样:

sudo apt-get remove --purge linux-headers-4.4.0-22

sudo apt-get remove --purge linux-image-4.2.0-22-generic

以此类推。

然后终端执行:

sudo apt-get autoclean
sudo apt-get autoremove

然后重启电脑即可。

reboot

END

2018-07-04 16:52:33 tenorange 阅读数 12863
  • 安卓编译与开发、Linux内核及驱动

    安卓编译与开发、Linux内核及驱动视频教程,该课程内容包括一、源码编译:1、常见的ROM种类、谷歌的ROM、第三方的ROM2、区别3、RockChip的ROM、4、编译环境配置、源码下载、编译命令;二、源码开发:源码结构分析、Launcher开发、需求分析、系统级应用;三、内核讲解:内核用途、内核结构、内核职能、内核源码编译、驱动开发;四、内核开发:1、体系架构、目录结构、中断机制、内核进程控制、2、内核库文件、例子简单分析、3、内核调度流程4、内核组件工具 嘉宾介绍:仝利,英文名Burning,CSDN博客讲师,多年主要从事于流媒体,网络通讯,p2p等技术的开发与研究。目前在创业,产品是面向企业会议室和家庭客厅的多媒体通讯盒子的开发。国内还没有相关产品,预计产品会在8月份上市。

    9278 人正在学习 去看看 CSDN讲师

Ubuntu14.04.5默认Linux内核版本号是4.4.0-31,这几天为了换一个低版本的内核,在网上查了蛮多帖子,最后虽然有点小问题(切换内核版本不是很方便),但总算是勉强更换成功。

试了几个方法不行后,按照 https://blog.csdn.net/xin_yu_xin/article/details/42184899 这篇帖子的方法成功更换。博主的步骤基本没问题,我是一步一步对照着进行的,这里将我遇到的意外情况说明一下。

首先第5步的(2),#make mrproper,这一步按照博主说的,如果使用刚下载的完整的源程序包即第一次进行编译,这一步省略,这一步会把上一步(1)的 .config文件删除,我稀里糊涂运行了这一句,于是又把(1)在复制一次。

然后第6步make时,提示我 警告: 检测到时钟错误。您的创建可能是不完整的,开始以为反正是警告就忽略了,结果make了5 6个小时还没make完,于是按ctrl+c停止,再make clean,准备解决警告再重新make。按照 https://blog.csdn.net/maopig/article/details/6599660 说明的,使用语句

find . -type f -exec touch {} \;

警告完美解除(上面这条语句,看起来有点奇怪,最后是个\;,开始还真有点不相信),最后make了几十分钟就成功结束了。

再就是第10步,提示


于是在改成/usr/sbin/update-initramfs -c -k 3.2.65,也不知道改的对不对,反正我就当这样是可以的,最后内核是成功能用了。

第12步的设置没有按照博主的说明,而是另外找了蛮多帖子,最后是用命令sudo gedit /etc/default/grub来更改GRUB_DEFAULT的值。


这里我也不知道我的3.16.57应该把值设置成多少,反正我设置成2后,重新启动,进入了Memory test(如下蓝屏所示)


然后按Esc,再按住shift回到下面这个界面


这里可以看到GRUB_DEFAULT=2对应的是Memory test,由于我这里没有显示3.16.57,所以我不能通过直接设置GRUB_DEFAULT来进入3.16.57.但是选择Ubuntu高级选项,可以选择不同的Linux内核版本。


这里再选择Ubuntu,Linux 3.16.57就可以成功进入刚装好的新版本Linux了。

2011-07-04 10:32:01 Pc620 阅读数 4884
  • 安卓编译与开发、Linux内核及驱动

    安卓编译与开发、Linux内核及驱动视频教程,该课程内容包括一、源码编译:1、常见的ROM种类、谷歌的ROM、第三方的ROM2、区别3、RockChip的ROM、4、编译环境配置、源码下载、编译命令;二、源码开发:源码结构分析、Launcher开发、需求分析、系统级应用;三、内核讲解:内核用途、内核结构、内核职能、内核源码编译、驱动开发;四、内核开发:1、体系架构、目录结构、中断机制、内核进程控制、2、内核库文件、例子简单分析、3、内核调度流程4、内核组件工具 嘉宾介绍:仝利,英文名Burning,CSDN博客讲师,多年主要从事于流媒体,网络通讯,p2p等技术的开发与研究。目前在创业,产品是面向企业会议室和家庭客厅的多媒体通讯盒子的开发。国内还没有相关产品,预计产品会在8月份上市。

    9278 人正在学习 去看看 CSDN讲师

很久没上CSDN了,最近开始在做RAID测试和调优相关的工作~

 

 

对于已编译了多个内核版本的情况下,修改Linux默认启动的内核方法如下:

①编辑grub.conf文件:

    vi /etc/grub.conf

②修改"default="后面的数值,改为需要启动的内核编号(下面会依次列有编译成功的每个内核版本,编号从0开始),例如"default=0"

③最后再重启系统即可进入我们选择的内核版本。

 

 

grub.conf文件示例:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda3
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.29.6)
        root (hd0,0)
        kernel /vmlinuz-2.6.29.6 ro root=LABEL=/1
        initrd /initrd-2.6.29.6.img
title CentOS (2.6.29.6rc1)
        root (hd0,0)
        kernel /vmlinuz-2.6.29.6rc1 ro root=LABEL=/1
        initrd /initrd-2.6.29.6rc1.img
title CentOS (2.6.32.27)
        root (hd0,0)
        kernel /vmlinuz-2.6.32.27 ro root=LABEL=/1
        initrd /initrd-2.6.32.27.img
title CentOS (2.6.test)
        root (hd0,0)
        kernel /vmlinuz-2.6.29testtest ro root=LABEL=/1
        initrd /initrd-2.6.29testtest.img
title CentOS (2.6.34.7)
        root (hd0,0)
        kernel /vmlinuz-2.6.34.7 ro root=LABEL=/1
        initrd /initrd-2.6.34.7.img
title CentOS (2.6.35.9)
        root (hd0,0)
        kernel /vmlinuz-2.6.35.9 ro root=LABEL=/1
        initrd /initrd-2.6.35.9.img
title CentOS (2.6.36.4)
        root (hd0,0)
        kernel /vmlinuz-2.6.36.4 ro root=LABEL=/1
        initrd /initrd-2.6.36.4.img
title CentOS (2.6.38.8)
        root (hd0,0)
        kernel /vmlinuz-2.6.38.8 ro root=LABEL=/1
        initrd /initrd-2.6.38.8.img
title CentOS (2.6.18-238.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/1
        initrd /initrd-2.6.18-238.el5.img
2017-02-25 19:03:17 u011310383 阅读数 459
  • 安卓编译与开发、Linux内核及驱动

    安卓编译与开发、Linux内核及驱动视频教程,该课程内容包括一、源码编译:1、常见的ROM种类、谷歌的ROM、第三方的ROM2、区别3、RockChip的ROM、4、编译环境配置、源码下载、编译命令;二、源码开发:源码结构分析、Launcher开发、需求分析、系统级应用;三、内核讲解:内核用途、内核结构、内核职能、内核源码编译、驱动开发;四、内核开发:1、体系架构、目录结构、中断机制、内核进程控制、2、内核库文件、例子简单分析、3、内核调度流程4、内核组件工具 嘉宾介绍:仝利,英文名Burning,CSDN博客讲师,多年主要从事于流媒体,网络通讯,p2p等技术的开发与研究。目前在创业,产品是面向企业会议室和家庭客厅的多媒体通讯盒子的开发。国内还没有相关产品,预计产品会在8月份上市。

    9278 人正在学习 去看看 CSDN讲师

2.4

2001.1.4

Linux2.4.0版本内核发布。

2.6

2003.12.17

Linux2.6版本内核发布,与2.4内核版本相比,它在很多方面进行了改进,如支持多处理器配置和64位计算,它还支持实现高效率线和处理的本机POSIX线程库(NPTL)。实际上,性能、安全性和驱动程序的改进是整个2.6.x内核的关键。

3.2 

2012-01-04


3.4

2012.05.20


 4.1

2016-01-10


4.9

2016-12-11








没有更多推荐了,返回首页