您尚未登录。

楼主 #1 2019-07-24 22:37:58

xm1994
会员
注册时间: 2019-07-03
已发帖子: 65
积分: 64.5

lichee nano官方linux config文件踩坑与填坑(常见配置误区)

前文:
终于搞好了荔枝派nano linux uboot瘦身 + usb gadget hid + gt911触控 + littlevgl demo
相关的配置文件,编译好的二进制都可以在楼层中找到。

0x01:  开机卡在waiting for rootfs

原因有两点

1. 找不到SPI flash
f1c100s应使用A31的spi控制器驱动,但lichee官方config中是启用的A10 SoC的驱动。
表现为开机ttl日志中没有dts中的spiflash 分区信息打印,且卡在waiting for rootfs
启用:Device Driver --->  SPI Support ---> Allwinner A31 SPI controller
禁用:Device Driver --->  SPI Support ---> Allwinner A10 SoCs SPI controller

2. 未开启mtdblock
lichee官方的u-boot 中 kernel cmdline 使用jffs2格式的mtdblock3作为rootfs,但config中没有打开mtdblock设备接口。
表现为开机ttl日志中有dts中的spiflash 分区信息打印,但仍然卡在waiting for rootfs
启用:Memory Technology Device (MTD) support  --->   Caching block device access to MTD devices   

0x02: 无法挂载jffs2分区
lichee 官方配置文件没有打开jffs2的文件系统支持。
启用: File systems  --->  Miscellaneous filesystems  --->   Journalling Flash File System v2 (JFFS2) support     
这里推荐把squashfs4.0也一并打开,后面会开一帖讲下如何添加更新固件和恢复默认设置的功能。

0x03:  开机后报大量JFFS2 erase size错误
这个lichee官方和论坛里很多人的帖子都有提到,修复方法是patch掉内核里对应flash型号的SECT_4K参数。但是实际上内核配置文件中为我们预留了关闭4K erase size 的选项,无需侵入内核代码修改。
禁用:Memory Technology Device (MTD) support  --->  SPI-NOR device support  --->    Use small 4096 B erase sectors     
这样以后更换其他的flash芯片也无需重新修改内核。

0x04: 运行framebuffer gui程序后,右上角有闪烁的光标
论坛里有修改bootargs的办法:
https://whycan.cn/t_543.html
https://whycan.cn/t_1953.html#p12829
搜索引擎里搜到的基本都说要patch代码

但我个人认为两种方法都不是根本办法,其实config中有可以关闭framebuffer 作为console的选项。
修改方法
禁用:Device Driver ---> Graphics support  --->   Console display driver support  --->    Framebuffer Console support
但这个选项默认无法修改。仔细查看相关的Kconfig文件后,发现这个选项只有启用了专家模式(Expert Mode),且没有其他依赖选项时才可以关闭。
启用专家模式:General setup ---> Configure standard kernel features (expert users)  但不要修改里面的选项
然后就可以禁用:Device Driver ---> Graphics support  --->   Console display driver support  --->    Framebuffer Console support
这样你的显示器在framebuffer初始化完了就会变成黑色,运行gui程序后也不会有闪烁的光标了。

最近编辑记录 xm1994 (2019-07-24 22:54:46)

离线

楼主 #3 2019-07-24 22:54:06

xm1994
会员
注册时间: 2019-07-03
已发帖子: 65
积分: 64.5

Re: lichee nano官方linux config文件踩坑与填坑(常见配置误区)

晕哥 说:

感谢分享,  0x03 技巧 get 到了!

我也是觉得以前给其他设备适配openwrt的时候,也用的w25qxx,没修改过内核的相关代码,后来仔细查了查发现能从config里直接关掉。而且用修改代码的方法换一片其他的flash就又要重编内核好麻烦。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn