diff --git a/aports/device-samsung-i9070/APKBUILD b/aports/device-samsung-i9070/APKBUILD index 7ee12e43..ee1dcfce 100644 --- a/aports/device-samsung-i9070/APKBUILD +++ b/aports/device-samsung-i9070/APKBUILD @@ -1,6 +1,6 @@ pkgname=device-samsung-i9070 pkgver=1 -pkgrel=8 +pkgrel=9 pkgdesc="Samsung Galaxy S Advance" url="https://github.com/postmarketOS" arch="noarch" @@ -32,7 +32,7 @@ package() { "$pkgdir"/etc/modules-load.d/00-${pkgname}.conf } -sha512sums="f06d387bd0dce14cf532f55a12a7c17a01c9371bfb49b8dcb94d72bd0830ac0dd8a33d82c579d15cbaa33f972bf5ec8c1f983a69263f97ef1172c8b5255dbc90 deviceinfo +sha512sums="7e11955f8db3ce3a2645d8efe162d1a1989ed79373b16384360301d2b84e26fa244696ad420d83cba2ad80a5663967394e3ea6a7d066c7e49d1cbbcb87dda0e3 deviceinfo 098187f6ab56d2542f98f1b5fbcf493431f665a4300db05e859357366e39b02a3d508bfd94c1d1bd7c669261e7ef0d4e1aef1fdbb15541fe34f3f48a6caa247f initfs-hook.sh ffa8ba47539f0b4a931c560811d7842c7f5270631066c270322859c1ef77e63fba09a8462c2533bd6d095056b2c7936c2d4fc4e225f3cff45169f121bf93d8ed 90-android.rules 61e8becbf6fa7c1c6c42e481083f5981ae7af33a48cbc53e817d8ac2c6a8e4f67a54b32ae3b8f5f25f7b412165a849dc93a629110dc47b0d16927bf2a12eb7e1 modules-load.conf" diff --git a/aports/device-samsung-i9070/deviceinfo b/aports/device-samsung-i9070/deviceinfo index 37e97682..e211df74 100644 --- a/aports/device-samsung-i9070/deviceinfo +++ b/aports/device-samsung-i9070/deviceinfo @@ -11,7 +11,7 @@ deviceinfo_dtb="" deviceinfo_modules_initfs="" deviceinfo_external_disk="true" deviceinfo_external_disk_install="true" -deviceinfo_flash_methods="heimdall" +deviceinfo_flash_methods="heimdall-isorec" deviceinfo_arch="armhf" # Splash screen diff --git a/aports/device-samsung-i9100/APKBUILD b/aports/device-samsung-i9100/APKBUILD index 27ce3f8b..9ccb78d4 100644 --- a/aports/device-samsung-i9100/APKBUILD +++ b/aports/device-samsung-i9100/APKBUILD @@ -1,6 +1,6 @@ pkgname=device-samsung-i9100 pkgver=1 -pkgrel=7 +pkgrel=8 pkgdesc="Samsung Galaxy SII" url="https://github.com/postmarketOS" arch="noarch" @@ -23,5 +23,5 @@ package() { "$pkgdir"/etc/udev/rules.d/90-android.rules } -sha512sums="7171091825b13c22fad7ddb14af6a806d67c5d38714d8ce29de529b372d67787636758764d05360cdcdb773aec69505f1459addbc9cc8ba4742c01f3c92d1282 deviceinfo +sha512sums="64f8526a8db3d428e83f826c22f41a589bed29381f3b3160446a401c44196d044dd6f2f895c080b0c45a6ad8c173439bb6127195329c3df677fd8408d4c69f85 deviceinfo 8aead706ddb118a44de7d049f07d10a27e727d17724058d132e4ec4fa73fed29c9ccfe03f02aca459c922ec0fbba24e171fe3c76e33f7c5462631e3dd5506e36 90-android.rules" diff --git a/aports/device-samsung-i9100/deviceinfo b/aports/device-samsung-i9100/deviceinfo index f4785ee5..48411d3d 100644 --- a/aports/device-samsung-i9100/deviceinfo +++ b/aports/device-samsung-i9100/deviceinfo @@ -11,7 +11,7 @@ deviceinfo_dtb="" deviceinfo_modules_initfs="" deviceinfo_external_disk="true" deviceinfo_external_disk_install="true" -deviceinfo_flash_methods="heimdall" +deviceinfo_flash_methods="heimdall-isorec" deviceinfo_arch="armhf" # Splash screen diff --git a/pmb/config/__init__.py b/pmb/config/__init__.py index 9ae00c60..c3aba799 100644 --- a/pmb/config/__init__.py +++ b/pmb/config/__init__.py @@ -255,19 +255,39 @@ flashers = { "--page-size", "$PAGE_SIZE", "-c", "$KERNEL_CMDLINE", "boot", "$BOOT/vmlinuz-$FLAVOR", "$BOOT/initramfs-$FLAVOR"]], - } + }, }, - "heimdall": { + # Some Samsung devices need the initramfs to be baked into the kernel (e.g. + # i9070, i9100). We want the initramfs to be generated after the kernel was + # built, so we put the real initramfs on another partition (e.g. RECOVERY) + # and load it from the initramfs in the kernel. This method is called + # "isorec" (isolated recovery), a term coined by Lanchon. + "heimdall-isorec": { "depends": ["heimdall"], "actions": - { - "list_devices": [["heimdall", "detect"]], - "flash_system": [ - ["heimdall_wait_for_device.sh"], - ["heimdall", "flash", "--SYSTEM", "$IMAGE"]], - "flash_kernel": [["heimdall_flash_kernel.sh", - "$BOOT/initramfs-$FLAVOR", "$PARTITION_INITFS", - "$BOOT/vmlinuz-$FLAVOR", "$PARTITION_KERNEL"]] + { + "list_devices": [["heimdall", "detect"]], + "flash_system": [ + ["heimdall_wait_for_device.sh"], + ["heimdall", "flash", "--SYSTEM", "$IMAGE"]], + "flash_kernel": [["heimdall_flash_kernel.sh", + "$BOOT/initramfs-$FLAVOR", "$PARTITION_INITFS", + "$BOOT/vmlinuz-$FLAVOR", "$PARTITION_KERNEL"]] + }, + }, + # Some Samsung devices need a 'boot.img' file, just like the one generated + # fastboot compatible devices. Example: s7562, n7100 + "heimdall-bootimg": { + "depends": ["heimdall"], + "actions": + { + "list_devices": [["heimdall", "detect"]], + "flash_system": [ + ["heimdall_wait_for_device.sh"], + ["heimdall", "flash", "--SYSTEM", "$IMAGE"]], + "flash_kernel": [ + ["heimdall_wait_for_device.sh"], + ["heimdall", "flash", "--$PARTITION_KERNEL", "$BOOT/boot.img-$FLAVOR"]], }, }, }