龙芯 3A4000 安装 Debian stable

您所在的位置:网站首页 livecd启动 龙芯 3A4000 安装 Debian stable

龙芯 3A4000 安装 Debian stable

#龙芯 3A4000 安装 Debian stable| 来源: 网络整理| 查看: 265

2022-01-17

2022-06-04 更新 v0.0.3

版权声明:原创文章,未经博主允许不得转载

3A5000 开始,龙芯转向 loongarch ,新的架构虽然甩掉了历史包袱,但也需要一段时间来积累生态。在这半年多的时间里, loongnix20 loongarch64 进展飞速。如今龙芯的二进制翻译已经可以运行愤怒的小鸟等耳熟能详的游戏、PhotoShop CS6 等常用的 Windows 软件,而原生的(网页)微信和(第三方)qq 也为 loongarch 的日常使用加了一把劲。而 loongnix20 mips64el 这边则略显惨淡,已经有好几个月没有收到更新了,于是我不得不转向对龙芯 3A4000 及其之前的 cpu 支持改观巨大的 Debian 。

当然,当前 3A5000 因为没有支持而不能安装 Debian ,但是 Loongnix20 for Loongarch64 的很多包已经赶上或超过 Debian stable 。

上次提到,我们可以使用 debootstrap 获得一个根文件系统并以此为基础安装我们最终的 Debian 系统。由于内核不兼容,我们还可以通过替换内核包来解决这一问题。但是当时是从 Fedora28 上开始,如今 Fedora28 已经退出历史舞台,我们可以从 Loongnix20 mips64el 开始。另外, Debian 的内核现在可以跑地非常好。

由于 Loongnix20 本身是基于 Debian10 ,所以从 Loongnix20 开始还是有一些好处的。我本来想用 netboot ,这个是可以正常使用的,但是似乎需要 AMD 独显,而我手头的 AMD 独显恰好不能起来,所以还是简单直观 debootstrap 吧。另外,把文中的 stable 改为 sid ,即可安装 Debian sid ,因为它们的步骤是完全一样的。

关于 debootstrap 的具体情况参见 Debian Wiki

准备安装环境 准备 LiveCD

Loongnix20 的镜像可以从这里,直接下载,当前最新依然是 rc2 ,使用 Win32 Disk Imager 或者 dd 命令 写入你喜欢的U盘即可。

如果是 3A4000 之前的机器可能需要考虑一下U盘的兼容性问题。另外 3A3000 之前的机器似乎并不被 Loongnix20 支持,此时我们需要重新考虑使用 Fedora28 ,推荐 mate live 7.2 ,制作方法是一样的。

引导并安装 debootstrap

首先引导 LiveCD 进入桌面。

Loongnix20

Loongnix20 rc2 的镜像站地址是错误的,需要手动更改配置。

首先切换到 root 用户,密码为 loongson :

$ su

然后编辑 sources.list :

# vim /etc/apt/sources.list

同步镜像并安装 debootstrap :

# apt-get update # apt-get upgrade # apt-get install debootstrap

如果没有磁盘分区工具可以安装一个:

# apt-get install gparted Fedora28

更改 root 密码,后面可能会用到:

$ sudo passwd

直接同步镜像并安装 debootstrap :

$ sudo dnf upgrade $ sudo dnf install debootstrap

如果没有磁盘分区工具可以安装一个:

$ sudo dnf install gparted 准备磁盘分区

分区请提前用 gparted 等图形化工具或更高级和灵活的命令行工具完成,下面所示是一个相对通用的分区示例,其中 /dev/sda1 为 boot 分区, /dev/sda2 为根目录, /dev/sda3 为 home 目录, /dev/sda4 作为交换分区:

# fdisk -l Disk /dev/sda: 447.13 GiB, 480103981056 bytes, 937703088 sectors Disk model: UNIC2 S100-480 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX Device Start End Sectors Size Type /dev/sda1 34 2099199 2099166 1G EFI System /dev/sda2 2099200 211814399 209715200 100G Linux filesystem /dev/sda3 211814400 903874559 692060160 330G Linux filesystem /dev/sda4 903874560 937703054 33828495 16.1G Linux swap

后面的操作提权到 root 进行:

$ su

LiveCD 的默认密码通常是 loongson 或 loongnix ,如果更改过 root 密码则使用修改后的密码。

挂载磁盘分区:

