1、环境搭建
(1) VM16+ubuntu18.04:
该款龙芯本身是低功耗,主要用于交叉编译龙芯程序代码和龙芯内核代码。
(2)龙芯程序代码(最常用指令)
loongarch64-linux-gun-gcc demo.c -o demo
意思:用龙芯架构编译demo.c并生成可执行文件demo,使得demo在龙芯板子上运行
(3)龙芯内核代码
内核源码涉及对GPIO、IIC、PWM等功能的使能。
2、vim的下载+使用(略:网上太多了)
3、创建window和ubuntu共享文件夹
(1)该路径是ubuntu共享文件夹位置:(ubuntu_share共享文件夹的名字)
/mnt/hgfs/ubuntu_share
(2)提升权限(跟着来即可)
sudo chmod +x /etc/fstab
(3)vim /etc/fstab
添加
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=0,gid=0,umask=022 0 0
(4)使用命令创建该文件夹的快捷方式到桌面
ln -s /mnt/hgfs/ubuntu_share/ /home/user/Desktop/
ubuntu_share:自定义的共享文件夹,user:ubuntu的用户名
4、解压源码
(1)在ubuntu桌面Desktop下解压 龙芯内核源码和龙芯工具链
sudo tar -xvf linux-4.19-0815.tar.gz(因为这个内核目前最好,不是该内核版本,后续会出现很多问题,如
编译内核报bash/bin:缺少xxx-gcc
)sudo tar -xvf loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1.tar.xz
(2)移动并修改配置
sudo mv /opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1
vim ~/.bashrc
结合上述解压和移动的路径,进行上述配置,然后
source ~/.bashrc
任意路径下都出现上述现象,说明正常。
(3)编译内核源码,在以下路径(linux-4.19/arch/)
①安装编译依赖
sudo apt-get install bison libncurses5-dev libssl-dev flex
②
复制文件夹内arch/loongarch/configs/loongson_2k300_defconfig的配置寄文件到根目录
sudo cp arch/loongarch/configs/loongson_2k300_defconfig .config
③图形界面(龙芯2K0300久久派使用培训(自用)_哔哩哔哩_bilibili)讲解了图形界面的使用
sudo make menuconfig ARCH=loongarch
④
编译内核
sudo make vmlinuz ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j 4
等待即可,时间10分钟左右。
5、编译内核报错
/bin/sh: 1: loongarch64-linux-gnu-xxxx: not found
执行sudo make vmlinuz ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j 4,
报错
/bin/sh: 1: loongarch64-linux-gnu-xxxx: not found
如下图:
即使你已经添加过,但bash就是无法识别,根据以下操作即可解决
上述缺少strip,记住,缺啥补啥
sudo ln -s \
/usr/local/bin/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1/bin/loongarch64-linux-gnu-strip \
/usr/local/bin/loongarch64-linux-gnu-strip
6、使用串口连接龙芯板子(有线网络)
(1)电脑连接wifi,同时该wifi所在路由器,通过网线连接板子,使得电脑和板子在同一局域网。然后使用usb转ttl模块,在
MobaXterm软件上,选择串口协议打开,
(2)然后就会显示开机界面,若没反应,可按一下,type-c旁的复位键
(3)使用ifconfig,查看ip,通常看如下的IP
注意:最好是 192.168.1.100的内网网段,这是C段网络,一般wifi都是C段。此时,我们可以在自己主机上,win+R->cmd->ping 192.168.1.100,查看是否ping通,若相通,则使用ssh协议连接正常,若显示不可达,使用ssh也连不上。若已知都是同一网段,则可以考虑重启板子或者关闭电脑防火墙。
(4)使用ssh所使用正常现象,如下效果正常。
7、传输内核
//传输内核小心点,不然成砖了
scp vmlinuz root@ip:/boot
sync //同步数据
reboot/poweroff
最重要的是:若多个人连接同一个热点,千万不要使用桥接模式,不然window上的vscode是无法连接ubuntu的ip