在 Loongson 2K Edu 板卡上安装 Debian 10

1 准备安装 U 盘

1.1 获取插入 U 盘的设备名

插入 U 盘至个人 Debian/Ubuntu 电脑,使用 lsblk 获取 U 盘设备名

1
$ lsblk

我插入了一个 32G U 盘,lsblk 命令输出如下:

1
2
3
4
5
6
7
8
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda 8:0 1 29.7G 0 disk
├─sda1 8:1 1 247M 0 part
├─sda2 8:2 1 3M 0 part
└─sda3 8:3 1 100M 0 part
nvme0n1 259:0 0 232.9G 0 disk
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
└─nvme0n1p2 259:2 0 232.4G 0 part /

这里,sda 是我的 U 盘,nvme0n1 是我的主硬盘。


或者,我们可以通过 dmesg 查看内核日志来获取 U 盘设备名。

1
$ dmesg

在我的电脑上,dmesg 命令最后几行输出如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[58412.535612] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[58412.563770] usb 2-1: New USB device found, idVendor=05e3, idProduct=0749, bcdDevice=15.32
[58412.563772] usb 2-1: New USB device strings: Mfr=3, Product=4, SerialNumber=2
[58412.563773] usb 2-1: Product: USB3.0 Card Reader
[58412.563773] usb 2-1: Manufacturer: Generic
[58412.563774] usb 2-1: SerialNumber: 000000001532
[58412.577361] usb-storage 2-1:1.0: USB Mass Storage device detected
[58412.577418] scsi host15: usb-storage 2-1:1.0
[58412.577470] usbcore: registered new interface driver usb-storage
[58412.578537] usbcore: registered new interface driver uas
[58413.588003] scsi 15:0:0:0: Direct-Access Generic STORAGE DEVICE 1532 PQ: 0 ANSI: 6
[58413.588207] sd 15:0:0:0: Attached scsi generic sg0 type 0
[58413.981306] sd 15:0:0:0: [sda] 62333952 512-byte logical blocks: (31.9 GB/29.7 GiB)
[58413.982059] sd 15:0:0:0: [sda] Write Protect is off
[58413.982060] sd 15:0:0:0: [sda] Mode Sense: 21 00 00 00
[58413.982816] sd 15:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[58414.003042] sda: sda1 sda2 sda3
[58414.005048] sd 15:0:0:0: [sda] Attached SCSI removable disk

我们可以看到内核检测到了新的 USB 存储设备插入,并且分配了 sda 作为设备名。

1.2 给 U 盘分区

如果你的 U 盘已经有可用 MBR 分区,请跳过此步。

龙芯 PMON 暂不支持 GPT 分区格式。

⚠️注意:该步骤会破坏 U 盘原有数据,若 U 盘有重要数据请先备份。

使用 fdisk 给 U 盘分区,其他分区工具如 parted 等亦可使用。

1
$ sudo fdisk /dev/sdX     # 运行 fdisk,请将 sdX 根据个人情况替换成 U 盘设备名

这里我们将进入一个交互式命令行界面:

1
2
3
4
5
6
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help):

fdisk 常用指令如下:

指令 解释
m 打印帮助信息
o 创建一个新的 MBR 分区表
p 打印分区表
n 添加新的分区
w 将分区表写入磁盘
q 退出

1.2.1 创建分区表

我们需要使用 o 指令创建新的分区表,只需输入 o,然后按回车。

1
2
Command (m for help): o
Created a new DOS disklabel with disk identifier 0xb483cb08.

1.2.2 添加第一个分区

使用 n 指令给新创建的分区表添加一个分区,输入 n,然后回车。

1
Command (m for help): n

此时 fdisk 会询问你分区类型,保留默认的 primary 即可,直接按回车。

1
2
3
4
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):

然后 fdisk 询问你需要创建的分区号码,直接使用默认第一个分区号即可,按回车。

1
Partition number (1-4, default 1):

然后 fdisk 询问你希望让新的分区从哪一个扇区开始,直接默认 2048 即可。

1
First sector (2048-62333951, default 2048):

接着 fdisk 询问你分区结束扇区,同样直接默认即可,这样创建的分区使用了整块硬盘的容量。

1
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62333951, default 62333951):

最后 fdisk 可能还询问分区是否删除原有文件系统的签名,输入 Y 来选择是。

1
2
3
4
Created a new partition 1 of type 'Linux' and of size 29.7 GiB.
Partition #1 contains a vfat signature.

Do you want to remove the signature? [Y]es/[N]o:

1.2.3 查看分区表,确认是否正确

使用 p 指令查看当前分区表,我的输出如下

1
2
3
4
5
6
7
8
9
10
11
12
Disk /dev/sda: 29.74 GiB, 31914983424 bytes, 62333952 sectors
Disk model: STORAGE DEVICE
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: dos
Disk identifier: 0xb483cb08

Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 62333951 62331904 29.7G 83 Linux

Filesystem/RAID signature on partition 1 will be wiped.

我们发现已经成功创建了 29.7G 的分区。

1.2.4 保存更改

使用 w 指令保存对分区表的更改。

1
2
3
4
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

1.3 格式化 U 盘

如果你的 U 盘已有可用的 FAT32 分区,请跳过此步。

