CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 118799|回复: 52

[教程]如何修改script.bin/script.fex

  [复制链接]
发表于 2013-2-17 10:42:38 | 显示全部楼层 |阅读模式
本帖最后由 @allen 于 2015-6-30 17:39 编辑


2015年6月增加:
感谢WindLand的贡献,最新版本请参考
http://cubie.cc/forum.php?mod=viewthread&tid=4175











_________________________________________________________________________________

你是否经常看见其他帖子里或者其他人提到要修改script.bin或script.fex ,但你又不知道怎么改。

其实 script.bin就是script.fex通过 fex2bin生成的,script.fex是文本格式,方便人修改,修改好之后转换为script.bin二进制格式方便机器读取。

2013-6-24更新:
本文是假设 用户的cubieboard是安装的linaro/ubuntu/debian 而且 已连接上网、已安装编译工具、已安装git的情况下。
如果没安装的,可以先执行这句来安装编译工具和git:
sudo apt-get install build-essential make gcc g++ git-core

android用户请参考此贴:<Edit script.bin or script.fex for Android >

我们就说说在哪里修改这个文件,如果是nand上的系统,那么script.bin在第一个分区(/dev/nanda)中;如果是sd卡上的系统,也在第一个分区(/dev/mmcblk0p1)中。

如果是sd卡,你可以用读卡器在PC上面把script.bin 拷贝出来修改,不过我建议直接在cb上修改,很方便。

我以修改SD卡上的linaro系统的script.bin配置为例:
1. 首先正常启动cb上SD卡的系统ssh连接上去,把fex2bin和bin2fex工具下载编译好:
git clone git://github.com/linux-sunxi/sunxi-tools.git
cd sunxi-tools
make

再ls查看你就会看见fex2bin 和 bin2fex了

2.将你要修改的script.bin拷贝出来
mkdir /mnt/mmcp1
mount /dev/mmcblk0p1 /mnt/mmcp1
cp /mnt/mmcp1/script.bin ./


3.将刚刚拷贝过来的script.bin转为script.fex,然后修改script.fex
./bin2fex script.bin > ./script.fex   #将bin转为fex并写入到当前目录的script.fex文件
vi ./script.fex   #编辑里面的内容,然后保存退出
#比如我要固定我以太网的mac地址,就在末尾加上一段
[dynamic]
MAC = "123456789abc"   #12位的16进制字符串即为你想要的mac地址

4.将修改过的script.fex转回script.bin并放回原处
./fex2bin script.fex > ./script.bin
cp ./script.bin /mnt/mmcp1/
umount /mnt/mmcp1


然后重启动系统,你的新script配置就生效了

附录:
每一项配置的具体解释参见: http://linux-sunxi.org/Fex_Guide








回复

使用道具 举报

发表于 2013-2-26 15:42:47 | 显示全部楼层
非常有用,公司的网络太怪异,局域网中N多个1.1的路由器,整个网关的出口又是20.1,如果mac不固定下来,每次启用MAC都在变,IP地址也跟着再变
回复 支持 反对

使用道具 举报

发表于 2013-4-4 22:02:30 | 显示全部楼层
亲测,出现eth0丢失的情况,还是搞个无线网卡来的靠谱
回复 支持 反对

使用道具 举报

发表于 2013-5-14 18:26:58 | 显示全部楼层
Buddy,
How to change script.bin in adroid?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-14 21:16:40 | 显示全部楼层
siriux 发表于 2013-5-14 18:26
Buddy,
How to change script.bin in adroid?

上面有提到,
(/dev/nanda)中
,进tf卡里面的linux,然后按以上步骤操作,不同的只是 /mnt/下挂载的不是mmcblk0p1 而是 nanda了
回复 支持 反对

使用道具 举报

发表于 2013-5-14 22:43:15 | 显示全部楼层
WindLand 发表于 2013-5-14 21:16
上面有提到, ,进tf卡里面的linux,然后按以上步骤操作,不同的只是 /mnt/下挂载的不是mmcblk0p1 而是 n ...

我用的是安卓,装在NAND里,但是/dev下没有nanda这个文件夹
回复 支持 反对

使用道具 举报

发表于 2013-5-14 22:43:16 | 显示全部楼层
WindLand 发表于 2013-5-14 21:16
上面有提到, ,进tf卡里面的linux,然后按以上步骤操作,不同的只是 /mnt/下挂载的不是mmcblk0p1 而是 n ...

我用的是安卓,装在NAND里,但是/dev下没有nanda这个文件夹
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-14 22:52:14 | 显示全部楼层
siriux 发表于 2013-5-14 22:43
我用的是安卓,装在NAND里,但是/dev下没有nanda这个文件夹

进tf卡里的linux,才会看到/dev/nanda
android本身启动貌似nanda就已经被挂载到系统中了。具体路径我不知道,df 命令看看呢,我目前没有android系统帮你测试,抱歉。
回复 支持 反对

使用道具 举报

发表于 2013-5-23 17:12:20 | 显示全部楼层
siriux 发表于 2013-5-14 22:43
我用的是安卓,装在NAND里,但是/dev下没有nanda这个文件夹

nanda文件夹是隐藏的,你只管挂载即可!
回复 支持 反对

使用道具 举报

发表于 2013-5-23 17:18:29 | 显示全部楼层
f839903061 发表于 2013-5-23 17:12
nanda文件夹是隐藏的,你只管挂载即可!

没有隐藏,在/dev/block目录下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-11-22 18:57 , Processed in 0.025830 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部