2010-12-14 66 views
1

我想捕获已写入U-Boot环境的序列号。从引导程序捕获序列号

的Bootloader:U-启动1.2 内核:2.6.24 工具链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" 

请告诉我怎么能我这样做?

非常感谢。

+0

什么序列号?我看到的只有3个mtd分区和它们的存储位置... – leppie 2010-12-14 10:38:37

+0

这是一个配置问题,无需编程。 – 2011-03-04 16:26:31

回答

0

那么,如果你可以到达u-boot命令行,你可以看看环境变量 - 用printenv转储出来。我们的系统有一个叫做“unlock_env”的系统 - 如果你的系统有这个值,你可以输入“echo $ unlock_env”,它会显示你的内容。环境部门的地址将是第一个十六进制值。

当你在u-boot中时,“echo $ serial#”应该打印序列号,但我假设你想在引导到O/S后读取它。

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

1

你可以通过它在内核命令行,然后用/proc/cmdline