当前位置:AIGC资讯 > AIGC > 正文

树莓派4B部署及测试llamafile

重点:不要用树莓派的官方镜像(至少20240808目前的还不支持llamafile,会报错llamafile: prog mmap failed w/ errno 12),查看llamafile github项目下别人的做法是重新换成Ubuntu server 22.04系统即可,我试下最新的ubuntu server24.04(server版可以ssh,如果选择的镜像是Desktop版本的,通常情况下,这些镜像会默认关闭SSH服务)

Raspberry Pi

On Raspberry Pi, if you get "mmap error 12" then it means your kernel is configured with fewer than 48 bits of address space. You need to upgrade to RPI 5. You can still use RPI 4 if you either (1) rebuild your kernel, or (2) get your SDcard OS image directly from Ubuntu (don't use RPI OS).

这里提到的“地址空间”是指操作系统可以寻址的内存范围。在32位系统上,地址空间通常限制在大约4GB,而64位系统可以支持更大的内存。48位地址空间意味着可以寻址高达256TB的内存,这对于需要大量内存映射的应用程序来说非常重要。

为了解决 Raspberry Pi 上的内存映射限制问题,通过升级硬件、重新配置内核或更换操作系统映像来实现。

找一下U盘,mount /dev/sda1  /mnt

cd /mnt

cp 文件  /home/pi

 局域网访问192.168.1.128:8080

总结

### 文章总结
**主题**:解决在树莓派(Raspberry Pi)上运行llamafile时遇到的`mmap error 12`问题,并推荐更换为Ubuntu Server 22.04或24.04系统。
**核心问题**:
- 树莓派官方镜像(截至2024年8月8日)不支持llamafile,运行时会报错`llamafile: prog mmap failed w/ errno 12`。
- 该错误表明树莓派的内核配置地址空间少于48位,限制了内存映射能力。
**解决方案**:
1. **更换操作系统**:
- 放弃树莓派官方镜像,改用Ubuntu Server 22.04或24.04系统镜像。注意选择Server版以确保SSH服务默认开启,便于远程管理。
- 如果选择Desktop版Ubuntu镜像,可能需要手动开启SSH服务。
2. **硬件升级**:
- 升级到树莓派5(RPI 5),因为RPI 5支持更大的地址空间,从而解决内存映射限制问题。
- 如果坚持使用RPI 4,可以考虑重建内核或直接从Ubuntu获取SD卡操作系统映像,避免使用树莓派官方系统。
3. **内核配置**:
- 对于RPI 4用户,另一种解决方案是重新编译内核,确保配置足够的地址空间支持。
**额外提示**:
- **地址空间解释**:地址空间是指操作系统能够寻址的内存范围。32位系统通常限制在约4GB,而64位系统(如支持48位地址空间的系统)可以支持高达256TB的内存,这对于需要大量内存映射的应用至关重要。
- **文件操作示例**:文中还简要提到了如何在Linux环境下通过命令行操作U盘,如挂载U盘、复制文件等,但这部分内容与解决llamafile报错问题不直接相关。
- **局域网访问**:提到了通过局域网访问特定IP地址和端口的示例(192.168.1.128:8080),这可能是用于访问某个服务或应用的示例,与解决llamafile问题无直接联系。
**总结**:要解决树莓派上llamafile的`mmap error 12`问题,最直接的方法是更换为支持更大地址空间的操作系统,如Ubuntu Server 22.04或24.04。同时,硬件升级和内核配置调整也是可行的解决方案。

更新时间 2024-08-23