~~NOCACHE~~
\\
\\
===== How-to =====
==== Modify the Reset Configuration Word (RCW) ====
For details please contact the [[support@tq-group.com?subject=Request: TQMP2020 Modify the Reset Configuration Word|Technical Support]].
==== Create a bootable SD card ====
The most common boot sources supported on the STKP2020 (Rev. ≥ 0106 required) are:
* NOR-Flash (local bus) <- default
* SD card (eSDHC interface)
In order to boot (i.e. load a bootloader) from SD card, the RCW has to be modified accordingly (see above).
=== - Prerequisites ===
* Download the current [[http://www.tq-group.com/nc/en/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=1954|U-Boot for TQMP2020]].
* Either use the prebuilt U-Boot binary from the downloaded ZIP archive (//BIN\u-boot_tqmp2020_sdcard_2012-09-25_mkr.bin//) or build your own by executing\\ ./MAKEALL tqmp2020_sdcard
* Get and build (cf. [[http://git.freescale.com/git/cgit.cgi/ppc/sdk/boot-format.git/tree/README|README]]) the boot-format utility avalailable at http://git.freescale.com/git/cgit.cgi/ppc/sdk/boot-format.git/.
=== - Prepare the SD card ===
The SD card has to be partitioned as follows (assuming the SD card is ''/dev/sdc''):
tq@ubuntu:~/boot-format$ sudo fdisk /dev/sdc
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): p
Disk /dev/sdc: 1967 MB, 1967128576 bytes
57 heads, 56 sectors/track, 1203 cylinders
Units = cylinders of 3192 * 512 = 1634304 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 1 7 11144 b W95 FAT32
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1203, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1203, default 1203): +10M
Command (m for help): p
Disk /dev/sdc: 1967 MB, 1967128576 bytes
57 heads, 56 sectors/track, 1203 cylinders
Units = cylinders of 3192 * 512 = 1634304 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 1 7 11144 83 Linux
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (W95 FAT32)
Command (m for help): p
Disk /dev/sdc: 1967 MB, 1967128576 bytes
57 heads, 56 sectors/track, 1203 cylinders
Units = cylinders of 3192 * 512 = 1634304 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 1 7 11144 b W95 FAT32
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
Initialize partition #1 with the FAT filesystem.
tq@ubuntu:~/boot-format$ sudo mkfs.vfat /dev/sdc1
mkfs.vfat 3.0.9 (31 Jan 2010)
=== - Create the bootable SD card ===
The boot-format utility requires the file ''SRC\config_sram_tqmp2020.dat'' (contained in [[http://www.tq-group.com/nc/en/download-disclaimer/?tx_abdownloads_pi1%5Baction%5D=getviewclickeddownload&tx_abdownloads_pi1%5Buid%5D=1954|U-Boot for TQMP2020]]) and the (pre-built) U-Boot binary to create a bootable SD card
tq@ubuntu:~/boot-format$ sudo ./boot_format config_sram_tqmp2020.dat u-boot_tqmp2020_sdcard_2012-09-25_mkr.bin -sd /dev/sdc
It is a little endian machine.
Read MBR from SDCard:
0x0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0040: 42 4f 4f 54 00 00 00 00 00 08 00 00 00 00 00 00
0x0050: 00 95 a0 00 00 00 00 00 11 00 00 00 00 00 00 00
0x0060: 11 07 f0 00 00 00 00 00 00 00 00 17 00 00 00 00
0x0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0080: ff 70 21 10 27 00 00 00 ff 70 20 00 00 00 00 1f
0x0090: ff 70 20 80 80 04 41 02 ff 70 21 00 00 02 00 00
0x00a0: ff 70 21 04 00 11 01 04 ff 70 21 08 6f 6b 48 46
0x00b0: ff 70 21 0c 0f a8 c8 d4 ff 70 21 14 24 40 10 50
0x00c0: ff 70 21 18 00 46 14 21 ff 70 21 24 06 18 01 00
0x00d0: ff 70 21 28 de ad be ef ff 70 21 30 02 00 00 00
0x00e0: ff 70 21 60 00 22 00 01 ff 70 21 64 00 00 24 00
0x00f0: ff 70 21 1c 00 00 00 00 ff 70 20 08 00 00 00 00
0x0100: ff 70 20 84 00 00 00 00 ff 70 21 70 89 08 06 00
0x0110: ff 70 21 74 84 33 a3 03 40 00 00 01 00 00 01 00
0x0120: ff 70 21 10 a7 00 00 00 ff 70 0c 08 00 00 00 00
0x0130: ff 70 0c 10 80 f0 00 1c ef ef ef ef 00 00 00 00
0x0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
0x01c0: 01 00 0b 38 38 06 38 00 00 00 10 57 00 00 00 00
0x01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
================== MBR ==================
boot_ind = 0x0
start_head = 0x1
start_cylesec = 0x1
part_type = 0xb
end_head = 0x38
end_cylsec = 0x638
rel_sectors = 0x38
total_sectors = 0x5710
=========================================
It is a valid MBR
Read DBR from SDCard:
0x0000: eb 3c 90 6d 6b 64 6f 73 66 73 00 00 02 04 04 00
0x0010: 02 00 02 10 57 f8 18 00 38 00 39 00 00 00 00 00
0x0020: 00 00 00 00 00 00 29 8e 17 62 af 20 20 20 20 20
0x0030: 20 20 20 20 20 20 46 41 54 31 36 20 20 20 0e 1f
0x0040: be 5b 7c ac 22 c0 74 0b 56 b4 0e bb 07 00 cd 10
0x0050: 5e eb f0 32 e4 cd 16 cd 19 eb fe 54 68 69 73 20
0x0060: 69 73 20 6e 6f 74 20 61 20 62 6f 6f 74 61 62 6c
0x0070: 65 20 64 69 73 6b 2e 20 20 50 6c 65 61 73 65 20
0x0080: 69 6e 73 65 72 74 20 61 20 62 6f 6f 74 61 62 6c
0x0090: 65 20 66 6c 6f 70 70 79 20 61 6e 64 0d 0a 70 72
0x00a0: 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 74
0x00b0: 72 79 20 61 67 61 69 6e 20 2e 2e 2e 20 0d 0a 00
0x00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
================== DBR ==================
jmp_code[0] = 0xeb
sector_size = 0x200
root_entries = 0x200
small_sector = 0x5710
sectors_p_fat = 0x18
=========================================
Writing image to SDCard...OK.
Writing config words to MBR's buffer first...OK.
Writing MBR to SDCard...
================== MBR ==================
boot_ind = 0x0
start_head = 0x1
start_cylesec = 0x1
part_type = 0xb
end_head = 0x38
end_cylsec = 0x638
rel_sectors = 0x38
total_sectors = 0x5710
=========================================
0x0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0040: 42 4f 4f 54 00 00 00 00 00 08 00 00 00 00 00 00
0x0050: 00 95 a0 00 00 00 00 00 f8 f8 00 00 00 00 00 00
0x0060: f8 ff f0 00 00 00 00 00 00 00 00 06 00 00 00 00
0x0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0080: ff 72 01 00 f8 f8 00 00 ff 72 0e 44 00 00 00 0c
0x0090: ff 72 00 00 80 01 00 00 ff 72 e4 0c 00 00 00 40
0x00a0: 40 00 00 01 00 00 01 00 80 00 00 01 80 00 00 01
0x00b0: ff 70 21 0c 0f a8 c8 d4 ff 70 21 14 24 40 10 50
0x00c0: ff 70 21 18 00 46 14 21 ff 70 21 24 06 18 01 00
0x00d0: ff 70 21 28 de ad be ef ff 70 21 30 02 00 00 00
0x00e0: ff 70 21 60 00 22 00 01 ff 70 21 64 00 00 24 00
0x00f0: ff 70 21 1c 00 00 00 00 ff 70 20 08 00 00 00 00
0x0100: ff 70 20 84 00 00 00 00 ff 70 21 70 89 08 06 00
0x0110: ff 70 21 74 84 33 a3 03 40 00 00 01 00 00 01 00
0x0120: ff 70 21 10 a7 00 00 00 ff 70 0c 08 00 00 00 00
0x0130: ff 70 0c 10 80 f0 00 1c ef ef ef ef 00 00 00 00
0x0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
0x01c0: 01 00 0b 38 38 06 38 00 00 00 10 57 00 00 00 00
0x01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
OK.
Writing DBR to SDCard...
================== DBR ==================
jmp_code[0] = 0xeb
sector_size = 0x200
root_entries = 0x200
small_sector = 0x5710
sectors_p_fat = 0x18
=========================================
0x0000: eb 3c 90 6d 6b 64 6f 73 66 73 00 00 02 04 04 00
0x0010: 02 00 02 10 57 f8 18 00 38 00 39 00 00 00 00 00
0x0020: 00 00 00 00 00 00 29 8e 17 62 af 20 20 20 20 20
0x0030: 20 20 20 20 20 20 46 41 54 31 36 20 20 20 0e 1f
0x0040: be 5b 7c ac 22 c0 74 0b 56 b4 0e bb 07 00 cd 10
0x0050: 5e eb f0 32 e4 cd 16 cd 19 eb fe 54 68 69 73 20
0x0060: 69 73 20 6e 6f 74 20 61 20 62 6f 6f 74 61 62 6c
0x0070: 65 20 64 69 73 6b 2e 20 20 50 6c 65 61 73 65 20
0x0080: 69 6e 73 65 72 74 20 61 20 62 6f 6f 74 61 62 6c
0x0090: 65 20 66 6c 6f 70 70 79 20 61 6e 64 0d 0a 70 72
0x00a0: 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 74
0x00b0: 72 79 20 61 67 61 69 6e 20 2e 2e 2e 20 0d 0a 00
0x00c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x00f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x01f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
OK.
Congratulations! It is done successfully.
tq@ubuntu:~/boot-format$ sync
tq@ubuntu:~/boot-format$