13 652
правки
Изменения
м
→Системные форматы
Rawfs:
* 0x200 bytes (1 block) rawfs superblock** 4 byte magic number: 61 72 61 77 = «araw».** …2 byte checksum, unused and zeroed** files/partitions1 byte count of sections** 25 reserved bytes** 10 section entries:*** 4 byte offset from beginning of disk, in bytesblocks
*** 2 byte size, in blocks
* 0x4600 «init» offset from rawfs header** 32 byte zero-terminated name*** 4 byte flags (0 = nothing, this 1 = writable)*** 4 reserved bytes* sections:** 1 block section header*** 4 byte magic number is written 6 : 66 72 61 77 = "fraw"*** 2 byte checksum, unused and zeroed*** 2 reserved bytes before «init» string *** 4 byte section size in the rawfs header bytes* 0x200 ** 4 byte flags*** 4 byte uid*** 4 byte gid*** 4 byte access mode*** 484 zero bytes in block)* 0x200 * (size from superblock entry) blocks - section headerdata
Rawfs по умолчанию не даёт ничего записывать, но в конфиге ядра есть CONFIG_RAWFS_FS_DISABLE_WRITEPROT — CONFIG_RAWFS_FS_DISABLE_WRITEPROT — если сие включить, то по идее должна разрешить.
Код вторичного загрузчика («avboot») говорит нам о том, что по идее эта фиговина может загружаться не только с rawfs-раздела, а также с обычного FAT (FAT16?), но проверять я это не рискну, если не сделаю себе «UnBrickable» аппаратный мод, позволяющий загрузиться откуда-нибудь ещё, а не только с внутренней флешки.
Magic numbers of archos signature block:
* f0 89 e5 da — da — kernel+initramfs* 5a 4d 66 58 («ZMfX») — — secondary stage bootloader* d5 84 c2 d3 — d3 — / filesystem (androidmerged.squashfs.secure)
Format of rawfs partitions with kernel/initramfs:
** magic number: f0 89 e5 da
** 4 byte size of signature in bits (0x400 = 00 04 00 00 on «init» kernel, 0 = 00 00 00 00 on «custom» kernel).
** digital signature — signature — 0x80 bytes = 0x400 bits. Zeroed on «custom» kernel.
** 00 00 00 00
** 4 byte full size of image (header+kernel+initramfs)