arm: am57xx: Fix Linux boot from eMMC
Right now on OMAP5-based boards we have only one partition defined for
Linux boot, which is rootfs. That doesn't work with bootpart=1:2 (that
is defined in include/environment/ti/boot.h). To fix Linux boot we may
either:
 1. Change bootpart to be 1:1
 2. Or add preceding partition, so that rootfs is actually 1:2
Second choice seems more reasonable, as DFU is already using similar
partition table and can rely on bootpart to be 1:2.
This patch adds "bootloader" partition. So now eMMC layout for Linux
boot looks like this:
offset               content                 size          partition
(KiB)                                        (KiB)
Reviewed-by: Tom Rini <trini@konsulko.com>
=======================================================================
0       +--------------------------------+
        | MBR/GPT header                 |   128           -
128     +--------------------------------+
        | MLO                            |   256           -
384     +--------------------------------+
        | u-boot.img                     |   1792          bootloader
2176    +--------------------------------+
        | //////////// hole //////////// |   256           -
2432    +--------------------------------+
        | U-Boot environment             |   128           -
2560    +--------------------------------+
        | U-Boot environment (redundant) |   128           -
2688    +--------------------------------+
        | rootfs                         |   remaining     rootfs
end     +--------------------------------+
=======================================================================
Guard hole appears because U-Boot environment offset was calculated for
Android partition table, which has two additional partitions in place of
that hole ("environment" and "misc" partitions).
This patch also changes rootfs offset from 2 MiB further to 2688 KiB,
so that there won't be any collisions with U-Boot environment when we
flash rootfs.
Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
			
			
This commit is contained in:
		
							parent
							
								
									8adb6ec885
								
							
						
					
					
						commit
						f6d245b8c5
					
				| 
						 | 
					@ -44,7 +44,8 @@
 | 
				
			||||||
#define PARTS_DEFAULT \
 | 
					#define PARTS_DEFAULT \
 | 
				
			||||||
	/* Linux partitions */ \
 | 
						/* Linux partitions */ \
 | 
				
			||||||
	"uuid_disk=${uuid_gpt_disk};" \
 | 
						"uuid_disk=${uuid_gpt_disk};" \
 | 
				
			||||||
	"name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}\0" \
 | 
						"name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};" \
 | 
				
			||||||
 | 
						"name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}\0" \
 | 
				
			||||||
	/* Android partitions */ \
 | 
						/* Android partitions */ \
 | 
				
			||||||
	"partitions_android=" \
 | 
						"partitions_android=" \
 | 
				
			||||||
	"uuid_disk=${uuid_gpt_disk};" \
 | 
						"uuid_disk=${uuid_gpt_disk};" \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue