Linux 从引导加载程序捕获序列号

Linux 从引导加载程序捕获序列号,linux,arm,bootloader,busybox,u-boot,Linux,Arm,Bootloader,Busybox,U Boot,我想捕获已写入U-Boot环境的序列号 引导加载程序:U-boot 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 : "rootfilesys

我想捕获已写入U-Boot环境的序列号

引导加载程序:U-boot 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"
请告诉我怎么做


非常感谢。

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

在u-boot中,“echo$serial#”应该打印序列号,但我假设您希望在引导到O/S后读取序列号


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

您可以在内核命令行上传递它,然后使用
/proc/cmdline
从linux内部读取它。我个人使用内核引导参数和/proc/cmdline将此类内容传递给linux:

但是,您也可以在此处查看用于读取/写入UBoot环境的命令行工具:

什么序列号?我看到的只是3个mtd分区及其内存位置…这是一个配置问题,不需要编程。