[Exchange and share] 编译内核的教程,手动编译 kernel 的命令行教程
Tofloor
poster avatar
爱开发
deepin
2022-12-23 02:55
Author

image.png

安装 6.1.1 内核后,解决了无法使用蓝牙的问题

今天照例上论坛,看到有人安装 6.1.0 的内核成功了。
https://bbs.deepin.org/post/247537

该文章同时提到了参考文章,我也看了下,总结了下两篇文章。
https://bbs.deepin.org/post/237619

作为再创作者,我考虑到以后方便自己升级到更新的版本,于是根据总结,写了个一键安装的脚本。成功安装完成并重启后,发现右下角有蓝牙选项了,这个是惊喜……我曾经抱怨过,但一直没有解决方案。
https://bbs.deepin.org/post/245669

仅在 V23 下测试通过,脚本内容如下:

  1. 仅支持 apt 包管理工具

    可自行更改并安装相关依赖,以支持别的包管理器

  2. 需要 root 权限,仅在 Deepin V23 下测试过

  3. 添加可执行权限:chmod +x ./kernel.sh

  4. 执行命令:./kernel.sh 6.1.1 ,复制显示的黄色命令行,粘贴到终端执行
    可自行使用指定的 URL:

    ./kernel.sh 6.1.1 https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.1.tar.gz
    
  5. (4 次 Tab 键) -> Load(回车) -> OK(回车) -> (1 次 Tab 键) -> Exit(回车) -> Yes(回车)

  6. 当前目录下,生成的日志为 kernel.log

相关片段我已经放到托管平台了,以后有别的想法,会直接更新。

注意

  • 2023/05/11 6.3.1 正常编译

    image.png

  • 2023/11/20 6.6.1 正常编译

    image.png

Reply Favorite View the author
All Replies
1 / 2
To page
jjcui8595
deepin
2022-12-23 03:44
#1

大赞like

Reply View the author
Feng Yu
deepin
2022-12-23 17:36
#2

看脚本是自己编译的,为啥不用kernel ubuntu ppa提供的编译好的内核?

Reply View the author
babyfengfjx
Super Moderator
CQA
2022-12-23 17:47
#3

这个不错,仓库中也有6.1.0版本的内核,也可以直接安装试试~

Reply View the author
WangZhongyun
deepin
2022-12-23 18:12
#4

截图_2022-12-23_10-07-15.png
大佬厉害。不过最喜欢manjaro的这种内核管理方式。不知大佬能否与Deepin协作出来。

Reply View the author
WangZhongyun
deepin
2022-12-23 19:48
#5

sudo ./kernel.sh 6.1.1
请输入密码:
验证成功
sudo: ./kernel.sh:找不到命令

修改成下列就成功了:

sudo sh ./kernel.sh 6.1.1

Reply View the author
昨夜的星辰
deepin
2022-12-23 19:56
#6
WangZhongyun

sudo ./kernel.sh 6.1.1
请输入密码:
验证成功
sudo: ./kernel.sh:找不到命令

修改成下列就成功了:

sudo sh ./kernel.sh 6.1.1

首先赞一下楼主,我一直希望有人能写个类似这样的脚本,这装起新内核来多方便啊

另外,你用那个命令不成功的原因是不是你在sudo后面多加了一个:号?

Reply View the author
WangZhongyun
deepin
2022-12-23 20:23
#7
昨夜的星辰

首先赞一下楼主,我一直希望有人能写个类似这样的脚本,这装起新内核来多方便啊

另外,你用那个命令不成功的原因是不是你在sudo后面多加了一个:号?

应该不是,我原来是复制的

Reply View the author
WangZhongyun
deepin
2022-12-23 20:25
#8

完成那命令后重启进入系统还是原来的内核。再次命令情况如下:

sudo sh ./kernel.sh 6.1.1

