NekoMio

NekoMio

telegram
github

龙芯 3a2000c 安装 Debian 11 系统

Intro#

在 b 站看到有人说龙芯 3A2000C 的主板(带 CPU)的主板很便宜,上小黄鱼看了一下、36 元包邮,主板带 CPU 还带散热器、主板上还有 4 个 SATA 口。所以我直接下单买了一个主板 + 4g 内存的套装、51 包邮,想着折腾一下玩一玩。

安装系统#

这个玩意由于已经非常古老了,网上的资料也不是很多,比较能够参考的主要有两个网页 3a2000 安装使用大杂烩 - LA UOSC安装 Debian 11 到长城龙芯 3A2000C 平台
不过在我写这篇文章的时候 (2023-11-27 14:55 UTC+8) 第二个网站似乎无法访问了。

这里大量参考了第二篇文章的快照内容来安装 Debian 11

这里也是将自己的安装流程记录一下

1. 准备用于启动的 LiveCD 介质#

下载系统支持的安装镜像
支持龙芯 3A2000C 的官方安装镜像下载地址如下:

http://ftp.loongnix.cn/os/loongnix/1.0/liveinst/old/loongnix-20190331.iso

2. 创建用于安装的 U 盘#

在 Linux 环境下,使用如下命令

cp loongnix-20190331.iso /dev/sdb   #假设sdb为U盘设备,不能使用文件系统sdb1,直接使用设备 

在 Windows 下,可以使用 Win32ImageWriter 直接写入 U 盘

3. 安装初始操作系统#

通过官方系统镜像正常安装系统,我这边只使用的最简单的分区布局

/boot  ext4分区,大小500M
swap   swap分区,建议为内存大小的1倍
/      ext4分区,剩余全部空间

实话实说可能是 USB 的问题,这个系统的反应速度是真的慢。
正常安装完成后拔掉 U 盘,重启系统,确认下可以正常使用。
当前系统是基于 Fedora 21、内核版本应该是 3.10.x。需求不高也是可用正常使用的
3a2000 安装使用大杂烩 - LA UOSC 这篇文章中说Loongnix-20.mips64el.rc2系统也是可用正常安装使用的,但是我将系统写到 U 盘中没有正常启动,不清楚是什么问题。

4. 通过网络安装 Debian 11#

再次通过 U 盘启动到安装环境,但这次不进行安装,打开终端。

创建临时环境的挂载点

sudo su
mkdir /mnt/deb

挂载目标硬盘上的根文件系统

mount /dev/sda3 /mnt/deb    # 假设/dev/sda3为根文件系统

删除目标文件系统上的所有文件

rm -rf /mnt/deb/*

通过 debootstrap 重建 debian 的文件系统结构
由于要安装 Debian 11,因此需要通过 Debian 11 的 debootstrap 来创建
可以从这里下载适配 debootstrap 脚本:
http://ftp.cn.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.123+deb11u1_all.deb

由于当前 LiveCD 的官方操作系统是基于 Fedora 的,没有 dpkg 命令,因此需要手动解压 deb 并将文件放到正确位置

ar -x debootstrap_1.0.123+deb11u1_all.deb
tar xvf data.tar.xz
cp -rv usr /   # data 包解压出来之后 usr 拷贝到系统

使用 debootstrap 来重建目标文件系统结构

debootstrap --arch mips64el bullseye /mnt/deb http://mirrors.tuna.tsinghua.edu.cn/debian

将官方的内核模块复制到目标系统

cp -r /lib/modules /mnt/deb/lib/

挂载其他文件系统

mount /dev/sda1 /mnt/deb/boot       #假设sda1为boot分区
mount --bind /sys /mnt/deb/sys
mount --bind /proc /mnt/deb/proc
mount --bind /dev /mnt/deb/dev

chroot 到目标环境

LANG=C.UTF-8 chroot /mnt/deb /bin/bash

修改 root 密码

passwd root

修改安装源

cat >/etc/apt/sources.list <<EOF  
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
EOF

更新源 并安装一些基础的软件

apt-get update
apt-get install wget openssh-server locales network-manager grub-common curl vim

安装内核

apt install linux-image-loongson-3 linux-headers-loongson-3 linux-libc-dev

安装驱动

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

修改目标系统配置
修改主机名

echo 'myhostname' > /etc/hostname
vim /etc/hosts           #将myhostname加到127.0.0.1 localhost之后

配置 fstab
通过 blkid 来获得文件系统的 UUID
执行命令可以得到类似下面的输出结果

/dev/sda1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" BLOCK_SIZE="1024" TYPE="ext4" PARTUUID="198e62aa-01"
/dev/sda2: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="swap" PARTUUID="198e62aa-02"
/dev/sda3: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="198e62aa-03"

修改 /etc/fstab

参考下面的配置修改 fstab

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

本地化配置
配置 locales

dpkg-reconfigure locales

建议安装如下 locales

en_US.UTF-8
zh_CN.UTF-8

选择 en_US.UTF-8 为默认的 locales

配置时区

dpkg-reconfigure tzdata

依次选择 AsiaShanghai

创建新用户
创建用户

useradd -m -s /bin/bash myuser
passwd myuser

安装 sudo 并 将用户加入 sudo 组

apt-get install sudo
usermod -a -G sudo myuser

重建 initramfs
修改 initramfs-tools 配置只加载需要的模块

vim /etc/initramfs-tools/initramfs.conf

找到一行 MODULES=most 配置,将其改成 MODULES=dep

重新创建 initramfs

update-initramfs -k 5.10.0-26-loongson-3 -u -v # 注意一下这里的版本

修改 gurb 配置 /boot/grub.cfg

这个配置文件中原先有两个 3.10 内核的启动配置,是以选项的方式进行配置的

但是我这边测试 grub 的倒计时自动启动貌似没有正常工作,所以我直接注释了原先的两个启动选项,使 grub 直接使用我下面配置的内核进行启动。

    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msd$
    else
      search --no-floppy --fs-uuid --set=root XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
    fi
    echo    'Loading Linux 5.10.0-26-loongson-3 ...'
    linux   /vmlinuz-5.10.0-26-loongson-3 root=/dev/sda2 ro rhgb quiet loglevel=0 LANG=en_US.UTF-8
    initrd /initrd.img-5.10.0-26-loongson-3
    boot

这里比较难以说明,建议自己学习一下 grub 的配置文件

XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 要替换为自己根目录的 UUID

重启测试
退出临时环境并重启

exit
shutdown -r now

系统启动后检查内核和操作系统的版本信息

uname -a
cat /etc/debian_version

安装后配置#

我计划将这台机器作为一个 NAS 使用,具体的配置过程可以参考下一篇文章

龙芯 3a2000c NAS 配置

特别感谢
安装 Debian 11 到长城龙芯 3A2000C 平台 http://geek-logic.com/debian-11-on-loongson/

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。