# mkdir /mnt/debian-stable # mount /dev/sda2 /mnt/debian-stable # mkdir /mnt/debian-stable/boot # mkdir /mnt/debian-stable/home # mount /dev/sda3 /mnt/debian-stable/home # mount /dev/sda1 /mnt/debian-stable/boot 安装基本的操作系统 debootstrap # debootstrap --arch mips64el stable /mnt/debian-stable http://ftp2.cn.debian.org/debian 挂载额外需要的目录 # mount --bind /sys /mnt/debian-stable/sys # mount --bind /proc /mnt/debian-stable/proc # mount --bind /dev /mnt/debian-stable/dev 拷贝 efi 引导

由于没有找到龙芯 mips64el 的 efi 属于哪个软件包(loongarch64 属于 grub-efi-loongarch64),所以我们直接拷贝 LiveCD 启动后 /boot 目录下的二进制到欲安装系统的 /boot 目录。

拷贝 /boot 中除 vmlinuz* 、 initrid.ima* 、 System.map* 、 config-* 外的文件:

# cp -r /boot/boot /mnt/debian-stable/boot/ # cp -r /boot/grub /mnt/debian-stable/boot/ # cp -r /boot/EFI /mnt/debian-stable/boot/ # cp /boot/boot.cfg /mnt/debian-stable/boot/ # cp /boot/grub.cfg /mnt/debian-stable/boot/ # cp /boot/grub.efi /mnt/debian-stable/boot/ chroot 到新的根目录 # chroot /mnt/debian-stable /bin/bash 设置 root 密码 # passwd root 加入 non-free 源

更改 /etc/apt/sources.list ,这里给出一个示例:

deb http://ftp2.cn.debian.org/debian stable main non-free

默认安装了 nano 和 vi 文本编辑器。

另外这里复制粘贴了 tuna 源对 bullseye 的完整配置:

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free 验证网络并刷新软件包缓存 # ping debian.com # apt-get update 安装 grub2 # apt-get install grub-common 安装内核

Debian 的内核是可以直接用的,但是由于默认配置下所有内核模块全部都被打包在 initrd.img 中,导致体积过大,启动时出现 out of memory 或者直接卡死的情况,我们在后面会进行配置来减小其尺寸。(默认配置下,不安装图形界面时 initrd.img 大概有 25M ,安装图形界面后为 52M ,此时不能正常引导。)所以这里我们同时安装 Loongnix20 的内核,作为默认内核不能启动时的备份。

从 Loongnix20 的镜像下载 Loongnix20 的内核软件包并安装,如果有更新的请使用更新的:

linux-image-4.19.0-13-loongson-3_4.19.190-rc2.lnd.1_mips64el.deb linux-headers-4.19.0-13-loongson-3_4.19.190-rc2.lnd.1_mips64el.deb linux-kbuild-4.19_4.19.190-rc2.lnd.1_mips64el.deb

其中 linux-kbuild 被 linux-headers 依赖,所以我们安装它们后可以用 apt-mark 把它设成自动安装。

# apt-get install wget # mkdir /home/tmp # cd /home/tmp # wget # apt-get install ./ # apt-mark auto linux-kbuild-4.19

安装 Debian 的默认内核:

# apt-get install linux-image-loongson-3

安装驱动。如果是 amd 独显,这步安装包含独显驱动:

# apt-get install firmware-linux-free firmware-linux-nonfree

配置 initramfs.conf 。我们需要将配置改成只包含需要的模块:

# vim /etc/initramfs-tools/initramfs.conf

找到一行 MODULES=most 配置,将其改成下面的:

MODULES=dep

重新生成 initrd.img :

# update-initramfs -k all -c

检查其生成的大小,应该小了不少。

最后手动更新 grub 配置,安装内核的时候其实会自动更新一次:

# grub-mkconfig -o /boot/EFI/BOOT/grub.cfg 配置 fstab

通过 blkid 查看 uuid :

# blkid /dev/sda1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" BLOCK_SIZE="4096" TYPE="ext3" PARTUUID="00000000-0000-0000-0000-000000000000" /dev/sda2: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00000000-0000-0000-0000-000000000000" /dev/sda3: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00000000-0000-0000-0000-000000000000" /dev/sda4: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="swap" PARTUUID="00000000-0000-0000-0000-000000000000"

配置 fstab ,这里给出一个示例:

# UNCONFIGURED FSTAB FOR BASE SYSTEM UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX / ext4 defaults,noatime 0 1 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /boot ext3 defaults,noatime 0 2 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX /home ext4 defaults,noatime 0 2 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX none swap defaults 0 0 本地化

