1,fw_printenv 可以在内核中打印、设置Uboot的环境变量。
使用方法:
1)只要在uboot的目录中执行:make env即可在tools/env中生成fw_printenv。将其软链接为fw_setenv即可设置Uboot的环境变量。YEAH!!!
2)需要配置文件:/etc/fw_env.config,用于配置fw_printenv的行为。其配置的信息如下 :
#devname offset envsize erasesize envsectors
/dev/mtd0 0x40000 0x40000 0x40000 1
需要注意的是,实际测试,erasesize必须和envsize一样大。否则会写不完全
2,squash等文件系统,因为是只读的,有时会对我们实际应用造成麻烦,最典型的便是/etc/目录。为此,可以用一个mount_as_tmpfs的脚本简单方便的把它变成可读写的。内容如下:
#!/bin/sh
if [ ! -d "$1" ]; then
echo "error! $1 should be a directory."
exit 1
fi
MOUNT="/bin/mount"
TMPDIR=`/bin/mktemp -dt tmpdir.XXXXXX`
TARGETDIR=$1
$MOUNT tmpfs -t tmpfs $TMPDIR
cp -a $TARGETDIR/* $TMPDIR
$MOUNT --move $TMPDIR $TARGETDIR
rmdir $TMPDIR