在龙芯3A 3000上安装Debian 10
首先因为我的龙芯3A 3000是基于mips64el的,所以一个大致的流程是
先在x86的主机上用debootstrap 工具构建一个最小的根文件系统。这里可以参考官方的文档
官方
注意这里所有的操作除了要在龙芯上面换内核,修改grub其余的都是在X86 的ubuntu 18.04中配置的,因为在龙芯中,它的操作系统是Fedora,无法配置,所以用Qemu模拟一个mips64el的环境进行安装
安装debootstrap
首先要安装debootstrap工具,debootstrap是一个将Debian基本系统安装到另一个已经安装的系统的子目录中的工具。
debootstrap不需要安装光盘,只需要用这个工具访问Debian 的仓库即可。尤其是可以给一个不同架构的计算机创建
本文构建Debian是在X86的Ubutnu 18.04中来构建的。
Debian可以用于为不同体系结构的机器创建rootfs,这称为“交叉引导”。
首先,安装aptitude,然后aptitude search debootstrap 查看库中是否有该库。
sudo apt-get install aptitude
aptitude search debootstrap
sudo apt-get install debootstrap
创建文件夹并挂载分区
在/media/cao下创建文件夹:
mkdir debian
分区(准备一个硬盘):
查看分区情况:
fdisk -l
我分了三个区:
sdb1 为引导分区
sdb2为root分区也就是文件系统的分区
sdb3为交换分区
fdisk /dev/sdb
d删除原有分区
n创建新的分区
t设置类型 82为swap ,83为linux
a设置引导分区
创建好的分区设置为ext4
mkfs.ext4 /dev/sdb1
mkfs.ext4 /dev/sdb2
mkfs.ext4 /dev/sdb3
挂载分区:
mount /dev/sdb2 /media/cao/debian
运行debootstrap
将debian中的最小根文件系统下载到本地,这里用的是兰州大学的镜像(速度较快),也可以使用官方提供的镜像,这个并不会影响最终的结果。
debootstrap --arch=mips64el --foreign buster debian/ http://mirror.lzu.edu.cn/debian/
下载完成之后可以到/media/cao/debian下查看文件系统,ls即可。
注意:这里一定要查看下面的文件,有一个debootstrap的文件夹,打开之后看是否包含有debootstrap这个工具,否则要重新下载,原官方提供的下载命令仅限于同一种架构。但是官方文档在后面有说明,如果文件系统不同于宿主机的架构,要使用–foreign这个参数。
进入chroot
chroot /media/cao/debian qemu-mips64el-static /bin/bash
export TERM=xterm-color
/debootstrap/debootstrap --second-stage
在chroot中创建设备文件
apt install makedev
mount none /proc -t proc
cd /dev
MAKEDEV generic
执行完该文件后,可能会出现以下问题,不过并不影响后面的安装。
挂载分区:
editor /etc/fstab
#file system mount point type options dump pass
/dev/sdb2 / ext3 defaults 0 1
/dev/sdb3 none swap sw 0 0
proc /proc proc defaults 0 0
/dev/fd0 /media/floppy auto noauto,rw,sync,user,exec 0 0
/dev/cdrom /media/cdrom iso9660 noauto,ro,user,exec 0 0
完成之后,
mount -a
可以挂载所有分区
cd /media
mkdir cdrom0
ln -s cdrom0 cdrom
cd /
ln -s media/cdrom
挂载proc文件
mount -t proc proc /proc
设置时区
这里的etc下本没有adjtime文件,这里需要自己创建
editor /etc/adjtime
0.0 0 0.0
0
UTC
dpkg-reconfigure tzdata
配置网络
这里面的可以不用更改,
editor /etc/network/interfaces
editor /etc/resolv.conf
之后执行
echo DebianHostName > /etc/hostname
下面的可以根据自己原来文件中的,进行补充。
127.0.0.1 localhost
127.0.1.1 DebianHostName
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
配置APT
editor /etc/apt/sources.list
deb-src http://ftp.us.debian.org/debian stretch main
deb http://security.debian.org/ stretch/updates main
deb-src http://security.debian.org/ stretch/updates main
apt update
配置locales和keyboard
apt install locales
dpkg-reconfigure locales
To configure your keyboard (if needed):
apt install console-setup
dpkg-reconfigure keyboard-configuration
这里我只是进行简单的安装并没有进行配置,在里面可以按Tab键选择。
之后根据官方文档,要安装内核和设备驱动程序,我并没有按照官方的要求去做,而是直接采用的龙芯电脑自己的内核,只需要修改grub即可。这个操作放在最后把硬盘装在龙芯机器上再做。
安装SSH,并安装访问
apt install ssh
之后设置root 密码:
passwd
编辑
editor /etc/ssh/sshd_config
PermitRootLogin yes
最后添加用户并设置密码
adduser joe
passwd joe