首先配置 locales ,该包默认未安装。

# apt-get install locales # sudo dpkg-reconfigure locales

按提示选择需要的 locale ,如果是 tui 图形界面,则用空格取消或选中。这里提供一个示例:

en_US.UTF-8 UTF-8 zh_CN GB2312 zh_CN.GB18030 GB18030 zh_CN.UTF-8 UTF-8

确定后根据提示选择默认 locale ,选择中文:

zh_CN.UTF-8

再次确定,将自动完成配置。

然后配置时区:

# sudo dpkg-reconfigure tzdata

依次选择 Asia 和 Shanghai 。

配置 hosts

查看你的 hostname :

# cat /etc/hostname

改变 hostname 可以参考 hostname 和 hostnamectl 命令。

如果为空,则默认 hostname 为 localhost ,这里设 hostname 为 loongson-pc , 在 /etc/hosts 中添加一条配置:

127.0.1.1 loongnix-pc.localdomain loongnix-pc 建立新用户

添加一个喜欢的用户, -m 选项为这个用户建立默认的用户目录:

# useradd -m myuser

我们默认这个新建立的用户名为 myuser 。

设置新用户的默认 shell :

# usermod -s /bin/bash myuser

设置密码:

# passwd myuser 安装 sudo # apt-get install sudo

将前面建立的新用户加入 sudo 用户组:

# usermod -a -G sudo myuser

运行 visudo 可以看到默认的配置,其中部分摘录如下:

# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL

可以看到 sudo 用户组是被允许运行 sudo 命令的。

重启系统

此时对基本操作系统的安装已经完成,可以重启进入新的 Debian 系统了。

其实也可以不重启,在 chroot 的环境里装,特别是使用 wifi 的情况下,在命令行界面配置相对复杂。如果不重启,直接跳到“安装图形界面”部分即可。

退出 chroot :

# exit

重启:

# reboot

重启后将进入到文本命令行的登陆界面,此时可以继续用 root 登陆,也可以用普通用户登陆。

登陆后检查网络。

有线联网

需要手动运行 dhcp :

# dhclient Wifi

可以使用配置比较简单的 iwd ,注意它依赖 4.20+ 的内核,也就是说 Loongnix20 的内核(4.19)用不了。

# apt-get install iwd # systemctl start iwd.service # iwctl 安装图形界面

后面依然默认为 root 用户。

开箱即用的 KDE Plasma # apt-get install task-kde-desktop

将安装包括 sddm 、 liberoffice 等配套的软件。

开箱即用的 MATE desktop environment # apt-get install task-mate-desktop

将安装包括 lightdm 、 liberoffice 等配套的软件。

简洁的 KDE Plasma

如果不想装太多多余的自带软件,可以部分安装。

plasma-desktop 和 sddm 是基本的两个包, plasma-nm 则是网络管理:

# apt-get install plasma-desktop sddm plasma-nm

下面列举一些 plasma 上的必备软件:

dolphin 默认的文件管理器 konsole 默认的终端模拟器 okular 默认的文档查看器 ark 默认的压缩软件 kde-spectacle 默认的截图工具(当然 flameshot 也很棒) kate 默认的文本编辑器(虽然通常是 kwrite) kcalc 默认的小计算器 plasma-browser-integration 浏览器集成(需要浏览器安装同名插件) phonon 媒体控制

安装所有:

# apt-get install dolphin konsole ark kde-spectacle kate kcalc plasma-browser-integration

phonon 是默认安装了的,它有两个后端,分别为 vlc 和 gstreamer 。默认安装的是 phonon4qt5-backend-vlc ,如果需要可以换成 phonon4qt5-backend-gstreamer :

# apt-get install phonon4qt5-backend-gstreamer # apt-get remove phonon4qt5-backend-vlc

注意两者至少存在一个,所以先 install 后 remove 。

Cutefish

可以参考我的另一篇博客

重启

如果你在前面重启过一次了,可以通过 systemctl 启动相应的登陆管理器来登陆图形界面。

如果你能现在还在 chroot 环境,可以按照前面提到的方法退出 chroot 环境并重启进入到新安装的 Debian 上,顺利的话你应该能直接进入到图形界面并使用普通用户(而不是 root 用户)登陆了。如果默认内核无法启动请在 grub 界面选择 Loongnix20 的内核。

