NekoMio

NekoMio

telegram
github

龙芯 3a2000c の Debian 11 システムのインストール

はじめに#

b 站で誰かが龍芯 3A2000C のマザーボード(CPU 付き)がとても安いと言っているのを見ました。小黄魚で確認したところ、36 元で送料無料、マザーボードには CPU と冷却器が付いていて、4 つの SATA ポートもあります。それで、私はマザーボードと 4GB メモリのセットを 51 元で直接注文しました。ちょっといじって遊んでみようと思いました。

システムのインストール#

このデバイスは非常に古いため、オンラインの資料もあまり多くありません。参考にできる主なウェブページは 2 つあります。3a2000 インストール使用大雑把 - LA UOSCDebian 11 を長城龍芯 3A2000C プラットフォームにインストール
ただし、この記事を書いている時点(2023-11-27 14:55 UTC+8)で、2 つ目のサイトはアクセスできないようです。

ここでは、Debian 11 をインストールするために 2 番目の記事のスナップショット内容を大量に参考にしました。

自分のインストールプロセスも記録しておきます。

1. 起動用の LiveCD メディアを準備する#

システムがサポートするインストールイメージをダウンロードします。
龍芯 3A2000C をサポートする公式インストールイメージのダウンロードリンクは以下の通りです:

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

2. インストール用の USB メモリを作成する#

Linux 環境で、以下のコマンドを使用します。

cp loongnix-20190331.iso /dev/sdb   # sdbがUSBメモリデバイスであると仮定します。ファイルシステムsdb1は使用しないでください。デバイスを直接使用します。

Windows では、Win32ImageWriter を使用して USB メモリに直接書き込むことができます。

3. 初期オペレーティングシステムをインストールする#

公式システムイメージを使用して正常にシステムをインストールします。私が使用したのは最もシンプルなパーティションレイアウトです。

/boot  ext4パーティション、サイズ500M
swap   swapパーティション、メモリサイズの1倍を推奨
/      ext4パーティション、残りの全スペース

正直に言うと、USB の問題かもしれませんが、このシステムの反応速度は本当に遅いです。
正常にインストールが完了したら USB メモリを抜き、システムを再起動して、正常に使用できるか確認します。
現在のシステムは Fedora 21 に基づいており、カーネルバージョンは 3.10.x のはずです。要求は高くなく、正常に使用可能です。
3a2000 インストール使用大雑把 - LA UOSCの記事では、Loongnix-20.mips64el.rc2システムも正常にインストールして使用できるとされていますが、システムを USB メモリに書き込んでも正常に起動しませんでした。何が問題なのかは不明です。

4. ネットワークを通じて Debian 11 をインストールする#

再度 USB メモリからインストール環境に起動しますが、今回はインストールは行わず、ターミナルを開きます。

一時的な環境のマウントポイントを作成します。

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

この設定ファイルには元々2 つの 3.10 カーネルの起動設定があり、オプションの方法で設定されていました。

しかし、私のテストでは grub のカウントダウン自動起動が正常に機能していないようなので、元々の 2 つの起動オプションをコメントアウトし、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/

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。