The Staff of Mage

----以此作为下次重装软件的SOP

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2010年12月7日

摘要: Barebox提供了很多有用的命令,主要的命令如下:help命令,显示所以barebox命令,另可以用help+命令名的方式查看命令的用法,如"help ls"。以下命令用help+命令名能看到的部分不再描述。addpart命令,对某设备加入分区表,具体的例子如init里的addpart /dev/nand0 "256k(barebox)ro,128k(bareboxenv),2M(kernel),-(root)",把/dev/nand0分成/dev/nand0.barebox,/dev/nand0.bareboxenv,/dev/nand0.kernel,/dev/nand0.root,分区 阅读全文
posted @ 2010-12-07 19:40 nus1998 阅读(1764) 评论(0) 推荐(0) 编辑

摘要: Barebox个人定制化的东西主要位于arch/arm/boards下,这次的目标是创建一个基于i.MX27的loader,板名命名为my27。首先复制arch/arm/boards/pcm038到arch/arm/boards/my27,修改里面的文件名为my27.c和my27.dox ,修改里面的makefile。在barebox目录下输入make menuconfig,导入pcm038_defconfig,另存为my27_defconfig。修改arch/arm/Makefile, 加上board-$(CONFIG_MACH_MY27) := my27上http://www.arm.li 阅读全文
posted @ 2010-12-07 17:07 nus1998 阅读(727) 评论(0) 推荐(0) 编辑

摘要: shell以 #!/bin/sh开头,除此外#表示一行注释的开始。变量: 变量无需事先声明。 $var表示引用变量var的值,如无定义则无值 $(var)同上,用于同$varx等区分 $(var:-thing),var存在且非null,取var的值,不然取thing的值,var的值不受影响 $(var:+thing),var存在且非null,取thing的值,不然无值$(var:=thing),var存在且非null,取var的值,var的值不变,不然取thing的值,var的值改成thing $(var:?message),var存在且非null,取var的值,不然打印message并退出, 阅读全文
posted @ 2010-12-07 15:05 nus1998 阅读(513) 评论(0) 推荐(0) 编辑

摘要: 上篇讲到start_barebox在执行死循环的shell之前会调用environment,这次来分析一下这些env。代码首先程序去读取/dev/env0到/env,正常情况下/dev/env0放的是一个(类似)压缩文件,envfs_load会对它做校验。毫无疑问,初始启动时肯定是找不到这个文件的,所以接着读取/dev/defaultenv到/env (loader跑起来后执行saveenv就把/env的东西打包到/dev/env0去了)。然后执行/env/bin/init。接下去我们分析一下/env/bin/init即/dev/defaultenv/bin/init。打开barebox下的d 阅读全文
posted @ 2010-12-07 13:24 nus1998 阅读(1399) 评论(0) 推荐(0) 编辑