主题 : Barebox for tiny 210 - step 3 环境变量 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 54261
精华: 9
发帖: 43
金钱: 665 两
威望: 133 点
贡献值: 9 点
综合积分: 266 分
注册时间: 2011-08-27
最后登录: 2014-08-08
楼主  发表于: 2013-01-10 20:54

 Barebox for tiny 210 - step 3 环境变量

返回学习汇总贴
我有罪,中午在城里吃了碗地沟油面...
老婆要来过周末,今天更新两节...

试用新版环境变量

0.开始之前:
    (1) 你需要了解基本的shell命令
    (2) 掌握Barebox for tiny 210 - step 2
    (3) 搭建tftp服务器,以下命令在Ubuntu12.04.1实测通过,/srv/tftp是tftp根目录
        sudo apt-get install tftpd tftp openbsd-inetd
        sudo /etc/init.d/openbsd-inetd restart
        sudo mkdir /srv/tftp && chmod 777 /srv/tftp/ && sudo echo 'hello tftp !' > /srv/tftp/hello.txt    
    (4) 严格意义上讲,defaultenv不应该叫环境变量,她是一组shell scripts,Barebox启动后自动运行,其功能包括设置环境变量初值、自动运行用户自定义脚本等。绕绕了,直接开练...

1.编译运行
    (1) 更新源码到对应版本
        cd ~/s5pv210/github/loader/barebox
        git checkout 03d34b89ad4762029e1d7f8dafa6a8f90ff4957e
    (2) 编译并烧写到SD卡(详细步骤请参见step 1)
    (3) 运行调试
        从SD卡启动单板,用网线直接连接电脑与单板
        将电脑IP地址设置为192.168.0.10,255.255.255.0
        不需要设置单板IP,defaultenv自动设置好了192.168.0.100, 255.255.255.0

        通过串口终端执行下边两条命令,检查单板是否能ping通电脑
                ifup  eth0
                ping 192.168.1.10
        显示host 192.168.1.10 is alive,表示能ping通

        通过串口终端执行下边两条命令,检查tftp是否可用
                cp /mnt/tftp/tftp.txt /
                cat /tftp.txt
   (4)  继续之前
        查看defaultenv-2/和arch/arm/boards/friendlyarm-tiny210/env/两个目录下的env脚本,前者是通用脚本,后者是单板私有脚本,冲突时后者覆盖前者
        首先执行的是defaultenv-2/base/bin/init 脚本,阅读common/startup.c (line 124) for reason,env执行流程非常简单,仔细分析一下吧!
        分析ifup脚本功能,找出默认IP是在哪里设置的,注意名字相同时私有脚本会覆盖通用脚本
        为什么测试tftp用cp命令,因为我把tftp命令用法忘记了...这里之所以可以用cp,是因为Barebox支持tftp文件系统了,详见defaultenv-2/base/init/automount脚本,我知道大致意思:首次访问/mnt/tftp文件夹时,执行ifup eth0 && mount -t tftp $eth0.serverip /mnt/tftp命令(首先配置并启用eth0,然后从服务器mount tftp根目录)
        为了方便调试,开启了命令行编辑、命令行自动补齐功能,您不妨尝试一下tab键补全命令、命令行历史记录等功能
        [深水]如果你关心这些脚本是如何编译进目标文件的,我能说个大概:打包并压缩,转换为数组(default_environment),阅读common/Makefile (line 75 - 108) for more

2 代码分析
        不贴代码了,感兴趣的建议看github commit记录
[ 此帖被mei5150在2013-04-13 20:44重新编辑 ]
级别: 侠客
UID: 54261
精华: 9
发帖: 43
金钱: 665 两
威望: 133 点
贡献值: 9 点
综合积分: 266 分
注册时间: 2011-08-27
最后登录: 2014-08-08
1楼  发表于: 2013-01-12 18:09
自己顶一下...
级别: 侠客
UID: 54261
精华: 9
发帖: 43
金钱: 665 两
威望: 133 点
贡献值: 9 点
综合积分: 266 分
注册时间: 2011-08-27
最后登录: 2014-08-08
2楼  发表于: 2013-04-09 21:11
Up!!