Firefly开源社区

打印 上一主题 下一主题

关于 RKloader, parameter 与 uboot 分区的疑问

79

积分

0

威望

0

贡献

技术小白

积分
79

关于 RKloader, parameter 与 uboot 分区的疑问

发表于 2014-11-25 13:08:26      浏览:17431 | 回复:9        打印     [复制链接] 楼主
本来想修改 boot 参数CMDLINE, 查看 android tools 带的 rockdev 下的 rk3288-3.10-uboot-data1G.parameter, 发现没有 指定root, 这个文件应该与双系统的那个parameter 不一致的, 于是进入rk3288的ubuntu系统查看,结果发现
  1. root@firefly:/dev/block/mtd/by-name# cat /proc/cmdline
  2. console=ttyFIQ0 androidboot.hardware=rk30board androidboot.console=ttyFIQ0 board.ap_has_alsa=0 root=/dev/block/mtd/by-name/linuxroot rw rootfstype=ext4 init=/sbin/init  mtdparts=rk29xxnand:0x00002000@0x00000000(parameter),0x00002000@0x00002000(uboot),0x00002000@0x00004000(misc),0x00008000@0x00006000(resource),0x00008000@0x0000e000(kernel),0x00010000@0x00016000(boot),0x00010000@0x00026000(recovery),0x0001a000@0x00036000(backup),0x00040000@0x00050000(cache),0x00002000@0x00090000(kpanic),0x00180000@0x00092000(system),0x00002000@0x00212000(metadata),0x00200000@0x00214000(userdata),0x00620000@0x00414000(linuxroot),-@0x00a34000(user) storagemedia=emmc loader.timestamp=2014-10-30_09:27:41 androidboot.serialno=1006110001000026 androidboot.mode=emmc
复制代码

