摘要:
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,分区 阅读全文
摘要:
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 阅读全文
摘要:
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并退出, 阅读全文
摘要:
上篇讲到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 阅读全文