操原作业一:在ubantu中如何编译一个新内核
1. 准备工作
1)切换为管理员权限,sudo –i
输入用户密码 进入root 权限
2)查看内核版本
3)准备安装环境
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的编程库(gcc, make 等)
kernel-package (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig 要调用的)
libqt3-headers (make xconfig 要调用的)
可能会出现E:无法定位软件包的问题
解决办法
.在修改source.list前,最好先备份一份
执行备份命令
cp /etc/apt/sources.list /etc/apt/sources.list.old
执行命令打开source.list文件:
vim /etc/apt/source.list
或者
gedit /etc/apt/source.list
(只截了这一张,但确实是这个命令)
.复制源
把下面的复制到source.list中去,并覆盖原来的文件内容。
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial main restricted #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial multiverse
deb http://mirror.neu.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted
deb-src http://mirror.neu.edu.cn/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security universe
deb http://mirror.neu.edu.cn/ubuntu/ xenial-security multiverse
清华大学
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
update命令
apt-get update
2. 下载特定版本的内核源代码 http://www.kernel.org
我下载的是最新版的linux-5.0
3. 复制源码linux-5.0.tar.xz 到/usr/src 目录,解压缩
解压缩
tar –xvf linux-5.0.tar
解压后生成 linux-5.0 目录
4、配置菜单
进入内核文件夹,打开可视化菜单
make menuconfig
出现如图所示错误(图找不到了,总之就是如果没有安装下面三个东西 )
apt-get install bison
apt-get install flex
apt-get install libssl-dev
安装后按照需要配置内核菜单
5、编译
1)编译内核
make bzImage
要等超过一个小时。。。
2)编译模块
make modules
这里出现了错误
解决方法
apt-get install libelf-dev
6、安装
1)安装模块
make modules_install
2)安装内核
make install
7、配置grub
更新grub启动信息
update-grub
重启
验证
查看当前内核版本
uname -rm