小辛的互联网作坊

安装 Debian 12 设置 btrfs 子卷并编译新内核

2023-07-18
Linux
debian
linux
最后更新:2024-05-03
4分钟
790字

安装准备

最近将操作系统从 Fedora 38 换到 Debian 12 了,我又想体验新内核,所以记录一下安装过程和新内核的编译过程。 使用虚拟机 virt-manager 复刻安装过程。

default

  1. 操作系统:Debian 12
  2. 内核版本:Linux 6.1.10-amd64
  3. 桌面环境:Gnome 44
  4. u 盘启动:ventoy 1.0.93
  5. 系统镜像:debian-12.0.0-amd64-DVD-1.iso

系统安装

首先启动系统镜像选择 Expert install

default

进入下面这个界面之后前面根据自己需求安装,之后来到磁盘分区界面。

default

选择 Maual

default

选择磁盘后进入选择磁盘分区表类型界面,UEFI 启动方式的机型选择 gpt ,传统方式启动的选择 msdos

default

磁盘分区我的方案(UEFI)如下:

default

然后把磁盘改动写入,完成之后停在步骤install the base system这里。按键盘的Ctrl+Alt+F2进入终端。

default default

然后使用以下命令(图片):

default default default default default default

文字详情:

Terminal window
1
#查看分区挂载情况
2
df -h
3
4
#卸载 target 分区
5
umount /target/boot/efi
6
umount /target
7
8
#挂载 mnt
9
mount /dev/vda3 /mnt
10
11
#创建子卷
12
cd /mnt
13
mv @rootfs @
14
btrfs subvolume create @home
15
20 collapsed lines
16
#现在有两个 btrfs 子卷 @ 和 @home,用于支持 timeshift 备份。
17
18
#挂载子卷到分区(图示为虚拟机配置,以下为物理机配置,nvme硬盘)
19
20
mount -o rw,noatime,space_cache=v2,compress=zstd,ssd,discard=async,subvol=@ /dev/nvmexnxpx /target/
21
mkdir -p /target/boot/efi/
22
mkdir -p /target/home/
23
mount -o rw,noatime,space_cache=v2,compress=zstd,ssd,discard=async,subvol=@home /dev/nvmexnxpx /target/home
24
25
##将 efi 分区挂载回去
26
27
mount /dev/nvmexnxpx /target/boot/efi/
28
29
#编辑 fstab
30
31
nano /target/etc/fstab
32
33
#改成以下这样就可以保存了,使用 nano 按 Ctrl+K 可以剪切那一行,Ctrl+U 粘贴
34
UUID=2fd5d7b2-ceb0-4028-8381-3b38b3dcd658 / btrfs rw,noatime,space_cache=v2,compress=zstd,ssd,discard=async,subvol=@ 0 0
35
UUID=2fd5d7b2-ceb0-4028-8381-3b38b3dcd658 /home btrfs rw,noatime,space_cache=v2,compress=zstd,ssd,discard=async,subvol=@home 0 0

然后按Ctrl+Alt+F1回到安装界面 ,继续完成剩下的步骤就好了 default

安装完成

default default default

安装软件

配置国内软件源

Terminal window
1
cd /etc/apt/
2
sudo cp sources.list{,.bak} #备份源文件

然后将 CD 源注释掉,加入以下链接:

1
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
2
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
3
4
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
5
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
6
7
deb https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
8
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware
9
10
deb https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware
11
deb-src https://mirrors.ustc.edu.cn/debian-security/ bookworm-security main contrib non-free non-free-firmware

然后运行源索引更新,

Terminal window
1
sudo apt update
2
sudo apt upgrade

安装星火应用商店和 flatpak

使用以下命令编译并安装星火应用商店:

Terminal window
1
git clone https://gitee.com/deepin-community-store/spark-store.git
2
cd spark-store
3
./build_and_install.sh

使用以下命令安装 flatpak

Terminal window
1
sudo apt install flatpak
2
sudo apt install gnome-software-plugin-flatpak
3
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
4
flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub #国内镜像

安装 timeshift 并设置自动备份

使用以下命令安装

Terminal window
1
sudo apt install timeshift

default default

btrfs 格式的可以设置自动快照备份,方便的很。前提是要创建好前面的两个子卷。

编译新内核

进内核官网下载内核源码: https://kernel.org

default

我下载的是6.4.3版本的,就用这个版本编译。

Terminal window
1
#安装依赖等
2
sudo apt update
3
sudo apt install sudo apt-get install build-essential libncurses5-dev libssl-dev libelf-dev
4
sudo apt install flex dwarves bison rsync
5
6
#解压内核
7
8
tar xvJf linux-6.4.3.tar.xz
9
cd linux-6.4.3
10
sudo cp /boot/config-$(uname -r) .config #导出当前内核设置到目录下
11
make olddefconfig
12
make bindeb-pkg #我这里使用 deb-pkg 报错

编译完成后就会在内核源码目录的上一级目录下生成内核安装包,安装之后重启就行了。

default

参考资料

本文标题:安装 Debian 12 设置 btrfs 子卷并编译新内核
文章作者:Encore Xin
发布时间:2023-07-18
版权声明:本作品采用 「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可