Thank you Sync999 on the guide. It has definitely been a few years since I rooted an Android, so this helped refresh my memory on this whole process with Samsungs.
I did not use Odin though, I used Heimdall 2.0.1 on Gentoo Linux. I leave my steps here since there hasn't been anything recent on XDA about using Heimdall, and I understand the reason why now, after doing this. I'd imagine these steps should also work on Ubuntu, ArchLinux, etc. Also, keep in mind that I rooted a fresh tablet I bought only 2 days prior, so nothing was ever done on it.
Some steps have a (*) with a footnote toward the bottom.
- Do the OP's steps 1 through 7 (*). I suggest downloading all the firmware zip files to their own folder before running the next commands. Leave boot.tar out of this folder for now.
-
Bash:
cd /path/to/the/zip/files/you/downloaded/
unzip *.zip #This will give you .tar files
for i in *.tar.md5; do mv "$i" "${i%%.md5}"; done; unset i #Remove the .md5 extensions
mkdir tmp && cd tmp #temporary folder to get "messy" in
tar -xvf ../BL_*.tar
tar -xvf ../AP_*.tar
tar -xvf ../CSC_*.tar #HOME_*.tar omitted as suggested by OP
-
Bash:
heimdall flash --verbose --boot boot.img --cache cache.img --dtbo dtbo.img --grd_fw grd_fw.img --omr omr.img --optics optics.img --prism prism.img --recovery recovery.img --socko socko.img --super super.img --userdata userdata.img --vbmeta vbmeta.img --vbmeta_system vbmeta_system.img --l_agdsp AGCP_DSP.bin --wcnmodem EXEC_KERNEL_IMAGE.bin --gnssmodem gnssmodem.bin --uboot lk-sign.bin --pm_sys sharkl5pro_cm4.bin --sml sml-sign.bin --teecfg teecfg-sign.bin --trustos tos-sign.bin --splloader u-boot-spl-16k-sign.bin --pit GTA8WIFI_EUR_OPEN.pit #(**)
- The tablet should have rebooted by itself. Do OP's steps 11 through 22, now. (***)
-
Bash:
tar -xvf /path/to/boot.tar #You should still be inside the tmp folder you made. The stock bootloader image is replaced.
-
Bash:
heimdall flash --verbose --boot boot.img --cache cache.img --grd_fw grd_fw.img --omr omr.img --optics optics.img --prism prism.img --uboot lk-sign.bin --pm_sys sharkl5pro_cm4.bin --sml sml-sign.bin --teecfg teecfg-sign.bin --trustos tos-sign.bin --splloader u-boot-spl-16k-sign.bin --pit GTA8WIFI_EUR_OPEN.pit --no-reboot #(****) (*****)
- Do steps 28 and 29.
- Done.
(*)One thing I did stumble on at first was the OEM unlock step. Your tablet needs to be connected to the internet no matter what, for the option to show. Skipping everything else in the Getting Started setup helps speed things up.
(**)As I mentioned, I just bought the tablet. I verified that the .pit file here is the exact same as the one i grabbed from the tablet with heimdall. If you have made changes to your tablet's partitions, then you might need to create your own pit file with heimdall and use that when flashing.
(***) I used the OP's boot.tar. The Magisk method to make your own is pretty straightforward, too.
(****) I decided to do the BL_ and CSC_ files together with boot.img here, and I excluded all the AP_ files.
(*****) I originally did this part with only
--boot boot.img and none of the other flags. I did not properly read OP's step 28 and found myself in a bootloop. That's when I tried this longer flash command and I followed step 28 properly at the same time. You can try with just
--boot boot.img (and do step 28 properly) to see if that works for you.
A couple quirks with heimdall:
I originally tried using heimdall with
--no-reboot --resume at the end of each command, and nothing worked, not even saving my own .pit file. I then decided not to use
--no-reboot --resume in any of the flashing. It helped speed things up, but I recommend doing
--no-reboot (no
--resume) for the last flashing step, so you can get ready for pressing those buttons when the tablet reboots.
Some notes about these Android partitions and anyone on XDA looking for recent heimdall use info:
Android partitions have changed alot over the years and have split into many smaller parts. On top of that, each manufacturer has their own partition setup with some unique names. To know all the partitions you want to use and which file to use them with, it is recommended to first run
heimdall print-pit, and it will tell you what goes where. Basicly when flashing, you add a
-- in front of the partition name, then the filename follows. That's the heimdall syntax and why. I manually constructed each command by looking at the
print-pit reading, so the commands above work for this tablet, but probably won't for most other phones or tablets. I think the lookup of partition names can be scripted in Bash to make things more automated with using heimdall, if someone wants to put the time. It also seems helpful to include
--pit some-file.pit in your flash commands.
Please do not hesitate to point out any mistakes in my instructions above. I wanted to post this the moment I rooted the tablet, but now it's 3 days later lol. I hope I did not miss out anything.