龙芯久久派刷U-Boot固件安装新世界系统
官方发布了U-Boot固件,可运行新世界系统(6.9.0-rc7),不再受旧世界(4.19)的限制,可玩性大大提高。
首先,下载相关资源包。我们需要的是ABI2.0/images
目录下的u-boot-spl-gz.bin
、uImage-wifi
(针对wifi版)和buildroot/rootfs.tar
。
U盘刷Buildroot系统
将U盘连接到PC,格式化为单个ext4分区,Windows系统可以使用DiskGenius。
如果PC系统是Linux,可以直接将rootfs.tar复制到该分区,然后解压:
1 | sudo tar -xvf rootfs.tar |
如果没有Linux系统,则将U盘插入久久派,执行sudo mount /dev/sda1 /mnt
挂载U盘,然后进入该目录执行上述命令。
然后把uImage-wifi
重命名为uImage
并复制到U盘分区的boot
目录下。
刷U-Boot固件
官方建议用网线连接PC和开发板。其实,如果路由有空闲接口,建议开发板网口连接到路由器。
开发板串口通过USB转串口连PC。我使用的是带串口的调试器ESP USB Bridge,你也可以选择更便宜的c8t6刷DAPLink,但记得改固件代码启用串口。久久派背面有丝印标明接口,接线如下所示(绿GND,橙TX,黄RX):
调试器连接PC,打开串口终端,Windows系统使用Putty,Linux系统使用Minicom(推荐WindTerm):
1 | minicom -D /dev/ttyACM0 -b 115200 |
给开发板上电,通过终端反复按键盘的c
(小写),进入PMON命令行终端。
设置开发板IP,确保其与PC在同一网段,并且不和其他设备冲突。假设PC的IP为192.168.1.2
,则终端输入:
1 | ifaddr syn0 192.168.1.178 |
在PC端,进入u-boot-spl-gz.bin
所在目录启动TFTP服务器。Windows系统使用Tftpd64(放在同一目录执行即可),Linux系统使用tftp-now。
在开发板终端输入刷固件命令:
1 | fload tftp://192.168.1.2/u-boot-spl-gz.bin |
更新过程中千万不要断电或重启,否则开发板可能变砖,只能使用编程器修复。注意,当显示Erase end!
并非结束,再等一会出现Programming end!
才是更新完成!
更新结束后,按开发板重启键,等待终端出现SOC
字样说明固件更新成功。
在U-Boot中设置从U盘启动
将U盘插入久久派。
手动启动系统(可选)
可以先测试U盘的系统是否能正常加载:
1 | ext4load usb 0:1 ${loadaddr} boot/uImage |
如果报错找不到U盘的分区,则执行reset
命令,重新进入U-Boot后重试。
设置自动启动系统
1 | setenv bootargs root=/dev/sda1 rootdelay=5 |
显示写入SPI成功后,重启即可自动进入Buildroot系统。默认用户名root
,密码为空。
以后若想进入U-Boot终端,则在启动时按c
。
恢复PMON(可选)
将PMON的固件名改为u-boot.bin
,放入U盘(FAT32或ext4均可)里的update
文件夹。
将U盘插入久久派。
给开发板上电,启动时按m
进入boot menu。
选择Update u-boot to spi flash (by usb)
。
交叉编译工具链
coremark
顺便跑了个分,结果比旧世界提升了近30%,大概是因为新世界的编译器优化非常给力。
3.944/MHz
参考资料
【重要】龙芯久久派新世界系统ABI2.0发布,Plus开始发货
安装新世界系统指令