请输入密码:
验证成功
./kernel.sh: 71: [[: not found
will install linux kernel 6.1.1

./kernel.sh: 78: [[: not found
./kernel.sh: 93: [[: not found
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
bison 已经是最新版 (2:3.8.2+dfsg-1)。
build-essential 已经是最新版 (12.9)。
flex 已经是最新版 (2.6.4-8)。
libc6-dev 已经是最新版 (2.35-1)。
libelf-dev 已经是最新版 (0.185-2)。
libidn11 已经是最新版 (1.33-3)。
libidn11-dev 已经是最新版 (1.38-4)。
libncurses5-dev 已经是最新版 (6.3-1)。
libssl-dev 已经是最新版 (3.0.2-1)。
minizip 已经是最新版 (1.1-8+b1)。
openssl 已经是最新版 (3.0.2-1)。
pkg-config 已经是最新版 (0.29.2-1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。

Current: 5.18.17-amd64-desktop-hwe ==> Target: 6.1.1-amd64-desktop-hwe

Reply View the author
爱开发
deepin
2022-12-23 21:15
#9
  1. apt search 搜不到6.1的内核,看到有说是只有内测用户才支持
  2. 忘记说,需要添加可执行权限了,即是需要:chmod +x kernel.sh
    或者说 ,可以使用 sudo bash ./kernel.sh 。sh 和 bash 语法上有些差别。
Reply View the author
爱开发
deepin
2022-12-23 21:17
#10
昨夜的星辰

首先赞一下楼主,我一直希望有人能写个类似这样的脚本,这装起新内核来多方便啊

另外,你用那个命令不成功的原因是不是你在sudo后面多加了一个:号?

需要添加可执行权限。

Reply View the author
tt67wq
deepin
2022-12-23 22:04
#11

马克

Reply View the author
爱开发
deepin
2022-12-23 22:15
#12
WangZhongyun

完成那命令后重启进入系统还是原来的内核。再次命令情况如下:

sudo sh ./kernel.sh 6.1.1

请输入密码:
验证成功
./kernel.sh: 71: [[: not found
will install linux kernel 6.1.1

./kernel.sh: 78: [[: not found
./kernel.sh: 93: [[: not found
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
bison 已经是最新版 (2:3.8.2+dfsg-1)。
build-essential 已经是最新版 (12.9)。
flex 已经是最新版 (2.6.4-8)。
libc6-dev 已经是最新版 (2.35-1)。
libelf-dev 已经是最新版 (0.185-2)。
libidn11 已经是最新版 (1.33-3)。
libidn11-dev 已经是最新版 (1.38-4)。
libncurses5-dev 已经是最新版 (6.3-1)。
libssl-dev 已经是最新版 (3.0.2-1)。
minizip 已经是最新版 (1.1-8+b1)。
openssl 已经是最新版 (3.0.2-1)。
pkg-config 已经是最新版 (0.29.2-1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 1 个软件包未被升级。

Current: 5.18.17-amd64-desktop-hwe ==> Target: 6.1.1-amd64-desktop-hwe

sudo bash ./kernel.sh 6.1.1

# 或者
chmod +x ./kernel.sh 6.1.1
# 再执行
sudo ./kernel.sh 6.1.1
Reply View the author
WangZhongyun
deepin
2022-12-23 23:55
#13
爱开发
sudo bash ./kernel.sh 6.1.1

# 或者
chmod +x ./kernel.sh 6.1.1
# 再执行
sudo ./kernel.sh 6.1.1

sudo bash ./kernel.sh 6.1.1
请输入密码:
验证成功
will install linux kernel 6.1.1

download kernel 6.1.1 from aliyun mirror

no found kernel package file 'linux-6.1.1.tar.gz'.

Reply View the author
WangZhongyun
deepin
2022-12-24 00:13
#14

截图_20221223161148.png

实际上那文件是存在的,不过下载速度确实有点慢

Reply View the author
greenice
deepin
2022-12-24 00:16
#15
WangZhongyun

sudo bash ./kernel.sh 6.1.1
请输入密码:
验证成功
will install linux kernel 6.1.1

download kernel 6.1.1 from aliyun mirror

no found kernel package file 'linux-6.1.1.tar.gz'.

wget那行在${VERSION}前面加上KERNEL-就可以了

Reply View the author
greenice
deepin
2022-12-24 00:18
#16
greenice

wget那行在${VERSION}前面加上KERNEL-就可以了

是linux-上面写错了

Reply View the author
WangZhongyun
deepin
2022-12-24 00:37
#17
greenice

是linux-上面写错了

但文件实际是存在的

截图_20221223161148.png

Reply View the author
greenice
deepin
2022-12-24 00:46
#18
WangZhongyun

但文件实际是存在的

截图_20221223161148.png

我下载还挺快的,没看时间,反正不一会儿就好了

Reply View the author
greenice
deepin
2022-12-24 00:46
#19
WangZhongyun

但文件实际是存在的

截图_20221223161148.png

我下载还挺快的,没看时间,反正不一会儿就好了

Reply View the author
WangZhongyun
deepin
2022-12-24 01:32
#20

安装时设置好像比较麻烦

Reply View the author
1 / 2
To page