| 1. SATA usage in U-boot | |
| There are two ways to operate the hard disk | |
| * Read/write raw blocks from/to SATA hard disk | |
| * ext2load to read a file from ext2 file system | |
| 1.0 How to read the SATA hard disk's information? | |
| => sata info | |
| SATA device 0: Model: ST3320620AS Firm: 3.AAD Ser#: 4QF01ZTN | |
| Type: Hard Disk | |
| Supports 48-bit addressing | |
| Capacity: 305245.3 MB = 298.0 GB (625142448 x 512) | |
| 1.1 How to raw write the kernel, file system, dtb to a SATA hard disk? | |
| Notes: Hard disk sectors are normally 512 bytes, so | |
| 0x1000 sectors = 2 MBytes | |
| write kernel | |
| => tftp 40000 /tftpboot/uImage.837x | |
| => sata write 40000 0 2000 | |
| write ramdisk | |
| => tftp 40000 /tftpboot/ramdisk.837x | |
| => sata write 40000 2000 8000 | |
| write dtb | |
| => tftp 40000 /tftpboot/mpc837xemds.dtb | |
| => sata write 40000 a000 1000 | |
| 1.2 How to raw read the kernel, file system, dtb from a SATA hard disk? | |
| load kernel | |
| => sata read 200000 0 2000 | |
| load ramdisk | |
| => sata read 1000000 2000 8000 | |
| load dtb | |
| => sata read 2000000 a000 1000 | |
| boot | |
| => bootm 200000 1000000 2000000 | |
| 1.3 How to load an image from an ext2 file system in U-boot? | |
| U-boot doesn't support writing to an ext2 file system, so the | |
| files must be written by other means (e.g. linux). | |
| => ext2ls sata 0:1 / | |
| <DIR> 4096 . | |
| <DIR> 4096 .. | |
| <DIR> 16384 lost+found | |
| 1352023 uImage.837x | |
| 3646377 ramdisk.837x | |
| 12288 mpc837xemds.dtb | |
| 12 hello.txt | |
| => ext2load sata 0:1 200000 /uImage.837x | |
| => ext2load sata 0:1 1000000 /ramdisk.837x | |
| => ext2load sata 0:1 2000000 /mpc837xemds.dtb | |
| => bootm 200000 1000000 2000000 |