| 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 |