后面的内容请在图形界面下完成。

输入法

这里推荐 fcitx5 并以 KDE Plasma 为例,其他桌面可以参考 Wiki

安装 fcitx5 $ sudo apt-get fcitx5 fcitx5-pinyin kde-config-fcitx5 fcitx5-frontend-gtk2

kde-config-fcitx5 是和 KDE Plasma 配套的配置程序。

除了 fcitx5-frontend-gtk2 ,其他依赖的包应该都默认安装了。

设置默认输入法

Debian 使用 im-config 来配置默认输入法, im-config 依赖 zenity 并没有被默认安装,在终端运行 im-config 应该可以看到相关报错。

安装 zenity :

$ sudo apt-get install zenity

使用 im-config 配置:

$ im-config

选择 fcitx5 即可。

其他主题

Debian 还打包了一款主题:

$ sudo apt-get install fcitx5-material-color

可以从上游页面了解相关的信息。

如果有程序用不了输入法

可以运行下面的命令辅助查找问题所在:

$ fcitx5-diagnose 浏览器 龙芯浏览器

可以安装 lbrowser v3 ,无法安装 v2 (依赖关系不满足)。

在这里下载最新 for mips 的 deb 包并手动安装即可。

Firefox

可以正常使用,性能不及 lbrowser 。

$ sudo apt-get install firefox-esr

如果有 amd 独显,可以强制打开硬件加速,不然比较难用。

强制使用硬件加速

打开 Firefox ,地址栏键入 about:config ,有警告接受即可。

根据 Mozilla Wiki ,搜索并修改下面几条设置,将其设为 true :

webgl.force-enabled webgl.msaa-force layers.acceleration.force-enabled

作用分别为:强制启用 WebGL 、强制启用 WebGL 抗锯齿、强制启用硬件渲染(无视黑名单/白名单)。由于黑名单/白名单的存在,即使在设置中启用了硬件加速, Firefox 也会在大部分情况用软件渲染。

设置完成后请重启 Firefox 。

WebGL Aquarium 是一个小测试,可以用来对比强制打开硬件加速前后的性能变化。

硬件解码

注意这里的硬件解码主要依赖的是 amd 的独显,硬解依赖的驱动 mesa-vdpau-drivers 通常已经默认安装了。

古老的 loongnix 显卡支持列表 附在这里(应该已经没啥参考价值了)。

如果没有默认安装:

$ sudo apt-get install mesa-vdpau-drivers

安装 vdpauinfo 和 vainfo 查看硬件编解码信息:

$ sudo apt-get install vdpauinfo vainfo $ vdpauinfo $ vainfo

安装 radeontop 查看显卡的使用情况:

$ sudo apt-get install radeontop $ sudo radeontop 视频播放 vlc $ sudo apt-get install vlc smplayer $ sudo apt-get install smplayer 设置硬解

找到设置中的 General 选项卡,在 General 中选择 Multimedia engine 为 mplayer ,在 Video 中选择 Output driver 为 vdpau 。

mpv $ sudo apt-get install mpv 音乐播放 audacious $ sudo apt-get install audacious 网易云音乐

可以使用 netease-cloud-music-gtk ,根据其 readme 自行编译即可,也可以下载我编译好的 deb 包。

这个包不能在 loongnix20 上使用,如果需要在 loongnix20 上使用可以下载这个。

Debian 安装:

$ sudo apt-get install ./netease-cloud-music-gtk_1.2.2_mips64el.deb

Loongnix20 安装:

$ sudo apt-get install ./netease-cloud-music-gtk_1.2.2_lnd_mips64el.deb

安装 osdlyrics 支持桌面歌词:

$ sudo apt-get install osdlyrics

由于缺少依赖包(好奇为啥会缺), osdlyrics 会无法启动,安装缺少的依赖包:

$ sudo apt-get install python3-chardet

启动 netease-cloud-music-gtk ,设置打开桌面歌词,播放音乐时再启动 osdlyrics 即可显示歌词。

即时通讯 icalingua

该项目已经不再维护,如果需要代码可以查看我的 fork ,可以在这里下载我保存的软件包,如果你也有保留它之前发布的软件包,也可以分享在评论区。另外可以考虑 Icalingua plus plus ,但是它并不提供 mips64el 和 loongarch64 体系结构的二进制。

icalingua 是一个基于 Electron 的超棒的第三方 QQ ,现在支持 loongnix20 (论坛已因不可抗力爆破),它在 Debian 也能很好地运行。

