这篇文章比起教程更像是我的学习笔记,关于如何从零开始构建开源掌机系统,我希望这会是很好的参考资料。经过深思熟虑(其实也没有想太多),决定要选择一个常用的开发板作为教学,选来选去,最合适的还是树莓派zero。注意,这个教程经常会出现各种各样的坑,没办法一一向大家解释,如果遇到问题,可以在帖子留言或者qq问我。
希望这次教程可以让更多人关注开源掌机系统的软件开发上。授人以鱼不如授人以渔。
首先,是构筑系统,这里选用了buildroot,它可以构筑一个嵌入式用的精简linux,并且可以通过选择自己想要的包进行自定义,是一个十分好的工具。
wget https://buildroot.org/downloads/buildroot-2019.02.8.tar.gz
tar -zxvf buildroot-2019.02.8.tar.gz
make raspberrypi0_defconfig
按照司徒的建议,先使用常用的声音和显示,这里了添加alsa-lib和sdl1.2(image记得添加所有图片格式的支持)、sdl2、freetype、directfb,gdb,到时候缺什么包再补上(假如未来要构筑掌机,可以添加FB TFT drivers驱动和gpio驱动)
Filesystem images中的镜像大小exact size调大
make ARCH=arm -j8
烧写镜像,接入hdmi,用户root密码为空
接下来我们要开始编译我们的主菜单GMenuNext
首先从我的github上克隆项目下来
https://github.com/lualiliu/GMenuNX-on-raspberry-pi-zero.git
之后我们需要一个toolchain(交叉工具链),一般来说全志或者君正,网上都能找到工具链,
工具链和sysroot都可以用buildroot里的,这里LDFLAGS还要指定--sysroot
运行make dist
把生成的文件放入~/buildroot-2019.02.8/output/target/root/gmenu2x
再次生成sd卡镜像,烧写到sd卡上,把sd卡插入树莓派,接好线,再运行./gmenu2x
就可以看到效果了。
下一步,我们要做的就是移植第一个模拟器!
希望这次教程可以让更多人关注开源掌机系统的软件开发上。授人以鱼不如授人以渔。
首先,是构筑系统,这里选用了buildroot,它可以构筑一个嵌入式用的精简linux,并且可以通过选择自己想要的包进行自定义,是一个十分好的工具。
wget https://buildroot.org/downloads/buildroot-2019.02.8.tar.gz
tar -zxvf buildroot-2019.02.8.tar.gz
make raspberrypi0_defconfig
按照司徒的建议,先使用常用的声音和显示,这里了添加alsa-lib和sdl1.2(image记得添加所有图片格式的支持)、sdl2、freetype、directfb,gdb,到时候缺什么包再补上(假如未来要构筑掌机,可以添加FB TFT drivers驱动和gpio驱动)
Filesystem images中的镜像大小exact size调大
make ARCH=arm -j8
烧写镜像,接入hdmi,用户root密码为空
接下来我们要开始编译我们的主菜单GMenuNext
首先从我的github上克隆项目下来
https://github.com/lualiliu/GMenuNX-on-raspberry-pi-zero.git
之后我们需要一个toolchain(交叉工具链),一般来说全志或者君正,网上都能找到工具链,
工具链和sysroot都可以用buildroot里的,这里LDFLAGS还要指定--sysroot
运行make dist
把生成的文件放入~/buildroot-2019.02.8/output/target/root/gmenu2x
再次生成sd卡镜像,烧写到sd卡上,把sd卡插入树莓派,接好线,再运行./gmenu2x
就可以看到效果了。
下一步,我们要做的就是移植第一个模拟器!