[教程]如何修改script.bin/script.fex
本帖最后由 @allen 于 2016-10-8 09:38 编辑因为http://cubie.cc/forum.php?mod=viewthread&tid=141 教程太旧了,搬运官方文档《CB1、CB2、CT-linux 更新系统配置文件(sys_config.fex).pdf》的内容到此。
1. 概述
1.1. 适用范围
本文档适用于Cubieboard1、Cubieboard2、 Cubieboard2Dual-card 、CubieTruck等以A10与A20作为主控芯片开发板的linux系统。
1.2. sys_config.fex
sys_config.fex文件定义了各种参数来配置SOC(全志A系列的芯片)工作状态或方式。比如它配置GPIOPIN 脚的输入,输出模式或电平的高低,配置DRAM工作状态,配置显示输出模式等等。具体的配置项可以查看sys_config.fex。用户通过修改此文件来达到快速定制系统的目的。
1.3. script.bin
script.bin是由sys_config.fex转为二进制bin文件,是真正被系统解析的文件。有些时候
sys_config.fex被命名为script.fex,但其作用是一样的,都为一个文本格式的fex文件。script.bin位于系统的第一份区。
1.4. fex2bin 与 bin2fex
fex2bin是将文本fex文件转为二进制bin文件的工具。
bin2fex 是将二进制bin文件转为文本fex文件的工具。
注意:这两个工具较新的系统自带,一些旧的固件可能没有这两个工具,所以最好使用新固件。或在板子系统内下载源码编译:
#apt-get install gcc git build-essential libusb-dev pkg-config libusb-1.0 make
#git clone https://github.com/linux-sunxi/sunxi-tools
#cd sunxi-tools
#make
#cp bin2fexfex2bin fexc /bin
2.更新配置
下面以将CubieTruck显示输出从默认的HDMI改为VGA为例子
2.1. 转fex文件
如果系统在nand上,输入
#mount /dev/nanda /mnt
#cd /mnt
#bin2fex script.bin sys_config.fex
如果系统在tfcard 上, 输入
#mount /dev/mmcblk0p1 /mnt
#cd /mnt
#bin2fex script.bin sys_config.fex
2.2. 修改sys_config.fex
#vi sys_config.fex
将"screen0_output_type=3"改成"screen0_output_type=4",即VGA输出。
依据需要修改参数,参数的说明与作用可在http://linux-sunxi.org/Fex_Guide 查看。修改完成后保存,退出。
为了验证本次的修改有效,可选择地将"leds_para"部分中的leds_trigger_1= "heartbeat"改为leds_trigger_1= "none "。此修改生效后,蓝灯在系统运行的时候,一直不亮。
2.3. 转bin文件
#cd /mnt
#fex2bin sys_config.fex script.bin
#cd~
#umount /mnt
#reboot
重启后,修改生效。用VGA线接显示器,看是否有输出。
本帖最后由 @allen 于 2015-5-19 17:03 编辑
搬运官方文档《CC-A80-linux 更新系统配置文件(sys_config.fex).pdf》的内容到此。
1.概述
1.1.sys_config.fex
sys_config.fex 文件定义了各种参数来配置SOC(全志A系列的芯片) 工作状态或方式。比如它配置GPIO PIN 脚的输入,输出模式或电平的高低,配置DRAM 工作状态,配置显示输出模式等等。具体的配置项可以查看sys_config.fex 。用户通过修改此文件来达到快速定制系统的目的。
注意:在Cubieboard1、Cubieboard2、CubieTruck 开发板linux 系统中,这个文件可能名为script.fex , 但其作用是一样的,都为一个文本格式的fex 文件。
1.2.sys_config.bin
sys_config.bin 是由sys_config.fex转为二进制bin 文件。在CC-A80 Linux 中,它需要通过工具分别跟 u-boot-spl 和u-boot 集成在一起, 才能真正被系统解析。
注意: 在Cubieboard1、Cubieboard2、CubieTruck 开发板linux 系统中,这个文件为script.bin ,且只需放在系统的第一份区即可被系统解析。
1.3.CC-A80 boot-file目录
V0.2 版本以上CC-A80 固件的系统里面都有一个 /root/boot-file目录,里面放了 当前相关系统配置和u-boot文件
文件
说明
sys_config.fex
系统配置文件
update_sys_config.sh
更新系配置脚本,集成所有的更新操作
u-boot-spl.bin
迷你版的u-boot
u-boot-sun9iw1p1.bin
用于上面TF CARD 的u-boot
u-boot-sun9iw1p1_card2.bin
用于下面EMMC 的u-boot
readme.txt 说明文本
2.更新配置
2.1.修改sys_config.fex
HDMI显示输出的固件默认分辨率为1080p60 。以修改分辨率为720p60 为例
#cd /root/boot-file
#vi sys_config.fex
将"screen1_output_mode=10"改成 "screen1_output_mode=5",即720p60。
依据需要修改参数,参数的说明与作用可在打开的sys_config.fex 见到。修改完成后保存,退出。
为了验证本次的修改有效,可选择地将"leds_para "部分中的leds_trigger_1 = "heartbeat"改为leds_trigger_1 = "none "。此修改生效后,红灯在系统运行的时候,一直不亮。
2.2.脚本更新
#cd /root/boot-file
如果系统是在TF CARD 上,输入
# ./update_sys_config.shtfcard
如果系统是在EMMC 上,输入
# ./update_sys_config.shemmc
等待几秒钟。如果执行成功,没有报错,需重启系统,修改才会生效。
注意:如果系统在TF CARD,而误使用 "# ./update_sys_config.shemmc ",执行不会报错,但重启后进不了系统。所以做上面的误操作需要,再一次正确执行"# ./update_sys_config.shtfcard"。
如果系统在EMMC,而误使用 "# ./update_sys_config.shtfcard " ,也是同样的情况。如果使用普通用户可能出想权限问题,切换到root 用户执行。
自顶占楼
framebuffer 内存要在哪里修改
cb5要如何修改呢?
cb5要如何修改呢?
cxd1220 发表于 2016-7-15 11:18 static/image/common/back.gif
cb5要如何修改呢?
http://pan.baidu.com/s/1jGEFvBC#path=%252FModel%252FCubieBoard5%252FDocs%252FLinux
Cubietruck Plus Linux更新系统配置文件(sys_config.fex)v1.0.pdf
@allen 发表于 2016-7-15 12:02 static/image/common/back.gif
http://pan.baidu.com/s/1jGEFvBC#path=%252FModel%252FCubieBoard5%252FDocs%252FLinux
Cubietruck Plu ...
谢谢
@allen 发表于 2015-6-6 10:51 static/image/common/back.gif
自顶占楼
非常赞折腾了好几天看到这终于明白
A20 板子,为什么挂载的时候出现路径不对提示?
页:
[1]