可见 cmdline中指定了 root 及 rootfstype, mtdparts 中第一个分区是 parameter
然后查看 parameter, uboot 分区内容, 不明白为什么这两个分区内容为什么差不多, dd 出来一比较, 只有很少的不同
先看 paramter
  1. root@firefly:/dev/block/mtd/by-name# hexdump -C -n 1024 parameter
  2. 00000000  50 41 52 4d 78 03 00 00  46 49 52 4d 57 41 52 45  |PARMx...FIRMWARE|
  3. 00000010  5f 56 45 52 3a 34 2e 34  2e 32 0d 0a 4d 41 43 48  |_VER:4.4.2..MACH|
  4. 00000020  49 4e 45 5f 4d 4f 44 45  4c 3a 72 6b 33 30 73 64  |INE_MODEL:rk30sd|
  5. 00000030  6b 0d 0a 4d 41 43 48 49  4e 45 5f 49 44 3a 30 30  |k..MACHINE_ID:00|
  6. 00000040  37 0d 0a 4d 41 4e 55 46  41 43 54 55 52 45 52 3a  |7..MANUFACTURER:|
  7. 00000050  52 4b 33 30 53 44 4b 0d  0a 4d 41 47 49 43 3a 20  |RK30SDK..MAGIC: |
  8. 00000060  30 78 35 30 34 31 35 32  34 42 0d 0a 41 54 41 47  |0x5041524B..ATAG|
  9. 00000070  3a 20 30 78 36 30 30 30  30 38 30 30 0d 0a 4d 41  |: 0x60000800..MA|
  10. 00000080  43 48 49 4e 45 3a 20 33  30 36 36 0d 0a 43 48 45  |CHINE: 3066..CHE|
  11. 00000090  43 4b 5f 4d 41 53 4b 3a  20 30 78 38 30 0d 0a 50  |CK_MASK: 0x80..P|
  12. 000000a0  57 52 5f 48 4c 44 3a 20  30 2c 30 2c 41 2c 30 2c  |WR_HLD: 0,0,A,0,|
  13. 000000b0  31 0d 0a 23 4b 45 52 4e  45 4c 5f 49 4d 47 3a 20  |1..#KERNEL_IMG: |
  14. 000000c0  30 78 36 32 30 30 38 30  30 30 0d 0a 23 46 44 54  |0x62008000..#FDT|
  15. 000000d0  5f 4e 41 4d 45 3a 20 72  6b 2d 6b 65 72 6e 65 6c  |_NAME: rk-kernel|
  16. 000000e0  2e 64 74 62 0d 0a 23 52  45 43 4f 56 45 52 5f 4b  |.dtb..#RECOVER_K|
  17. 000000f0  45 59 3a 20 31 2c 31 2c  30 2c 32 30 2c 30 0d 0a  |EY: 1,1,0,20,0..|
  18. 00000100  43 4d 44 4c 49 4e 45 3a  63 6f 6e 73 6f 6c 65 3d  |CMDLINE:console=|
  19. 00000110  74 74 79 46 49 51 30 20  61 6e 64 72 6f 69 64 62  |ttyFIQ0 androidb|
  20. 00000120  6f 6f 74 2e 68 61 72 64  77 61 72 65 3d 72 6b 33  |oot.hardware=rk3|
  21. 00000130  30 62 6f 61 72 64 20 61  6e 64 72 6f 69 64 62 6f  |0board androidbo|
  22. 00000140  6f 74 2e 63 6f 6e 73 6f  6c 65 3d 74 74 79 46 49  |ot.console=ttyFI|
  23. 00000150  51 30 20 62 6f 61 72 64  2e 61 70 5f 68 61 73 5f  |Q0 board.ap_has_|
  24. 00000160  61 6c 73 61 3d 30 20 72  6f 6f 74 3d 2f 64 65 76  |alsa=0 root=/dev|
  25. 00000170  2f 62 6c 6f 63 6b 2f 6d  74 64 2f 62 79 2d 6e 61  |/block/mtd/by-na|
  26. 00000180  6d 65 2f 6c 69 6e 75 78  72 6f 6f 74 20 72 77 20  |me/linuxroot rw |
  27. 00000190  72 6f 6f 74 66 73 74 79  70 65 3d 65 78 74 34 20  |rootfstype=ext4 |
  28. 000001a0  69 6e 69 74 3d 2f 73 62  69 6e 2f 69 6e 69 74 20  |init=/sbin/init |
  29. 000001b0  69 6e 69 74 72 64 3d 30  78 36 32 30 30 30 30 30  |initrd=0x6200000|
  30. 000001c0  30 2c 30 78 30 30 38 30  30 30 30 30 20 6d 74 64  |0,0x00800000 mtd|
  31. 000001d0  70 61 72 74 73 3d 72 6b  32 39 78 78 6e 61 6e 64  |parts=rk29xxnand|
  32. 000001e0  3a 30 78 30 30 30 30 32  30 30 30 40 30 78 30 30  |:0x00002000@0x00|
  33. 000001f0  30 30 32 30 30 30 28 75  62 6f 6f 74 29 2c 30 78  |002000(uboot),0x|
  34. 00000200  30 30 30 30 32 30 30 30  40 30 78 30 30 30 30 34  |00002000@0x00004|
