久久派 (Loongson 2K0300) 从PMON到U-Boot引导与WuWu库内核部署实战解析

张开发
2026/4/15 2:13:18 15 分钟阅读

分享文章

久久派 (Loongson 2K0300) 从PMON到U-Boot引导与WuWu库内核部署实战解析
1. 久久派开发板与Loongson 2K0300基础介绍久久派是一款基于龙芯2K0300处理器的开源开发板主打教育、物联网和嵌入式开发场景。这块板子最吸引人的地方在于它完全国产化的技术栈——从CPU指令集到操作系统内核都能自主可控。我去年第一次拿到这块板子时原厂预装的还是传统的PMON引导环境但实际开发中U-Boot的生态支持明显更完善这也是为什么很多开发者会选择迁移到U-BootWuWu库内核的组合。龙芯2K0300采用MIPS64架构主频1GHz支持DDR3内存功耗控制在5W以内。别看参数不算顶尖但在国产化替代场景下它的性价比非常突出。我实测跑WuWu库的轻量级Linux内核启动时间能压缩到3秒以内做智能家居网关或者工业控制器绰绰有余。板载的硬件资源包括双网口百兆千兆4个USB 2.0接口40针GPIO扩展口支持SD卡和SPI Flash启动2. 从PMON迁移到U-Boot的必要性原厂的PMON固件虽然稳定但存在几个硬伤首先是开发工具链老旧很多现代调试工具无法直接使用其次是网络引导支持有限每次烧录都要折腾TFTP配置。相比之下U-Boot的优势就非常明显了生态兼容性主流Linux发行版都提供U-Boot适配镜像功能扩展性支持设备树、USB烧录、网络引导等现代特性调试便利性完善的命令行环境和变量存储机制迁移过程中最关键的是Flash分区表的处理。PMON使用的norflash布局是0x000000-0x0FFFFF : pmon 0x100000-0x1FFFFF : kernel而U-Boot需要调整为0x000000-0x1FFFFF : uboot 0x200000-0x3FFFFF : kernel这个分区变化会导致直接刷写失败必须先用PMON的erase命令清理整个Flash区域。我在第一次迁移时就栽在这个坑里板子变砖后只能用编程器救回。3. 硬件与软件准备工作3.1 硬件连接清单久久派开发板建议WiFi版带网络调试更方便5V/2A电源适配器电流不足会导致刷机中途崩溃USB转TTL串口模块CH340芯片兼容性最好直连网线必须用千兆线百兆线可能有兼容性问题3.2 软件工具准备终端工具推荐MobaXterm内置SSH/SFTP/TFTP三件套TFTP服务器Tftpd64比Tftpd32更稳定实测传输大文件不易超时固件包需要准备两个关键文件u-boot-spl-gz.binU-Boot引导程序wuwu-kernel.bin定制内核镜像这里有个小技巧把TFTP服务器根目录设在固态硬盘分区上。我对比过机械硬盘和SSD的传输速度前者平均3.2MB/s后者能达到8.5MB/s刷机时间直接缩短60%。4. 网络环境配置实战4.1 主机端IP设置Windows和Linux配置略有差异Windows端以Win10为例控制面板 网络和共享中心 更改适配器设置 右键以太网 属性 IPv4 手动设置IP192.168.2.10 子网掩码255.255.255.0Linux端Ubuntu示例sudo nmcli con mod eth0 ipv4.addresses 192.168.2.10/24 sudo nmcli con up eth0一定要关闭防火墙我遇到过三次刷机卡在99%都是因为Windows Defender拦截了TFTP传输。彻底关闭的命令是netsh advfirewall set allprofiles state off4.2 开发板网络调试通过串口进入PMON命令行后关键命令序列是ifaddr syn0 192.168.2.2 # 设置板端IP ping 192.168.2.10 # 测试连通性如果ping不通按这个顺序排查检查网线指示灯黄灯常亮表示物理层正常重做水晶头我有次就是网线压接不良导致丢包换用其他品牌的交换机部分家用路由器NAT会干扰直连5. U-Boot刷写全流程详解5.1 Flash擦除操作这是最危险的步骤必须确保开发板接UPS或电池供电主机使用有线网络连接WiFi容易断流PMON下执行erase 0xbfc00000 0x200000 # 擦除2MB空间擦除时间约30秒期间串口可能会无响应这是正常现象。千万别手贱去按复位键5.2 固件传输与烧写使用TFTP协议传输时建议先测试小文件load tftp://192.168.2.10/test.bin确认传输正常后再刷写正式固件fload tftp://192.168.2.10/u-boot-spl-gz.bin进度条走到100%后会显示Programming end。这时候立即断电再上电如果看到龙芯LOGO和SOC信息说明U-Boot刷写成功。6. WuWu库内核部署技巧6.1 内核镜像定制WuWu库内核默认配置可能不适合所有场景建议先调整make menuconfig重点修改CONFIG_CMDLINEconsolettyS2,115200 root/dev/mmcblk0p2 CONFIG_NETWORK_FILESYSTEMSy6.2 烧录与启动验证U-Boot环境下用这些命令tftp 0x80200000 wuwu-kernel.bin nand erase 0x200000 0x600000 nand write 0x80200000 0x200000 0x600000 bootm 0x80200000成功启动的标志是看到WuWu库的ASCII艺术logo和系统版本信息。如果卡在Starting kernel...大概率是设备树没适配好。7. 常见问题排查指南问题1刷机后串口无输出检查串口波特率必须是115200确认TX/RX线序没有接反问题2内核panic报错[ 1.234567] Kernel panic - not syncing: VFS: Unable to mount root fs这说明initramfs缺失需要重新配置内核加入内置initramfs支持。问题3网络接口不识别 在U-Boot下输入setenv ethaddr 00:11:22:33:44:55 saveenv强制设置MAC地址可以解决部分网卡驱动兼容性问题。

更多文章