LicheeRV Nano
LicheeRV Nano で遊んだときの記録
U-Boot + OpenSBI
基本はU-Bootのドキュメントの通りにやればよい。
export CROSS_COMPILE=riscv64-suse-linux- # Replace this with your own prefix
export U_BOOT=u-boot-2026.01
export DEVICE=/dev/mmcblk0
curl https://ftp.denx.de/pub/u-boot/$U_BOOT.tar.bz2 | tar xjvf -
cd $U_BOOT
make sipeed_licheerv_nano_defconfig
make -j$(nproc)
cd ..
git clone --depth=1 https://github.com/riscv/opensbi.git
cd opensbi
make PLATFORM=generic FW_FDT_PATH=../$U_BOOT/u-boot.dtb -j$(nproc)
cd ..
git clone --depth=1 https://github.com/sophgo/fiptool.git
cd fiptool
./fiptool --fsbl data/fsbl/cv181x.bin --ddr_param data/ddr_param.bin --opensbi ../opensbi/build/platform/generic/firmware/fw_dynamic.bin --uboot ../$U_BOOT/u-boot.bin --rtos data/cvirtos.bin
echo -e "o\nn\np\n1\n\n\nt\nc\na\nw\n" | sudo fdisk $DEVICE
sudo mkfs.vfat -F 32 ${DEVICE}p1
mkdir temp
sudo mount ${DEVICE}p1 ./temp
sudo cp fip.bin ./temp/
sudo umount ./temp
rmdir temp
environments
環境変数は以下の通り(ブートコマンドは省略)
arch=riscv
baudrate=115200
board=licheerv_nano
board_name=licheerv_nano
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_syslinux_conf=extlinux/extlinux.conf
boot_targets=mmc0
bootcmd=run distro_bootcmd
bootcmd_mmc0=devnum=0; run mmc_boot
bootdelay=2
bootfstype=fat
consoledev=ttyS0
cpu=cv1800b
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
distro_bootpart_uuid=1d0ab0f3-01
efi_dtb_prefixes=/ /dtb/ /dtb/current/
fdt_addr_r=0x82000000
fdtcontroladdr=8f7265b0
kernel_addr_r=0x81000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x80080000
scriptaddr=0x80c00000
stderr=serial@4140000
stdin=serial@4140000
stdout=serial@4140000
vendor=sophgo