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/

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。