Skip to main content

Li Zheng flyskywhy@gmail.com

Lichee RV 使用详解

在 x86 Windows 上烧录 risc-v Linux 到 SD 卡

插上 SD 卡,用 Debian 镜像烧录系统

在 x86 Linux 上修复 SD 卡中的分区

后面运行 risc-v Linux 时用df -h命令会发现根分区只有3.6GB,为避免后续安装更多软件时出现No space left on device,需使用 GParted 打开 SD 卡,在里面的 rootfs 上“右键菜单->信息”,根据提示“分区->检查”来扩大文件系统至整个8GB的分区。

运行 risc-v Linux

插上 HDMI 和 USB 键盘,使用用户名 root 和密码 licheepi 登录系统。

如果没有 USB HUB 来同时插上 USB 鼠标,则可使用CTRL+ESC来打开系统菜单找到终端程序。

在终端程序中vi /etc/ssh/sshd_config然后添加PermitRootLogin yes以解决无法以 root 账号 ssh 的问题,如此就可以拔下 HDMI 和 USB 键盘了。

vi /etc/apt/sources.list然后修改为如下

#deb http://ftp.ports.debian.org/debian-ports/ sid main deb http://deb.debian.org/debian-ports sid main deb http://deb.debian.org/debian-ports unreleased main deb-src http://deb.debian.org/debian sid main

再参考 https://www.ports.debian.org/archive ,运行

gpg --keyserver http://keyserver.ubuntu.com --recv-keys 01C2D6F3D1A46AD1C0DC2F3D8D69674688B6CB36 gpg --export 01C2D6F3D1A46AD1C0DC2F3D8D69674688B6CB36 | apt-key add -

这样就可以顺利apt update了,而且隔上几天了就要先apt update,否则在apt install时很容易404

在 x86 Linux 上安装riscv64-unknown-linux-gnu-gcc

git clone https://github.com/riscv-collab/riscv-gnu-toolchain cd riscv-gnu-toolchain ./configure --prefix=/opt/riscv make linux

在 risc-v Linux 上运行 go + c 程序

比如编译 https://github.com/flyskywhy/textiot/commit/046914e ,然后在 risc-v Linux 上运行时如果出现没头没脑的Segmentation fault,则

apt install gdb gdb textile-riscv run

就可以看到较详细的SIGSEGV, Segmentation fault. transcmp at dcigettext.c:290,分析判断是编译器问题,就进入riscv-gnu-toolchain/glibc/进行git reset hard2.37版(注:riscv-gnu-toolchain也已在2023-02-19的提交点中更改为了2.37版),然后重新make linux编译出编译器,再以之编译程序后运行就正常了。

在 risc-v Linux 上运行 js 程序

apt install nodejs npm

然后就可以进行 nodejs 开发了,比如npx http-server some_www_folder就可以将 Lichee RV 作为一个 Web 服务器来使用了。