复制代码
再看 uboot
  1. root@firefly:/dev/block/mtd/by-name# hexdump -C -n 1024 uboot
  2. 00000000  50 41 52 4d 78 03 00 00  46 49 52 4d 57 41 52 45  |PARMx...FIRMWARE|
  3. 00000010  5f 56 45 52 3a 34 2e 34  2e 32 0d 0a 4d 41 43 48  |_VER:4.4.2..MACH|
  4. 00000020  49 4e 45 5f 4d 4f 44 45  4c 3a 72 6b 33 30 73 64  |INE_MODEL:rk30sd|
  5. 00000030  6b 0d 0a 4d 41 43 48 49  4e 45 5f 49 44 3a 30 30  |k..MACHINE_ID:00|
  6. 00000040  37 0d 0a 4d 41 4e 55 46  41 43 54 55 52 45 52 3a  |7..MANUFACTURER:|
  7. 00000050  52 4b 33 30 53 44 4b 0d  0a 4d 41 47 49 43 3a 20  |RK30SDK..MAGIC: |
  8. 00000060  30 78 35 30 34 31 35 32  34 42 0d 0a 41 54 41 47  |0x5041524B..ATAG|
  9. 00000070  3a 20 30 78 36 30 30 30  30 38 30 30 0d 0a 4d 41  |: 0x60000800..MA|
  10. 00000080  43 48 49 4e 45 3a 20 33  30 36 36 0d 0a 43 48 45  |CHINE: 3066..CHE|
  11. 00000090  43 4b 5f 4d 41 53 4b 3a  20 30 78 38 30 0d 0a 50  |CK_MASK: 0x80..P|
  12. 000000a0  57 52 5f 48 4c 44 3a 20  30 2c 30 2c 41 2c 30 2c  |WR_HLD: 0,0,A,0,|
  13. 000000b0  31 0d 0a 23 4b 45 52 4e  45 4c 5f 49 4d 47 3a 20  |1..#KERNEL_IMG: |
  14. 000000c0  30 78 36 32 30 30 38 30  30 30 0d 0a 23 46 44 54  |0x62008000..#FDT|
  15. 000000d0  5f 4e 41 4d 45 3a 20 72  6b 2d 6b 65 72 6e 65 6c  |_NAME: rk-kernel|
  16. 000000e0  2e 64 74 62 0d 0a 23 52  45 43 4f 56 45 52 5f 4b  |.dtb..#RECOVER_K|
  17. 000000f0  45 59 3a 20 31 2c 31 2c  30 2c 32 30 2c 30 0d 0a  |EY: 1,1,0,20,0..|
  18. 00000100  43 4d 44 4c 49 4e 45 3a  63 6f 6e 73 6f 6c 65 3d  |CMDLINE:console=|
  19. 00000110  74 74 79 46 49 51 30 20  61 6e 64 72 6f 69 64 62  |ttyFIQ0 androidb|
  20. 00000120  6f 6f 74 2e 68 61 72 64  77 61 72 65 3d 72 6b 33  |oot.hardware=rk3|
  21. 00000130  30 62 6f 61 72 64 20 61  6e 64 72 6f 69 64 62 6f  |0board androidbo|
  22. 00000140  6f 74 2e 63 6f 6e 73 6f  6c 65 3d 74 74 79 46 49  |ot.console=ttyFI|
  23. 00000150  51 30 20 62 6f 61 72 64  2e 61 70 5f 68 61 73 5f  |Q0 board.ap_has_|
  24. 00000160  61 6c 73 61 3d 30 20 72  6f 6f 74 3d 2f 64 65 76  |alsa=0 root=/dev|
  25. 00000170  2f 62 6c 6f 63 6b 2f 6d  74 64 2f 62 79 2d 6e 61  |/block/mtd/by-na|
  26. 00000180  6d 65 2f 6c 69 6e 75 78  72 6f 6f 74 20 72 77 20  |me/linuxroot rw |
  27. 00000190  72 6f 6f 74 66 73 74 79  70 65 3d 65 78 74 34 20  |rootfstype=ext4 |
  28. 000001a0  69 6e 69 74 3d 2f 73 62  69 6e 2f 69 6e 69 74 20  |init=/sbin/init |
  29. 000001b0  69 6e 69 74 72 64 3d 30  78 36 32 30 30 30 30 30  |initrd=0x6200000|
  30. 000001c0  30 2c 30 78 30 30 38 30  30 30 30 30 20 6d 74 64  |0,0x00800000 mtd|
  31. 000001d0  70 61 72 74 73 3d 72 6b  32 39 78 78 6e 61 6e 64  |parts=rk29xxnand|
  32. 000001e0  3a 30 78 30 30 30 30 32  30 30 30 40 30 78 30 30  |:0x00002000@0x00|
  33. 000001f0  30 30 32 30 30 30 28 75  62 6f 6f 74 29 2c 30 78  |002000(uboot),0x|
  34. 00000200  30 30 30 30 32 30 30 30  40 30 78 30 30 30 30 34  |00002000@0x00004|
  35. 00000210  30 30 30 28 6d 69 73 63  29 2c 30 78 30 30 30 30  |000(misc),0x0000|
复制代码
问题1, paramter 中没有 root, rootfstype , cmdline 到底从哪里读来的启动参数?
问题2, uboot 分区为什么显示内容和 parameter 差不多?难道这个分区不应该是uboot.bin?
问题3,  parameter 分区到底怎么确认是 RKloader 还是 parameter 烧录工具可以看到这两个东西都烧到起始位置0x0?



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表