⚠️注意:该步骤会破坏 U 盘原有数据,若 U 盘有重要数据请先备份。

使用 mkfs.fat 来将 U 盘的第一个分区格式化成 FAT 文件系统。

1
$ sudo mkfs.fat -F 32 /dev/sdX1    # 请将 sdX 替换成你个人 U 盘的设备名,后同

其中 -F 32 指定 FAT size 为 32,意味着选定的分区将被格式化成 FAT 32 文件系统。

1.4 挂载 U 盘

使用 mount 指令将 U 盘挂载到 /mnt 目录下。

1
$ sudo mount /dev/sdX1 /mnt

1.5 下载系统镜像并解压

1
2
3
4
$ sudo apt install wget unzip    # 安装 wget 下载工具和 unzip 解压工具
$ wget https://mirrors.cloud.tencent.com/loongson/install/loongson64_debian10_20200525.zip # 下载系统镜像
$ unzip loongson64_debian10_20200525.zip -d loongson # 解压系统镜像至 loongson 目录
$ sudo cp -r loongson/* /mnt # 将文件拷贝到 U 盘,可能需要一段时间

1.6 取消挂载 U 盘,“安全弹出”

使用 umount 指令取消挂载 U 盘,命令可能需要执行一段时间来将写入缓存同步到 U 盘上。

1
$ sudo umount /mnt

至此,U 盘已经准备好,可以从个人电脑上拔除,然后插在龙芯电脑上。

2 安装 Debian 至龙芯电脑

⚠️注意:该步骤会破坏 龙芯电脑原有数据,若有重要数据请先备份。

确保 U 盘已插在龙芯电脑上,并接好显示器和键盘,给龙芯电脑上电。

请注意龙芯 PMON 可能不支持从 USB 3.0 接口(蓝色)启动,请将 U 盘插在 USB 2.0 接口(黑色)上。

等待龙芯电脑启动至 Boot Menu List,使用键盘方向键选择 usb install loongson-2k-edu,然后回车。

等待龙芯电脑启动安装器,出现如下界面,输入 yes 回车,格式化硬盘以供安装系统。

1
2
3
4
5
6
7
Loongson Linux Installer for V0.7
http://www.bjlx.org.cn
2020-05-12 16:55:54
=========================================================
/dev/sdb1 loongson64_debian10_en_20200525.tar.xz 525M
=========================================================
disk /dev/sda All data will delete! continue? [yes/No/rescan/shell]

然后再次输入 yes,格式化所有分区。

1
2
3
4
5
6
7
8
9
10
11
12
=========================================================
Model=KINGSTON SNS4151S316GD, FwRev=S9FM01.6, SerialNo=[hidden]
=========================================================
Disk /dev/sda: 14.94 GiB, 16013942784 bytes, 31277232 sectors
/dev/sda1 2048 1050623 1048576 512M 83 Linux
/dev/sda2 1050624 13633535 12582912 6G 83 Linux
/dev/sda3 13633536 14682111 1048576 512M 82 Linux swap / Solaris
/dev/sda4 14682112 31277231 16595120 7.9G 5 Extended
/dev/sda5 14684160 25169919 10485760 5G 83 Linux
/dev/sda6 25171968 31277231 6105264 2.9G 83 Linux
=========================================================
DISK /dev/sda /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 /dev/sda5 /dev/sda6 ALL DATA WILL DELETE!!! continue? [yes/No]

安装应自动开始。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1. format /dev/sda1
2. format /dev/sda2
3. format /dev/sda5
4. format /dev/sda6
5. export loongson64_debian10_en_20200525.tar.xz to /dev/sda2
500MiB 0:03:04 [2.72MiB/s] [================================>] 100%
install loongson-2k kernel

6. copy /boot/* to /dev/sda1
7. copy /var/* to /dev/sda5
Please wait ......
8. copy /home/* to /dev/sda6
9. ok!
please reboot.

待出现 please reboot. 字样,拔掉 U 盘,然后按重启按钮重启龙芯电脑。至此,Debian 10 已安装完成。你现在可以使用 loongson 用户名和 loongson 密码登录进入桌面。

3 在安装之后…

3.1 使用清华源加速 debian-security 访问(推荐)

Loongson Debian 默认使用速度较慢的 Debian 官方 security 源,使用以下命令将其替换为速度更快的清华源。

1
2
3
$ su root -l     # 切换到 root 用户,然后输入 root 密码 loongson
$ sed -i "s/security.debian.org\//mirrors.tuna.tsinghua.edu.cn\/debian-security/g" /etc/apt/sources.list # 替换到清华源
$ apt update # 更新本地包列表

3.2 安装 sudo(推荐)

Loongson Debian 不自带 sudosudo 可以方便普通用户进行 root 操作,使用以下命令安装。

1
2
$ su root -l           # 切换到 root 用户
$ apt install sudo # 安装 sudo

3.3 不需要图形界面?(可选)

Loongson Debian 默认启动到桌面环境,若不需要图形界面,可以使用如下命令切换开机启动到到文本模式,不启动图形界面,重启后生效。

1
2
$ sudo systemctl set-default multi-user.target
$ sudo reboot # 重启

若想改回开机启动图形界面,使用以下命令。

1
$ sudo systemctl set-default graphical.target