RAW-образы для записи SD-карт StartUp и Product В принципе, можно создать RAW-образы для обоих режимов, чтобы записать два варианта SD-карты, не пользуясь утилитой-прошивальщиком Phoenix Card. RAW-образ - это файл, содержимого которого представляет собой копию записываемой карты. Поэтому такой файл можно записать на карту простым копированием командой dd (под Linux) или (более надежно и клмфортно) используя любую из предназначенных для этой цели утилит (под Windows или Linux): Win32diskimager, USBImager, Balena Etcher, Rufus и др. То есть, на любой платформе и без использования Phoenix Card. Содержимое таких образов показано ниже на цветных схемах. Для обоих вариантов карты начало файла образа совпадает до адреса 0x4400000, с единственным отличием в двух байтах U-Boot с адресами 0x0c и 0x0e (подробнее - см. Процесс программирования ). Главные отличие начиаются с адреса 0x4400000, который соответствует началу раздела ENV в GPT. На карте StartUp в разделах записано содержимое соответствующих файлов, а на карте Product c этого адреса записан файл исходного imagewty-образа прошивки (с начальной сигнатурой IMAGEWTY). Для создания файла RAW-образа для StartUp необходимо записать с нужными смещениями содержимое файлов для стартовой (неразмеченной) области, а также файлы нескольких разделов (bootloader, env, boot, recovery, super). Естественно, super должен быть предварительно распакован из sparse-формата в RAW. Для создания файла RAW-образа для Product необходимо записать с нужными смещениями содержимое файлов для стартовой (неразмеченной) области, а также полностью файл исходного imagewty-образа. Заметим, что здесь речь идет лишь о принципах, а конкретная реализация этого подхода может быть выпонена средствами любого алгоритмического языка (и на любой платформе), умеющего работать с файлами. Единственная сложность - возможное ограничение в размере файла (2 GB в 32-х разрядных системах), в этом случае потребуется вместо записи целого большого файла его поблочное копирование кусками. StartUp Product Содержимое карты StartUp 0x0 (0) gpt
Начало: блок = 0 байт = 0 (0x0) Конец: блок = 15, байт = 7680 (0x1e00) Размер: 16 блоков, 8 KB (8192 байт) [8.0 Kib] 0x2000 (8192) boot0
Начало: блок = 16 байт = 8192 (0x2000) Конец: блок = 127, байт = 65024 (0xfe00) Размер: 112 блоков, 56 KB (57344 байт) [48.0 Kib] 0x10000 (65536) free
Начало: блок = 128 байт = 65536 (0x10000) Конец: блок = 32799, байт = 16793088 (0x1003e00) Размер: 32672 блоков, 15,95 MB ( 16336 KB , 16728064 байт ) [16.0 MiB] 0x1004000 (16793600) package
Начало: блок = 32800 байт = 16793600 (0x1004000) Конец: блок = 36895, байт = 18890240 (0x1203e00) Размер: 4096 блоков, 2 MB ( 2048 KB , 2097152 байт ) [2.0 MiB] 0x1204000 (18890752) free
Начало: блок = 36896 байт = 18890752 (0x1204000) Конец: блок = 73727, байт = 37748224 (0x23ffe00) Размер: 36832 блоков, 17,98 MB ( 18416 KB , 18857984 байт ) [18 MiB] 0x2400000 (37748736) bootloader
Начало: блок = 73728 байт = 37748736 (0x2400000) Конец: блок = 139263, байт = 71302656 (0x43ffe00) Размер: 65536 блоков, 32 MB ( 32768 KB , 33554432 байт ) [ 32.0 MiB ] 0x4400000 (71303168) env
Начало: блок = 139264 байт = 71303168 (0x4400000) Конец: блок = 172031, байт = 88079872 (0x53ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0x5400000 (88080384) boot
Начало: блок = 172032 байт = 88080384 (0x5400000) Конец: блок = 237567, байт = 121634304 (0x73ffe00) Размер: 65536 блоков, 32 MB ( 32768 KB , 33554432 байт ) [ 32.0 MiB ] 0x7400000 (121634816) super
Начало: блок = 237568 байт = 121634816 (0x7400000) Конец: блок = 5349375, байт = 2738880000 (0xa33ffe00) Размер: 5111808 блоков, 2,438 GB ( 2496 MB, 2555904 KB , 2617245696 байт ) [ 2.4 GiB ] 0xa3400000 (2738880512) misc
Начало: блок = 5349376 байт = 2738880512 (0xa3400000) Конец: блок = 5382143, байт = 2755657216 (0xa43ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xa4400000 (2755657728) recovery
Начало: блок = 5382144 байт = 2755657728 (0xa4400000) Конец: блок = 5447679, байт = 2789211648 (0xa63ffe00) Размер: 65536 блоков, 32 MB ( 32768 KB , 33554432 байт ) [ 32.0 MiB ] 0xa6400000 (2789212160) cache
Начало: блок = 5447680 байт = 2789212160 (0xa6400000) Конец: блок = 8069119, байт = 4131388928 (0xf63ffe00) Размер: 2621440 блоков, 1,25 GB ( 1280 MB, 1310720 KB , 1342177280 байт ) [ 1.3 GiB ] 0xf6400000 (4131389440) vbmeta
Начало: блок = 8069120 байт = 4131389440 (0xf6400000) Конец: блок = 8101887, байт = 4148166144 (0xf73ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xf7400000 (4148166656) vbmeta_system
Начало: блок = 8101888 байт = 4148166656 (0xf7400000) Конец: блок = 8134655, байт = 4164943360 (0xf83ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xf8400000 (4164943872) vbmeta_vendor
Начало: блок = 8134656 байт = 4164943872 (0xf8400000) Конец: блок = 8167423, байт = 4181720576 (0xf93ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xf9400000 (4181721088) metadata
Начало: блок = 8167424 байт = 4181721088 (0xf9400000) Конец: блок = 8200191, байт = 4198497792 (0xfa3ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xfa400000 (4198498304) private
Начало: блок = 8200192 байт = 4198498304 (0xfa400000) Конец: блок = 8232959, байт = 4215275008 (0xfb3ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xfb400000 (4215275520) frp
Начало: блок = 8232960 байт = 4215275520 (0xfb400000) Конец: блок = 8233983, байт = 4215799296 (0xfb47fe00) Размер: 1024 блоков, 512 KB (524288 байт) [ 512.0 KiB] 0xfb480000 (4215799808) empty
Начало: блок = 8233984 байт = 4215799808 (0xfb480000) Конец: блок = 8265727, байт = 4232052224 (0xfc3ffe00) Размер: 31744 блоков, 15,5 MB ( 15872 KB , 16252928 байт ) [ 15.5 MiB ] 0xfc400000 (4232052736) media_data
Начало: блок = 8265728 байт = 4232052736 (0xfc400000) Конец: блок = 8298495, байт = 4248829440 (0xfd3ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xfd400000 (4248829952) Reserve0
Начало: блок = 8298496 байт = 4248829952 (0xfd400000) Конец: блок = 8331263, байт = 4265606656 (0xfe3ffe00) Размер: 32768 блоков, 16 MB ( 16384 KB , 16777216 байт ) [ 16.0 MiB ] 0xfe400000 (4265607168) UDISK
Начало: блок = 8331264 байт = 4265607168 (0xfe400000) Конец: блок = 15677405, байт = 8026831360 (0x1de6fba00) Размер: 7346142 блоков, 3,503 GB ( 3586,98 MB, 3673071 KB , 3761224704 байт ) [ 3.5 GiB ] Примечания. 1 блок=512 байт StartUp Product Содержимое карты Product 0x0 (0) gpt
Начало: блок = 0 байт = 0 (0x0) Конец: блок = 15, байт = 7680 (0x1e00) Размер: 16 блоков, 8 KB (8192 байт) [8.0 Kib] 0x2000 (8192) boot0
Начало: блок = 16 байт = 8192 (0x2000) Конец: блок = 127, байт = 65024 (0xfe00) Размер: 112 блоков, 56 KB (57344 байт) [48.0 Kib] 0x10000 (65536) free
Начало: блок = 128 байт = 65536 (0x10000) Конец: блок = 32799, байт = 16793088 (0x1003e00) Размер: 32672 блоков, 15,95 MB ( 16336 KB , 16728064 байт ) [16.0 MiB] 0x1004000 (16793600) package
Начало: блок = 32800 байт = 16793600 (0x1004000) Конец: блок = 36895, байт = 18890240 (0x1203e00) Размер: 4096 блоков, 2 MB ( 2048 KB , 2097152 байт ) [2.0 MiB] 0x1204000 (18890752) free
Начало: блок = 36896 байт = 18890752 (0x1204000) Конец: блок = 73727, байт = 37748224 (0x23ffe00) Размер: 36832 блоков, 17,98 MB ( 18416 KB , 18857984 байт ) [18 MiB] 0x2400000 (37748736) bootloader
Начало: блок = 73728 байт = 37748736 (0x2400000) Конец: блок = 139263, байт = 71302656 (0x43ffe00) Размер: 65536 блоков, 32 MB ( 32768 KB , 33554432 байт ) [32.0 MiB ] 0x4400000 (71303168) IMAGEWTY
Начало: блок = 139264 байт = 71303168 (0x4400000) Конец: блок = 1815568, байт = 929570816 (0x37682000) Размер: 1676305 блоков, 818,51 MB ( 838152,5 KB , 858268160 байт ) [850 MiB] Примечания. |