本项目希望为 Linux 打造一个会话前端框架,通过实现 Adapter 后端接口来适配各种聊天平台。目前已经拥有基于 oicq 以及 Icalingua 自有协议的后端

在项目 release 下载 mips64el 架构的包,当前最新是 2.4.5 ,则选择 icalingua-2.4.5-mips64el.tar.xz 。

下面解压并安装之,后面提供一段示例,请根据实际情况具体修改。

解压并移动到自定义的位置:

$ tar xvf ./icalingua-2.4.5-mips64el.tar.xz $ sudo mv ./icalingua-2.4.5-mips64el /opt/icalingua

在 2.4.5 版本中,此时二进制位置为 /opt/icalingua/electron ,图标位置为 /opt/icalingua/resources/app/dist/electron/static/icons/512x512.png 。

桌面图标将建立在 /usr/local/share/applications/ ,如果没有该目录需要创建该目录:

$ sudo mkdir /usr/local/share/applications $ sudo touch /usr/local/share/applications/icalingua.desktop

根据作者的指导,可以得到 calingua.desktop 的内容如下:

[Desktop Entry] Categories=chat;Network; Exec=/opt/icalingua/electron %u Icon=/opt/icalingua/resources/app/dist/electron/static/icons/512x512.png Name=Icalingua Comment=A Linux client for QQ and more StartupNotify=true Terminal=false Type=Application

至此安装完成,可以点击图标使用了。

如果需要卸载,运行以下命令:

$ sudo rm /usr/local/share/applications/icalingua.desktop $ sudo rm -r /opt/icalingua 微信 WeChat

参考 AUR 的打包,但是 mips64el 架构的版本似乎一直没有后续更新,所以版本落后 X86_64 非常多,但是还是可以用的。

可以使用我打包的版本:

适用于 Debian stable

适用于 Loongnix20

telegram

安装 telegram-desktop 一定到在 sources.list 里放上 backports 源,参考 tuna 源的完整配置,因为 main 里的版本实在太低了,是不能登陆的,你需要安装 backports 的版本。直接 apt-get install telegram-desktop 不知道为啥给我装了 main 里低版本的。

查看所有可用的版本:

$ apt-cache search telegram-desktop Package: telegram-desktop Version: 3.1.1+ds-1~bpo11+1 Installed-Size: 94864 Maintainer: Nicholas Guriev Architecture: mips64el ...省略 Package: telegram-desktop Version: 2.6.1+ds-1+deb11u1 Installed-Size: 86397 Maintainer: Nicholas Guriev Architecture: mips64el ...省略

查看上面假设的输出,请安装版本高的,比如 3.1.1+ds-1~bpo11+1 :

$ sudo apt-get install telegram-desktop=3.1.1+ds-1~bpo11+1 QQ for linux

linuxqq,你用不用吧。

团队协作 飞书

飞书的 mips64el 版本可以直接在官网下载,其支持几乎所有的国产架构,非常好用。

办公套件

这部分就不多说了,直接 wps 。

直接从官网下载安装即可。

假设下载的安装包为 wps-office_11.1.0.10702_mips64el.deb :

$ sudo apt-get install ./wps-office_11.1.0.10702_mips64el.deb

还需要安装缺少的字体,字体从这里下载,双击每个文件安装即可。

蓝牙连接

蓝牙套件是随 KDE Plasma 默认依赖安装的,但是首次使用可能出现可以配对但无法连接的情况,因为 PulseAudio 有模块未载入:

$ pactl load-module module-bluetooth-discover 分区工具 KDE Partition Manager

KDE Partition Manager 是 KDE Plasma 默认的分区工具。

$ sudo apt-get install partitionmanager GNOME Partition Editor

GParted 其实没啥好说的,应该是好多人在 Linux 上接触的第一个图形化分区工具。

$ sudo apt-get install gparted Markdown 编辑器

不知道为啥 ghostwriter 没有,所以这里只能介绍 retext 。一个简洁的编辑器吧,反正就图个预览。本来 kate 也可以有预览,但是这个特性似乎没有打开。

$ sudo apt-get install retext OBS Studio

可以正常使用,直接安装即可。偶现音频采集的故障,具体不知道如何解决。

$ sudo apt-get install obs-studio JetBrains 全家桶

参见狗剩百科 ,这里就不再赘述了。

by SDUST weilinfox



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3