1

I want to catch the serial number which has been written into the U-Boot environment.

Bootloader :U-boot 1.2 kernel:2.6.24 tool-chain:arm-linux-gcc-3.4.1 rfs :busybox-1.9.2

Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00060000 : "bootloader"
0x00060000-0x00260000 : "kernel"
0x00260000-0x03e60000 : "rootfilesystem"

Please tell me how can I do this?

Thanks a lot.

4

3 回答 3

1

我个人使用内核启动参数和 /proc/cmdline 将这种东西传递给 Linux: http: //www.denx.de/wiki/view/DULG/LinuxKernelArgs

但是,您也可以在此处查看用于读/写 UBoot 环境的命令行工具:http: //www.denx.de/wiki/view/DULG/HowCanIAccessUBootEnvironmentVariablesInLinux

于 2012-02-20T18:42:05.000 回答
1

您可以在内核命令行上传递它,然后使用从 linux 内部读取它/proc/cmdline

于 2011-03-04T16:25:50.483 回答
0

好吧,如果您可以进入 u-boot 命令行,您可以查看环境变量 - 使用 printenv 将它们转储出来。我们的系统有一个名为“unlock_env”的系统——如果您的系统有这个值,您只需输入“echo $unlock_env”,它就会显示内容。环境扇区的地址将是第一个十六进制值。

当您在 u-boot 中时,“echo $serial#”应该打印序列号,但我假设您想在启动到操作系统后阅读它。

无论如何,一旦有了环境扇区的地址,就必须解析扇区中的数据并查找“serial#”。不应该那么难,我认为它可能只是一系列以 NULL 结尾的字符串。祝你好运。

于 2011-03-04T15:29:22.363 回答