当前位置:首页 > 信息中心 > 正文

36元包邮的国产龙芯电脑(龙芯3A2000C)安装Debian 11系统并成功玩游戏、办公


这期视频给大家带来的是是一款在海鲜市场36元包邮的龙芯3A2000主板,让我们一起来折腾一下这款十年前的国产电脑,看看能带来什么惊喜。





龙芯的进步实在是太快了,2002年才推出第一款芯片,2013年左右开始做商用CPU,2023年就把差距缩小到3年以内,现在最新的3A6000已经几乎追平i3-10100了。而且论架构其实和comet lake不相上下,唯一缺点就是主频上不去。期待后续8核的3B6000,起码能和10代i7掰掰手腕。


为什么龙芯不用最好的工艺,原因是龙芯需要做到可控,所以选择了我们国内能自行生产的最高工艺,而不是业界最高的工艺来设计。这个原因就可以理解了。不过在超级计算机的设计应用上主频并不是最主要的因素,芯片间的互联互通效率才是,龙芯在这方面目前也已经有所突破,值得期待。其实2010年曙光就用龙芯做成过曙光6000超级计算机。




最近在小黄鱼看到有卖家在卖龙芯3A2000C的主板(带CPU),虽然这个平台有点老,也不是最新的LoongArch架构,还是早年的MIPS64el架构,但架不住便宜啊!35元包邮,主板带CPU还带散热器!主板上还有4个SATA口!还要啥自行车!35元买不了吃亏买不了上当!于是下单来了一套。

收到后尝试安装系统,结果发现官方最新支持这个平台的只有19年的一个基于Fedora的版本,而且,内核居然是……3.10的,这都什么年代了,还在玩3.10……

于是开始尝试安装mips64el架构的Debian,可无论怎么试,用什么办法,都没有办法启动安装U盘,也许是主板BIOS的问题吧。最后,折腾了半天,终于用网络安装的方法,借着官方的老系统,把Debian 11系统装上了,内核升级到了5.10.0。

我也尝试了最新的6.1内核和Debian 12,无奈开机加载initramfs时候就死机了,估计内核和这主板有啥冲突吧,退而求其次,这个稳定的5.10内核已经很不错了!

准备用于启动的LiveCD介质

下载系统支持的安装镜像

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

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

创建用于安装的U盘

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

    cp loongnix-20190331.iso /dev/sdb   #假设sdb为U盘设备,不能使用文件系统sdb1,直接使用设备
  • 在Windows下,可以使用 Win32ImageWriter 直接写入U盘

安装初始操作系统

进入安装环境

  1. 开机后按Del键进入BIOS环境,将启动顺序配置为USB设备优先

  2. 插入U盘启动后,在Grub界面,选择第二个选项进入安装环境

安装系统

  1. 选择桌面的安装图标,按正常操作流程进行安装

  2. 文件系统创建时选择手动配置,建议参考如下方式进行配置:

    • /boot ,ext4分区,大小500M以上

    • /home ,ext4分区,可以存放用户以及备份数据

    • / ,ext4分区,建议大一些比较好

    • swap ,swap分区,建议为内存大小的1-2倍

  3. 正常安装完成后拔掉U盘,重启系统,确认下可以正常使用。当前系统的内核版本应该是3.10.x,版本较低

通过网络安装Debian 11

