您尚未登录。

楼主 #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)

离线

#2 2019-07-24 22:43:36

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

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

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





离线

楼主 #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就又要重编内核好麻烦。

离线

#4 2019-07-24 22:59:05

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

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

以前看到 Use small 4096 B erase sectors 这个选项, 想想可能和 jffs2 的 4k  有关系,但是大家都说去改源码, 所以也没有去深究了, 感谢大神解惑.





离线

#5 2019-07-25 08:58:35

Jmhh247
会员
注册时间: 2018-12-21
已发帖子: 262
积分: 262

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

感谢分享,学习了

离线

#6 2019-09-20 17:13:20

我思故我在
会员
注册时间: 2019-09-03
已发帖子: 244
积分: 243.5

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

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程序后也不会有闪烁的光标了。

原来如此

离线

#7 2019-09-20 19:57:59

jiangming1399
会员
注册时间: 2018-06-14
已发帖子: 113
积分: 113

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

关于framebuffer的问题,其实可以不用改内核编译参数的

echo 0 > /sys/class/graphics/fbcon/cursor_blink
echo 0 > /sys/class/vtconsole/vtcon1/bind

这样就可以关掉了

离线

#8 2019-09-20 20:11:13

ffplay
会员
注册时间: 2019-08-31
已发帖子: 92
积分: 92

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

不过那样改之后可以不用占ROM空间了

离线

#9 2019-11-10 14:06:58

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,223
积分: 9197

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





离线

#10 2020-01-14 22:31:46

vmalloc
会员
注册时间: 2019-10-28
已发帖子: 18
积分: 18

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

留下记号,刚把系统运行起来,早看了这个早就好了。。。

离线

#11 2020-01-14 22:39:30

好想做个有钱人
会员
注册时间: 2019-12-19
已发帖子: 40
积分: 40

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

0x04 学到了 &_&, 谢谢分享.

离线

#12 2020-01-22 06:26:23

LinjieGuo
Moderator
注册时间: 2019-07-24
已发帖子: 565
积分: 570
个人网站

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

mark

离线

#13 2020-01-31 22:56:06

huxiao45
会员
注册时间: 2019-11-04
已发帖子: 10
积分: 4.5

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

MARK,谢谢楼主干货

离线

#14 2020-02-28 03:58:46

bnneagle
会员
注册时间: 2020-02-25
已发帖子: 3
积分: 3

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

感谢大神的解惑

离线

#15 2020-02-28 07:24:41

1066950103
会员
注册时间: 2017-11-17
已发帖子: 61
积分: 46

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

这个有用先标记,0x03 这样改好多啦。很多东西理解不到位啊!

离线

#16 2020-02-28 12:25:56

迪卡
会员
所在地: 河北
注册时间: 2018-11-02
已发帖子: 916
积分: 903
个人网站

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

mark

离线

#17 2020-02-28 15:20:48

sea18c
会员
注册时间: 2019-08-05
已发帖子: 230
积分: 222.5

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

感谢分享,学习了

离线

#18 2021-12-15 10:27:10

lsgandwty
会员
注册时间: 2021-12-14
已发帖子: 3
积分: 3

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

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

#19 2021-12-22 14:14:40

CHSHIQING
会员
注册时间: 2020-11-27
已发帖子: 46
积分: 6

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

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

#20 2022-05-12 09:41:36

xk100
会员
注册时间: 2018-12-13
已发帖子: 73
积分: 61.5

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

该评论内容与本帖子无关,鼓励各位坑友积极发言讨论与帖子有关的内容!

离线

  • 不通过:其他

页脚

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

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