环境
操作系统:Debian 12 BookWorm、Debian 11 BullsEye
适用架构:ARM64(鲲鹏 920、飞腾 FT-2000/4、D2000、D3000)
简介
海思鲲鹏(KunPeng)920 CPU 是华为海思推出的新一代自研处理器,兼容 ARM64 V8 指令集。
飞腾(Phytium)腾锐 FT-2000/4、D2000、D3000 由天津飞腾自研设计,同样兼容 ARM64 V8 指令集。
飞腾用户的注意事项
红旗 Linux 已经在 ARM64 平台给飞腾 Phytium 做了独立的启动分支,默认情况可以正常使用。但是有一个隐患。飞腾 FT-2000/4 的用户如果重新生成 grub.conf 文件,用户可能会遇到一个启动 Bug:在 GRUB 界面过后,看不到操作系统启动,而是屏幕左上角有一个不闪烁的光标,一直停留在此。这是由于飞腾主板的 UEFI 存在一个兼容性问题。因此,需要修改一下启动参数。
Debian 12 还没有加入这个补丁,看到 GRUB 启动界面后,摁下键盘“E”,编辑启动选项。在 linux 启动选项中增加一个参数“console=tty1”。然后,摁下键盘“F10”就可以正常启动了。安装完成后,为了避免留下隐患,请重复一下上述红旗 Linux 的步骤。
注意:某些 “飞腾” 主板安装优麒麟、Debian 11 或者铜豌豆 11,有可能造成主板的 UEFI 固件损坏而无法开机。已知受此 Bug 影响的品牌:曙光、宝德。
Debian 12 BookWorm 没有这个问题。
Debian 社区官方的回复:
Hello, I would do a manual debootstrap/mmdebstrap installation. Partition manual the efi Partition and rootfs. If you add EFI/boot/bootaarch64.efi to the efi Partition it should be the fallback if every UEFI implementation. Thus way you don't need to write to the UEFI variables.
Best regards
Georg
06.05.2023
原文,https://lists.debian.org/debian-arm/2023/05/msg00011.html
鲲鹏用户的注意事项
用户可能会遇到一个启动 Bug,就是当 Linux 内核版本在 5.10 及以上的时候,启动过程可能会报错。看不到操作系统安装界面。这是由于鲲鹏主板的 UEFI 和 linux 内核存在一个兼容性问题。因此,需要修改一下启动参数。请参照上述飞腾用户的操作步骤。看到 GRUB 启动界面后,摁下键盘 “e”,编辑启动选项。在 linux 启动选项中增加一个参数 “initcall_blacklist=hisi_ddrc_pmu_module_init”。
然后,摁下键盘 “F10” 就可以正常启动了。
红旗 Linux 使用昆仑固件的主板可以顺利安装,使用百敖固件的主板可能会在系统安装完成后,找不到硬盘启动项。
1、下载安装镜像 ISO
Debian Linux 官方网站,https://www.debian.org/CD/http-ftp/
镜像站,https://mirrors.cloud.tencent.com/debian-cd/
镜像站,https://mirrors.ustc.edu.cn/debian-cd/
使用 Ventoy(强烈推荐,目前同时支持 AMD64、ARM64 和 MIPS64EL 架构的操作系统 ISO)或 Rufus 或 Etcher 制作安装优盘。
Ventoy,https://www.ventoy.net/
按照提示安装就可以了。
2、UEFI 引导
如果遇到 UEFI 找不到 Debian 引导项的瑕疵,请参考《UEFI 主板手动设置硬盘的引导启动》 https://my.oschina.net/chipo/blog/10021751
3、环境变量
如果遇到 “找不到命令” 的问题。
# nano /etc/profile
在最后添加下边一行语句。
export PATH=/sbin:PATH=/usr/sbin:$PATH
完成后,保存,退出。
更新一下环境。
# source /etc/profile
4、将当前用户添加到 sudoer
获取 /etc/sudoers 文件的写权限
# chmod u+w /etc/sudoers
编辑配置文件
# nano /etc/sudoers
在 % sudo ALL = (ALL:ALL) ALL 这一行下边加入自己的用户名,比如 user。
user ALL=(ALL:ALL) ALL
保存退出。
修改 /etc/sudoers 文件属性为只读。这时就可以使用 sudo 命令了。
sudo chmod -w /etc/sudoers
4、GRUB 文件默认设置
进入系统后,要编辑一个文件。
# nano /etc/default/grub
在选项 GRUB_CMDLINE_LINUX_DEFAULT 中飞腾用户加入参数“console=tty1”,鲲鹏用户加入参数 “initcall_blacklist=hisi_ddrc_pmu_module_init”。这样就可以避免内核升级后将启动选项覆盖掉的问题了。
重新生成 grub.cfg 文件。
# grub-mkconfig -o /boot/grub/grub.cfg
5、EFI 启动时的瑕疵
如果你的 Debian 可以从硬盘顺利启动,请忽略此步骤。我在鲲鹏或飞腾的电脑上安装 Debian 12 BookWorm。这些 PC 基于 ARM64 UEFI 平台。重启后 UEFI 找不到 Debian 的 EFI 引导文件,GRUB 不能引导。这时请跳转到第 2 步。这些 UEFI 固件由昆仑太科或百敖软件制作。安装 Debian 后,硬盘的 EFI 分区里文件夹 EFI/boot 里默认没有引导文件 bootaa64.efi 和 grubaa64.efi 。因为这时给可移动的介质准备的,比如优盘或光盘。从第 2 步登入系统后,如果尝试按照可移动介质的方式引导硬盘里的 Debian,可以复制 EFI/boot/debian 里的 shimaa64.efi 和 grubaa64.efi 到 EFI/boot。重命名 EFI/boot/shimaa64.efi 为 EFI/boot/bootaa64.efi。
# cp EFI/debian/shimaa64.efi EFI/boot/bootaa64.efi
# cp EFI/debian/grubaa64.efi EFI/boot/grubaa64.efi
向 Debian 社区发出的关于 UEFI 引导 Bug 的邮件。https://lists.debian.org/debian-boot/2023/03/msg00024.html
为了帮助支持那些不幸拥有这种错误 UEFI 系统的人,有一个选项可以强制将 grub-efi 安装到可移动介质路径。有一个 d-i Rescue Mode 选项可以强制实现这一点 —— 如果你刚刚在 UEFI 系统上安装了 Debian,但之后它无法启动 Debian,这可能会为你解决这个问题。也可以在使用专家模式的正常安装运行期间选择它,或者 Preseed 用户可以在他们的配置中添加以下选项(对于 amd64,调整软件包名称以适应其他体系结构):
# grub-efi-arm64 grub2/force_efi_extra_removable boolean true
您也可以通过使用 dpkg-reconfigure 命令来选择它。推荐使用这个方法。
# dpkg-reconfigure grub-efi-arm64
在配置工具提出的其他问题里,这是我们要寻找的那一个:
如果一个可引导的 Debian 安装程序映像不可用,那么作为临时措施,使用任何可用的方法将 \EFI\debian\grubx64.efi 复制到 \EFI\boot\bootx64.efi (其他操作系统,将存储设备连接到不同的计算机,等等)。而且你应该可以进入你的系统。一旦你让它正常启动,你应该像上面一样重新配置 grub,这样你的 Debian 系统将来也会知道这样做。
警告!如果您不在这里适当地重新配置 grub,那么在将来的升级中,grub 包将不知道更新可移动介质路径中的副本。当 grub 发生变化时,这可能会使您的系统无法启动。
关于这个 Bug 的详情,请参考《正常引导 UEFI 机器》https://my.oschina.net/chipo/blog/8559560
飞腾用户请注意:
建议不要向 NVRAM 写入数据。可能会造成主板 UEFI 固件的损坏。
FCITX5
请参考《fcitx5 小企鹅输入法的安装》https://my.oschina.net/chipo/blog/4339067
UKUI
请参考《UKUI 的安装(Debian)》https://my.oschina.net/chipo/blog/5284135
CuteFish
一键安装版,https://gitee.com/moore123/CutefishDEBuild.sh
更多内容请参考《CuteFish 桌面环境的安装》https://my.oschina.net/chipo/blog/5077196
飞腾用户的注意事项2
Debian 的内核没有集成飞腾的网卡、声卡、exFAT……等驱动。因此非常有必要安装带驱动的内核,这里可以使用银河麒麟的内核。
内核文件可以从安装光盘或安装的好本地操作系统中复制出来,也可以从软件仓库下载。
软件仓库1,http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/main/l/linux/
本文完成时,正常使用的内核相关文件如下。
linux-image-5.4.18-85-generic_5.4.18-85.74_arm64.deb
以下4个软件包是可选项。
linux-headers-5.4.18-85_5.4.18-85.74_all.deb
linux-headers-5.4.18-85-generic_5.4.18-85.74_arm64.deb
linux-modules-5.4.18-85-generic_5.4.18-85.74_arm64.deb
linux-modules-extra-5.4.18-85-generic_5.4.18-85.74_arm64.deb
内核固件1,http://archive.kylinos.cn/kylin/KYLIN-ALL/pool/main/l/linux-firmware/
linux-firmware_1.205kylin1_all.deb
安装新内核。
sudo dpkg -i linux*.deb
GRUB-Customizer
安装 GRUB-Customizer
sudo apt install grub-customizer
sudo grub-customizer
切换标签到“常规设置”,选择银河麒麟的内核(比如 5.4.18-89)为默认项。
保存,退出。
Debian 11 Bullseye
仅适用于红旗 Linux 的用户。Debian 10 Buster 略显“古老”,通过修改软件仓库可以将系统升级至 11 Bullseye。
备份原文件。
cd /etc/apt/sources.list.d/
sudo cp debian-buster.list debian-buster.list.save
建立新文件。
sudo mv debian-buster.list debian-bullseye.list
修改仓库地址。
sudo nano debian-bullseye.list
将 buster 改为 bullseye。保存后退出。
更新仓库。
sudo apt update
升级系统
sudo apt full-upgrade
安装 Debian 的内核
sudo apt install linux-image-arm64 或 sudo apt install linux-image-5.10.0-8-arm64
“5.10.0-8”是 Linux 内核的版本号。
这时候,如果是飞腾用户,请先不要重启。还有一些其他的准备工作。