文件系统准备

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

  2. 创建临时环境的挂载点

    su mkdir /mnt/deb
  3. 挂载目标硬盘上的根文件系统

    mount /dev/sda5 /mnt/deb    #假设/dev/sda5为根文件系统
  4. 删除目标文件系统上的所有文件

    rm -rf /mnt/deb/*
  5. 通过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命令,因此可以使用bzip2和gzip将deb文件解压后将data目录中的相关脚本全部复制到/usr目录下的相应位置

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

      debootstrap --arch mips64el bullseye /mnt/deb http://ftp.cn.debian.org/debian
  6. 将官方的内核模块复制到目标系统

    cp -r /lib/modules /mnt/deb/lib/
  7. 挂载其他文件系统

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

修改安装参数

  1. chroot到目标环境

    LANG=C.UTF-8 chroot /mnt/deb /bin/bash
  2. 修改root密码

    passwd root
  3. 修改安装源

    vi /etc/apt/sources.list

    参考下面的配置修改 sources.list

    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
  4. 更新源

    apt-get update

通过网络安装

  1. 安装一些基本的软件

    apt-get install wget openssh-server locales network-manager
  2. 安装grub2

    apt-get install grub-common
  3. 安装内核

    apt install linux-image-loongson-3 linux-headers-loongson-3 linux-libc-dev
  4. 安装驱动

    apt-get install firmware-linux-free firmware-linux-nonfree
  5. 安装一些其他你需要使用的软件(例如nfs等等)

    apt-get install <软件包名>

配置目标系统

修改目标系统配置

  1. 修改主机名

    echo 'myhostname' > /etc/hostname vi /etc/hosts           #将myhostname加到127.0.0.1 localhost之后
  2. 配置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" TYPE="swap" PARTUUID="00000000-0000-0000-0000-000000000000" /dev/sda5: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="00000000-0000-0000-0000-000000000000"
    • 修改 /etc/fstab

      vi /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       /home   ext4    defaults,noatime        0       2 UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX       none    swap    defaults                0       0
  3. 本地化配置

    • en_US.UTF-8

    • zh_CN.GB2312

    • zh_CN.GBK

    • zh_CN.GB18030

    • zh_CN.UTF-8

    • 配置locales

      dpkg-reconfigure locales

      建议安装如下locales

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

    • 配置时区

      dpkg-reconfigure tzdata

      依次选择 Asia 和 Shanghai

  4. 创建新用户

    usermod -a -G sudo myuser
    • 创建用户

      useradd -m myuser usermod -s /bin/bash myuser passwd myuser
    • 安装sudo

      apt-get install sudo
    • 将用户加入 sudo 组

重建启动项

  1. 安装initramfs-tools

    apt-get install initramfs-tools
  2. 修改initramfs-tools配置只加载需要的模块

    • 修改 initramfs.conf

      vi /etc/initramfs-tools/initramfs.conf
    • 找到一行 MODULES=most 配置,将其改成 MODULES=dep

  3. 重新创建 initramfs

    update-initramfs -k 5.10.0-25-loongson-3 -u -v
  4. 修改grub配置 vi /boot/grub.cfg 找到启动项的段落,参考下面的片段修改配置文件(倒数第四行起)

        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 b6a3a91c-82b0-4ac6-ba62-19a9d4cf63c7     fi     echo    'Loading Linux 5.10.0-25-loongson-3 ...'     linux   /vmlinuz-5.10.0-25-loongson-3 root=/dev/sda2 ro rhgb quiet loglevel=0.UTF-8     initrd /initrd.img-5.10.0-25-loongson-3     boot

重启测试

退出临时环境并重启

exit shutdown -r now

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

uname -a cat /etc/debian_version


一些为龙芯3A2000C移植编译的软件

前段时间我为龙芯3A2000C平台编译移植了一些软件,现在分享给大家。这些软件基于Debian 11操作系统,有些有一定的依赖关系,可能需要安装对应的软件包才能正常安装使用。

RetroArch / libretro的模拟器核心

官方没有针对mips64el架构编译核心,debian repo中也仅有少数几个,我编译/移植了大部分常见的模拟器核心,供大家尝试。其中PS1因为性能原因,在龙芯3A2000C平台只能呈现“幻灯片”模式,其他还比较流畅。

点此下载

安装方法:

  1. 使用root权限将压缩包内的所有.so文件复制到 /usr/lib/mips64el-linux-gnuabi64/libretro/

  2. 重新启动RetroArch即可在Cores中看到这些核心

  3. 启动游戏选择合适的核心进行游玩


VICE – Commodore电脑模拟器

我编译了最新版本的VICE模拟器,可以模拟从Commodore PET到Commodore 128的几乎所有Commodore 8位电脑机型。基本可以在龙芯3A2000C平台流畅运行(模拟C64机型时,需要把声音模拟降低一些品质)。

点此下载



OpenTTD 运输大亨

运输大亨游戏是一个开源的TTD游戏的重制版本,在原作上做了大量改进,并支持MOD,而且早已支持网络对战。我移植了最新的版本到龙芯3A2000C平台,进行了优化编译,目前可以非常流畅的运行。

点此下载