summaryrefslogtreecommitdiffstats
path: root/images/add_adb_root
Commit message (Collapse)AuthorAgeFilesLines
* add_adb_root: bootimages: Add support for xz compressed ramdisksreplicant-6.0-0004-transitionreplicant-6.0-0004-rc6replicant-6.0-0004Denis 'GNUtoo' Carikli2021-10-011-8/+52
| | | | | | | | | | | | | | | | | | | | | | Since Linux 3.0.101 which is used in Replicant 6.0, the kernel size increased a lot. Because of that, in Replicant 11, the recovery initramfs is compressed with xz to fit in the 8MiB RECOVERY partition of the Galaxy SIII (GT-I9300) and Galaxy SIII 4G (GT-I9305). Having the ability to add root to Replicant 11 recovery images helps a lot with the development or configuration of the recovery and install procedure as with this script we can have a shell in the recovery (to look at partitions, retrieve logs, etc) without needing to boot and setup Replicant. This script was also tested a Replicant 11 recovery on a Galaxy SIII (GT-I9300), and once flashed the recovery boots and we can get a shell with 'sudo adb shell'. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: wrap zImage operations in a classDenis 'GNUtoo' Carikli2021-10-011-87/+99
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: get rid of mktemp shell commandsDenis 'GNUtoo' Carikli2021-10-011-7/+3
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: Bootimage: cleanup temporary files after adding adb rootDenis 'GNUtoo' Carikli2021-10-011-0/+5
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: also move files identification code to the BootImage classDenis 'GNUtoo' Carikli2021-10-011-66/+46
| | | | | | | They are not used by the code handling pure zImage KERNEL and RECOVERY images. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: wrap bootimage operations in a classDenis 'GNUtoo' Carikli2021-10-011-30/+35
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: wrap ramdisk operations in a classDenis 'GNUtoo' Carikli2021-10-011-23/+40
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: fix lines over 80 characters and a whitespace issueDenis 'GNUtoo' Carikli2021-10-011-3/+3
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: switch from FSO's unbootimg to abootimgDenis 'GNUtoo' Carikli2021-10-011-15/+19
| | | | | | | | | | | | | | | | | | | | | | While abootimg git[1] has no new commits since 2021, FSO's unbootimg is not maintained at all as work on the Freesmartphone.org has stopped. As abootimg is used by diffoscope and it is pakcaged by Debian and Guix, so it's probably better to use to abootimg since more people will more likely already have it in the distribution they use and since it's a dependency of diffoscope we are more likely tools with the same command line interface in the future than the interface of FSO's unbootimg. I added a package for abootimg 6.0 in Parabola and Aur in order to make it easier for Parabola users to transition from fso-unbootimg to abootimg. [1]https://github.com/ggrandou/abootimg Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: Fix tests with bootimagesDenis 'GNUtoo' Carikli2021-09-303-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without that fix, running 'make test-recovery-i9300' twice produces two different images. With diffoscope we can see that the only differences between the two images are the gzip timestamps of the initramfs and the bootimage ID: --- tests/recovery-i9300-with-root.img.1 +++ tests/recovery-i9300-with-root.img ├── abootimg -i {} │ @@ -13,9 +13,9 @@ │ * load addresses: │ kernel: 0x40008000 │ ramdisk: 0x41000000 │ tags: 0x40000100 │ │ * cmdline = console=ttySAC2,115200 │ │ -* id = 0xbdaf2901 0x9c9b846c 0x229caf97 0x9a73b1e6 0x1403c772 0x00000000 0x00000000 0x00000000 │ +* id = 0x7551c944 0x85dcc898 0xbce08232 0x6de196b1 0x39ac56b5 0x00000000 0x00000000 0x00000000 ├── initrd.img │ ├── filetype from file(1) │ │ @@ -1 +1 @@ │ │ -gzip compressed data, was "ramdisk.cpio", last modified: Thu Sep 30 18:02:46 2021, from Unix │ │ +gzip compressed data, was "ramdisk.cpio", last modified: Thu Sep 30 18:02:53 2021, from Unix As in the current mkbootimg python implementation, the ID is generated from the checksum of various components of the image, just fixing the gzip command fixes the tests. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* add_adb_root: Retrieve ID from bootimagesDenis 'GNUtoo' Carikli2021-09-301-0/+3
| | | | Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
* Add crude script to add root to boot.imgDenis 'GNUtoo' Carikli2021-07-087-0/+1085
This works but it's currently too fragile: - For the zImages, it relies on the compressed image being smaller, if not we need to at least append the size of the compressed Image to the zImage - It doesn't autodetect much, for instance we need to autodetect the compression type (xz, lzma, gzip, etc). - The bootimages are not reproducibles (probably because a random ID is added to the image). This prevents adding some easy testing where we could automatically download some Replicant 6 images and add root to them and compare the result with some checksums. The source code also has additional TODOs inside it. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>