正点原子 i.MX6ULL 上跑Linux 7.0主线内核?周末我做的大活!
嘿嘿,憋了一小阵子,总算可以说"终于"了
说实话,写这个主线内核移植教程,比我最初想象的花了太多时间。
多新的内核呢?Linux 7.0-rc4的版本,够新了吧!我发行版还没用上呢(哭)
不是代码有多难——主线内核的驱动已经很成熟了。真正麻烦的是:从厂商 BSP 到主线内核,整个架构都变了。
- 显示系统从 Frameframe 变成 DRM/KMS
- 设备树从
display = <&display0> 变成 OF graph 的 port/endpoint - 连写法都不一样,你拿 BSP 的设备树直接往主线里扔,100% 报错
更糟糕的是,网上资料零散、版本混乱,各种"这里略去一万字"的教程。我就是不想让后来人再踩我踩过的坑,才把这个完整的过程写下来。
这次更新了什么?
🎯 主线内核移植教程(11 章,完整版)
这是我们这次要重点宣传的——从 NXP BSP 6.12.x 到 Linux 主线 7.0-rc4 的完整迁移指南。
啥?你问我链接?放心在公众号上,我会逐步发送,在知乎等各个平台上会以每天一篇的速率跟NXP的linux-imx 6.12.49的移植指南一起发送!把方案分享给大伙更是重要的。我还是那个理念——知识本身不应该构成门槛,分享出来,大伙感兴趣的提意见,改进,一起进步,那是更重要的!
等不及了?这没辙,不过你猜怎么样:
https://github.com/Awesome-Embedded-Learning-Studio/imx-forge 上已经开源了所有的教程 原生Markdown读的不舒服?https://awesome-embedded-learning-studio.github.io/imx-forge/ 静态网页拯救世界! (顺便祈求有没有嵌入式大跌issue下我指出来问题,小生会不胜感激!)
🔥 重点亮点
- DRM 显示系统详解:从旧 Framebuffer 到 DRM/KMS 的完整迁移,包括
panel-dpi 驱动使用、OF graph 连接方式、背光配置 - BSP vs 主线对比
- 完整踩坑记录:GPIO 冲突、时序参数错误、PHY 配置……各种报错的解决方法
- 实战驱动风格
其他特色
💻 WSL2 深度友好
Windows 用户不用双系统了!(别用ubuntu16.04了大哥)项目在 WSL2 下完整测试通过:
📚 完整的学习路径
| |
|---|
| ARM GNU Toolchain 15.2 安装与配置 |
| |
| |
我知道有大哥会问Rootfs呢?啊,这个是单独的,放在之后更新,当然仓库上的教程已经更新完毕了,clone下来速速尝鲜,有问题火速Issue我或者评论区留个言。看到就回!
适合谁?
如何开始?
📖 在线阅读
https://awesome-embedded-learning-studio.github.io/imx-forge/
📥 GitHub 仓库
https://github.com/Awesome-Embedded-Learning-Studio/imx-forge
⭐ 给个 Star
如果看官觉得还不错,大爹们赏一个Star吧!孩子第一次搞这个,上班没休息,周六通宵了。。。你的支持是笔者持续更新的动力!
写在最后
这个项目是我在无数个熬夜调试的日子里慢慢搭起来的。主线内核的迁移,我踩了无数的坑:LCD 不亮、触摸没反应、网口不通、GPIO 冲突……
但我相信,这些都不应该是你学习路上的障碍。你不需要再重复踩这些坑,只需要专注理解原理、做自己的产品。
欢迎 Star、Fork、提 Issue、提 PR!
如果你有任何问题或建议,欢迎在 GitHub 上提 Issue,或者在文章下面留言。