Project

General

Profile

Actions

DeviceDocumentationChecklist » History » Revision 12

« Previous | Revision 12/13 (diff) | Next »
Denis 'GNUtoo' Carikli, 08/01/2020 01:32 AM
pit: fix typo in hexdump command


DeviceDocumentationChecklist

Introduction

There is a lot of data and information on supported devices that is scattered around the Repicant wiki, git repositories and even Wikidata. So it's a good idea to have a checklist on what to add.

When we will have migrated to Mediawiki, we could automatically generate part of that list as we will be able to tag pages with Cathegories.

Checklist

Not everyone has all the Replicant supported devices, and at some point you might want to add support for a new device that no one else will have. In that case it's best to at least fill up the following pages as having the devices make it way easier to fill in the information:

In addition if you can send a patch for the data repository to add the PIT if your device has a PIT. Additionally you can just push the commit if you have push access.

It would be a really good idea to try to look if there is some unknown data at the end of the PIT like for the GT-I9300 and the GT-I9305. We found this issue thanks to people that uploaded their PIT in that repository. The issue with unknown data is that it could contain privacy sensitive data. It could also be a legal issue if it contain code but it's way more likely to contain data. Some devices like the GT-I9100 or GT-N5100 don't have that issue.

For instance you can easily check the GT-I9100 with the following command:

hexdump -C PIT/GT-I9100/stock/16G.pit  | tail -n 8

And that gives:

00000710  00 00 00 00 68 69 64 64  65 6e 2e 69 6d 67 00 00  |....hidden.img..|
00000720  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000750  00 00 00 00 01 00 00 00  01 00 00 00 09 00 00 00  |................|
00000760  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000007d0  00 00 00 00 00 00 00 00                           |........|
000007d8

Here we see that the address of last where data is being displayed is 0x00000750, and that it only contains 00. The asterisk and the 0x000007d0 address is a notation that express the fact that between 0x00000760 and 0x000007d0, there are only 00.

If your device (also) has more classical partition tables like GPT or MBR, it is also a good idea to send a patch adding them to this repository as well. With the PIT, GPT and/or MBR anyone can write documentation on the partition table of the device. In the future that documentation could even be generated from that data.

In addition it might be a good idea to boot that device under Replicant and publish the output of the mount command as root. This way we will know for sure which partitions are mounted, which is important for debugging boot issues and checking if there aren't obvious security issues that could happen if partitions that should not be mounted are mounted in the wrong location. We can also find out that information by looking at various fstab files in the Replicant source code but as it is scattered around, it is faster and more reliable to just run the mount command as root to find out how partitions are mounted.

If your device has a modem and has a modem data partition, it is also a good idea to add the list of files and their permissions to the wiki like in the GT-I9300EFSContent page. This enables to restore the file permissions. Note that while publishing the file names and permissions look safe, the file content might contain privacy or security sensitive information like the IMEI.

It might also be a good idea to contribute to ImagesIdentification page that explains how to identify various Replicant releases for specific devices. Earlier Replicant images don't have the Replicant stored anywhere. Because of that users might know they are running Replicant 6.0 but will not know if they run Replicant 6.0 0001, Replicant 6.0 0002 or Replicant 6.0 0003. However these older images export some information like the build date, so it's possible to correlate that information to the precise Replicant release. Helping filling the missing information for the Replicant 6.0 0003 release would help users understand if they are running the latest version or if they can/should upgrade. Older releases than that are less important.

Additionally some projects

Updated by Denis 'GNUtoo' Carikli 4 months ago · 12 revisions